CVPR 综合使用多形态核磁共振数据的3D生物医学图像分割方法 2017精彩论文解读 (cvprw)
雷锋网 AI 科技评论按:计算机视觉盛会 CVPR 2017已经结束了,雷锋网 AI 科技评论带来的多篇大会现场演讲及收录论文的报道相信也让读者们对今年的 CVPR 有了一些直观的感受。
相对于 CVPR 2017收录的共783篇论文,即便雷锋网(公众号:雷锋网)AI 科技评论近期挑选报道的获奖论文、业界大公司论文等等是具有一定特色和代表性的,也仍然只是沧海一粟,其余的收录论文中仍有很大的价值等待我们去挖掘,生物医学图像、3D视觉、运动追踪、场景理解、视频分析等方面都有许多新颖的研究成果。
所以我们继续邀请了宜远智能的刘凯博士对生物医学图像方面的多篇论文进行解读,延续之前最佳论文直播讲解活动,此次是第2篇。
刘凯博士是宜远智能的总裁兼联合创始人,有着香港浸会大学的博士学位,曾任联想(香港)主管研究员、腾讯高级工程师。半个月前宜远智能的团队刚刚在阿里举办的天池 AI 医疗大赛上从全球2887支参赛队伍中脱颖而出取得了第二名的优异成绩。
在 8 月 1 日的直播分享中,刘凯博士为大家解读了「Joint Sequence Learning and Cross-Modality Convolution for 3D Biomedical Segmentation」(用于三维生物医学分割的合并序列学习和多形态卷积)这篇论文,它主要解决了一个三维生物医学图像分割中重要问题:如何综合使用多种形态的 MRI 数据进行区域分割。以下为当天分享的内容总结。
刘凯博士:大家好,我是深圳市宜远智能科技有限公司的刘凯,我们的官网是 yiyuan.ai。这里也有我的微博ID,我经常会发一些跟人工智能相关的资料和文章,大家可以关注一下。今天讲的也是关于生物医学图像的应用,是结合序列学习和交叉模态卷积的3D生物医学图像分割。其实在医学图像方面,分割,英文是segmentation,是非常重要的工具或者应用。
我先讲一下这篇文章的主要内容,它讲的是对核磁共振图像中的脑部肿瘤部位进行切割的例子。右边的图给出来的就是什么叫“对肿瘤部位进行切割”。我们通过MRI拍出来图片,如果有一些跟正常的大脑皮层细胞不太一样的部位,这些部位就很有可能是有脑部肿瘤,所以要把它切出来,切出来之后再做相应的研究。比如这三个例子可以看到大脑中有一些病变的位置,要达到的就是最右边一列的样子,把它们切出来。这个工作其实不算太容易,主要有几个方面的原因。
首先比较难定位到哪些是肿瘤部位,因为肿瘤部位的形状千奇百怪,没有固定的形状,不像人脸识别的时候,每个人的五官都差不多,位置区别也不会很大。比如说神经胶质瘤和胶质母细胞瘤的形状两种就就很不同,就是不同的肿瘤形状也不一样。然后肿瘤的分布很广泛,可能分布在大脑的任何区域,那跟人脸也不一样了,就跟刚才我说一样。
那怎么去实现、怎么去解决这些难点呢,这篇文章提出来一个思路就是交叉形态卷积的方法做一个 encoder-decoder 的网络结构,然后同时用LSTM对2D的切片序列建模。
这里有个概念,因为MRI也是跟CT一样断层扫描的过程,就是它一层一层,一层扫出来的就是一个2D的图片,然后多层累计起来就是3D的,但是其实切割是要切割出3D的脑部肿瘤位置,这样就需要把2D的变成3D的,把2D的切片之间的关系通过LSTM描述出来,最后把多模态卷积和LSTM网络结合在一起,达到3D切割。
刚才提到多模态的概念,就是因为这个是MRI特有的特征,因为CT里面并没有。这里有四个模态,就是通过四种方式扫描脑部得到MRI数据,这是这里列出来的四个的名字,我们先不用管它这四个具体是什么意思,只是知道它有四种模态就行了,这四种模态对最终切割的结果是有直接的作用的。现在大多数的3D图像切割方法只是用了一个模态,或者把多个模态分别来做,然后再堆积起来。
这个方法的framework大概是这样的,从左到右看。
这就是一个大体的流程,然后对具体对每一个细节的过程,我再详细介绍一下。
第一个模块就是multi-modal的encoder,这里的网络结构最主要的几个方面是用四个卷积核,通过batch-normalization,然后加一个非线性变换,在后面有四个最大池化层。这就是先简单介绍一下,如果要详细了解这个网络结构是怎么设计的,可以去读一下这篇论文。
另外一个嗯比较重要的部分就是多模态交叉卷积。四个模态的数据进入到这个卷积网络之后,他就会把每一个模态下面的cross在一起,然后通过一个三维的卷积,卷积的大小里有个C×4,就是因为他每个channel里面有 c 个slice,就是说它是一个立体结构了,一个长宽是H、W,高是C的这种。四个模态弄到一起就是C×4×H×W,有大小。
然后在这里,是用4×1×1的一个卷积核,做卷积之后得到每一层的切割出来的特征。切割出来之后,然后就进入了后面的convolution LSTM。
这个convolution LSTM跟普通的LSTM有一个区别,就是把原来的矩阵相乘替换为一个卷积操作,就是普通的乘法变成卷积层,这样它就能够在把之前状态的空间信息保留着。其实它的目的就是,卷积LSTM会描述一个2D切割边缘的趋势,比如说这一张中切片它的形态是这样的,然后到下一张它会有一个轻微的变化,要把这种变化描述出来。
因为刚开始有一个图像的encoder,还是要把它解析出来。最后就有一个soft-max的分类,也是一个两分类的,就是每一个像素是前景还是背景的概率。是前景的话,就是我们要切割出来的部位;如果是背景的话就不是我们感兴趣的地方。
它的实验部分做了两个,第一个跟医学没有关系,这个通用的场景就不讲了。我讲一下跟医学相关的那个,他有一个公开的脑部MRI的数据,就叫BRATS-2015。
他切的是神经胶质瘤这个疾病,它的严重程度分为五种,0 就是非肿留,1 是脑细胞坏死,2 是水肿,3 是非增强性肿瘤,4 是增强性肿瘤,数字从低到高,它严重程度会越来越高。临床上是从三种不同的方面去评价切分的效果:
最右边是一个图例,看这几种方法哪一个切的好一些。第二列是就是ground truth,第三列是U-Net,是一个提的比较早、比较通用的一个benchmark的方法,来做数据切割;然后第四列的CMC,cross-modality convolution,这个也是这篇文章提出来的;然后CMC+convolution LSTM,就是描述了切片与切片之间的dependency的算法。可以看出来,最后一个跟ground truth是比较接近的。
这里有从三个方面看的评价结果,三个指标。其实都是算它切割得跟ground truth重合的部分的比例,第一种“Dice”就是它的 overlap 部分,除以他们两个面积交集和并集的一个平均,这里的P就是predict出来的区域,然后T是ground truth的区域。PPV是positive predicted value,那是他的交集部分除以预测的区域;sensitivity就是交集的面积除以ground truth区域。这里也是跟U-Net比较了一下。
我下面补充一下这个U-Net的概念,如果没有医学图像切割的一些知识背景的话,可能不太理解它。其实U-Net就是一个网络结构,参考文献在最下面。这种网络结构,就是画出来长得字母U,然后所以叫yU-Net。
它之所以长成这样,是因为这个图像进来,最左边可能大家看的不是很清楚,图像里其实是一个一个的细胞,它们都连在一起,但是边缘是有一些线割开的。网络的目标是把这些细胞一个一个地切开,就像最右边的这种情况。网络刚开始的时候用的卷积就先是3×3的卷积,然后加上ReLu这个非线性变换,然后一步一步做下去。其实这个网络结构还是挺深的,如果有兴趣可以去看一下这篇文章。其实这个算法对大物体小物体的切割都是做得还不错的,就是因为这种U结构的,先对大物体切割,然后再去对小物体切割。
这里面还有一些trick,就是在BRATS-2015这个数据上来,因为这个数据量其实不大,好像正例一共只有60多个,负例两百多个。这里也出现了一个数据不均衡的问题,它是用medIan frequency平衡法,这个很简单,这个算式里有一个除法,就是分子式median frequency,就是每一个类的平均frequency,除以这一类总的出现的次数。如果出现次数越多,那它这个权重就会越小,就是赋了一个比较小的权重,就在 loss 函数里对这一类的数据设定了一个权重,相当于下采样的过程。
在这个学习过程中使用了two-stage training,第一个阶段是只采用了包含肿瘤的切片,然后用median frequency减少大类的权重。第二阶段是降低学习率,然后把median frequency这种限制去掉,它的分布就是接近你的真实的分布,因为如果使用median frequency,它的分布是会变的,但是真实数据中那个大类的确实会存在,还是要去描述这个问题,先保证了这个模型第一部分不收敛到大类这个问题之后,然后第二个阶段去再去慢慢的学习真实的分布。
在第一阶段的时候避免采样到空的序列,就是先去采样了有肿瘤问题的,然后再在训练LSTM的时候也用了正交初始化的方法处理梯度消失的问题。这种方法其实都是可以用的,不一定非得这个问题上去用。
我读到最后就发现一个不太好的一个地方,就是他在前面后面都提到了这个KU-Net,它说了跟它的方法模型是最相关的,其实这个KU-Net就是用U-Net+RNN,他用RNN也是去描述2D切片之间的dependency。
这篇论文里方法的不同就是,它用的交叉模态的方法去代替U-Net的那一部分,然后用LSTM去代替RNN那一部分。从直观上来讲应该会比这个KU-Net效果要好,但是他说因为没有公开代码不进行实验对比,我觉得这个理由不是特别充分。其实写文章的时候既然他都给了U-Net的比较了,然后这种跟他更相关的、而且思路上也挺像的,应该更要比较一下才对。
(先上一次论文讲解中的问题开始)
Q:Sequntial learning的时候有没有用move-and-average,就是有没有移动平移法
Q:关于医学图像数据不平衡的问题
(等待问题过程中顺便插播一则公司介绍)
我们宜远智能位于深圳,也是一个初创公司,主要是做人工智能在医学图像处理上的应用,然后做一些基于医学图像的辅助诊断,大家有兴趣的话可以去我们官网看一下。我们现在也在招人,如果有兴趣的话可以在微博里面艾特我或者发邮件给我,邮箱地址是 kennethkliu@foxmail.com。加我的微信也可以,但是微信的话我也不会发太多东西。微信号是kenneth_liukai。
Q:这个问题有人问,我重复一下。也是数据不平衡的问题,当positive和negative不平衡的时候可以做hardnegativemining。那么假如第一次分类有部分数据分错了,那么增强的权重是重采样权重还是梯度的权重?
Q:除了重采样,还有其他办法解决数据不平衡的问题吗?
Q:如果数据图像label有时标错的比较厉害,标错的比例甚至达到1/3,有没有什么数据清洗的办法?
雷锋网 AI 科技评论整理。感谢刘凯老师带来的分享。
ICML 2017最佳论文:为什么你改了一个参数,模型预测率突然提高了|分享总结
CVPR 2017精彩论文解读:显著降低模型训练成本的主动增量学习 | 分享总结
原创文章,未经授权禁止转载。详情见 转载须知 。