论文阅读之医学图像分割综述
Deep Semantic Segmentation of Natural and Medical Images: A Review
时间:2019
语义分割完成的是对图像中每一个像素点的密集预测任务,是用于场景分析、医学图像分析的重要一环。本文将用于医学图像分割的框架(部分自然图像分割)从以下方面:模型改进、数据生成、损失函数、网络结构、序列模型、弱监督模型、多任务模型等6大主题进行综述。每一个主题下面都总结了研究进展及局限性,为未来的语义分割提供参考方向。
深度学习在许多科学领域成绩斐然,目前的研究焦点之一则是用于医学图像分析,尤其是将深度学习框架应用于医学图像分割任务。因为图像分割是场景理解、医学图像分析中至关重要的一步,比如进行影像介入治疗、X光、MRI、CT、PET等的图像分析。一些学者也聚焦于深层网络中的梯度消失/爆炸、模型压缩、损失函数优化等问题。
本篇综述则主要:
总结了目前自然图像及医学图像分割领域的经典框架,包括2D、3D图像的分割。
并将研究进展归纳为以下6个主题:模型上的改进、损失函数的优化、数据合成、弱监督模型、序列模型以及多任务模型
每一个主题下分析总结了重点的研究方向。
自然图像分割和医学图像分割均属图像语义分割范畴,但医学图像分割通常聚焦于具有特殊语义信息的器官、组织(血管、心室)等进行分割;另一方面也没有自然图像分割类别多,大多读像素进行二分类。
本章主要总结用于自然图像和医学图像的深度学习网络框架以及网络架构的改进(深度、宽度、连接方式及拓扑结构)等。
Part A 全卷积神经网络
全卷积神经网络与2015年提出,将最后的全连接层由conv层取代,通过上采样操作输出的不再是概率分布而是heatmap,这样就可以计算每一个像素点的输出。FCN架构如Fig2所示。
使用heatmap就可以完成逐像素点的密集预测任务,而为了更好地利用图像的空间信息、上下文信息FCN还融合了前层提取的特征。
** Part B 编码-解码分割网络**
编码器-解码器的分割以SegNet、UNet、V-Net等为代表,其中编码网络用于特征的提取,通常是多层conv+BN+ReLU的结构,解码网络用于将encoder提取到的低分辨率的图像特征扩展到和输入同样分辨率从而用于像素级别的分类。SegNet的创新之处就是通过解码部分的上采样完成特征分辨率的恢复。随后Ronneberger等人提出了由收缩路径(contractingpath)和扩展路径(expanding path)构成的UNet框架。
在编解码网络中还增加了跃层连接(skip connections)用于信息流动和梯度的传递。类似的V-Net进一步增加了残差连接并成功用于3D图像的分割;还有将dense密集连接引入UNet提出的提拉米苏框架(TiramisuNet),可以看到原来的卷积操作替换成了DenseBlock,由于密集连接的级联操作使得在contracting path学习到更多的feature map.
基于编解码分割网络的一些其他改进/变体还有:如DeepLabV3、使用空间金字塔进行特征融合、以及空洞卷积等。
下面展示的依次是:V-Net,Tiramisu。
Part C 如何降低网络的计算复杂度
在降低网络复杂度方面做得探索有:通过张量分解、通道剪枝、网络剪枝或者网络连接稀疏化等方式简化网络结构以及NAS(network architecture search).
Part D 注意力机制分割网络
注意力机制可以理解为借助学习到的特征信息挑选出输入图像中最显著的部分。比如SE Module(squeeze&excitation network)通过global avg-pooling将特征图谱压缩成一个通道,用于突出原图最显著的部分,后续还有DA-Net对空间信息和通道信息同时增加注意力机制。
Part E 将GAN用于图像分割
主要用GAN判别网络来判断输入图像是来自于原图还是分割后的图像。
分割框架小结:目前主流的语义分割模型是基于编解码结构的U-Net系列,相关研究又借助空洞卷积、空间金字塔提升U-Net性能。
本章将重点介绍用于2D/3D医学图像的分割框架
Part A 模型压缩
许多医学图像分割任务有实时性的要求,为此需要对模型进行精简。Wang等人使用网络架构搜索(NAS)优化UNet用于3D图像分割,还有用空洞卷积在降低参量的同时提升了分割性能,以及对网络的量化进行探索。
Part B 编解码分割框架
Drozdal等人在将图片送入分割网络前对图片进行归一化处理;Gu等人则是尝试用空洞卷积块保留图像的上下分信息用于提升分割效果;Zhou等人的UNet++架构则是优化了skip connection的结构用于低计量的CT图像分割
Part C 注意力机制
主要有通过空洞卷积、多级注意力机制等将注意力机制用于医学图像分割。
Part D GAN
生成对抗网络在医学图像分割领域有用于胰腺的CT图分割、视网膜图像分割以及脑肿瘤的MRI分割
Part E 循环神经网络
循环神经网络RNN主要用来处理序列模型,比如LSTM长短时记忆网络通过将上一时间步的状态作为当前时间步输入的一部分,有效保证了梯度的流动。而将RNN用于医学图像分割主要是考虑到医学图像具有一定的时间依赖性(可被认为是时间序列?)比如将RNN的自循环机制结合FCN可以保留医学图像时间和空间上的信息用于分割;还有用RNN与CNN结合,主要用来处理包含时间意义的3D、4D医学图像。
本章总结为了提升分割网络的准确率、分割速度等对损失函数进行的优化。
整理了一下,损失主要基于两方面:一是基于交叉熵损失及优化;一是基于重叠度的损失计算。
Part A 交叉熵损失函数
分割网络最常用的损失函数就是计算逐像素的交叉熵,将每一点的预测向量同真值向量计算损失。常见的分割是做一个二分类,因此交叉熵表述如下:
对于多类分割,交叉熵表述为:
加权交叉熵损失函数
计算交叉熵损失时每一个像素赋予同等权重,也就是学习时对图像中每一个像素给予同样的重视程度。但当像素样本不均衡时就会出问题,(比如背景与主体像素很不均衡,背景占图像很大一部分;亦或是不同分割图像比例失调),为了减少样本不均衡带来的问题,Long等人提出了加权交叉熵损失函数(WCE),表述如下:
权重参数beta一般大于1,这样可以抑制FN样本的影响;抑制假阳性的话beta一般小于1.
Focal Loss
Focal Loss主要是为了解决样本不均衡的问题,从而让网络更加关注难学习的样本。这里参考了Focal Loss的相关资料。
Focal Loss
Part B 基于重叠度的损失计算
Dice系数
Dice系数也是图像分割常用评价指标,主要度量分割图谱与GT图的相似性,实际上就是类似于计算IoU。
这里需要学习一下混淆矩阵(Confusion Matrix)的相关知识。
Tversky Loss
Tversky 系数是Dice系数的一种推广,beta的存在可以权衡预测值与真实标签之间的比重关系,当二者一致时就简化为了Dice系数。
因此Tversky损失主要处理当样本不均衡时FP,FN所占的比重。
指数对数Dice损失
ong提出使用Dice损失的指数对数形式以及交叉熵的对数形式,主要解决Dice损失对小目标分割计算不佳的问题。(MICCAI 2019)
因为对于较小目标一旦分割错误就会引起dice系数的大幅下降。因此Wong等人使用Dicr损失的指数对数形式和交叉熵损失的对数形式,并且分别赋予权重系数。对于出现频率较高的类别基于较低权重,而对出现频率较小的类别赋予更高权重,这样就有效解决了小目标分割的问题。
Boundry Loss
Boundry Loss依旧是针对样本不均衡的问题提出的损失函数优化,发表于MIDL2019。因为不管是前文提到的Dice系数还是交叉熵损失都对样本比例十分敏感,如果背景占绝大部分,训练出来的网络也会侧重于背景。Boundry Loss的目标就是最小化分割边界(label/GT)之间的距离。
将积分方式计算label与GT两条边界之间的距离作为LossFunction.并且该文的实验显示,boundry loss与Dice Loss组合使用在样本不均衡的数据集上效果最好。
Conservative Loss
Conservative Loss是为了解决域迁移问题提出的,对极端个例施加惩罚,鼓励常规样本的学习。具体表示为:
其他的也有优化:分割矩阵、对损失函数加权的。
这也能看出,对于图像尤其是医学图像分割任务而言,样本不均衡时限制模型分割性能亟待解决的问题之一。下面这幅图展示了不同Loss function分割大小物体的性能。同时也可以看出基于重叠的损失函数系列在分割小物体的波动性更大,意味着优化的不稳定性以交叉熵损失为主题辅助使用overlap作为损失会使得训练更稳定。
交叉熵损失已广泛应用于各类分割任务中,但Miletari学者发现对于分割对象占比较小的情况下基于Dice系数的损失函数训练效果更好。
随后也有学者(Li)为交叉熵损失函数增加正则化项;同时考虑Length信息和region信息组成损失函数;计算分割图与GT图的豪斯多夫空间距离(Hausdorff distance)等。
这一部分由于数学知识欠缺,没有仔细阅读,后续看明白了再慢慢补充。
众所周知,神经网络的训练离不开大量训练数据的支持,从而防止过拟合等问题,本章则聚焦于如何进行数据扩增来解决训练数据有限的问题。除了常规的图像几何变换、色彩增强,还有很重要的一块就是数据生成,直接产生新的训练数据而不是修修改改原来的数据。这就离不开生成对抗网络(GAN)的参与了。
Chartsias使用CGAN从心室CT图生成的MR图用于分割网络的训练,并且试验了仅适用生成图像用于训练也没有带来分割精度的大幅降低;Zhang等人则是基于GAN设计了一个框架可以完成MR与CT图之间的转换;EssNet这一框架可以同时完成MR到CT图的生成以及分割;也有将CGAN用于皮肤损伤的数据增强同样提升了分割精度;其余的还要用GAN生成X光图像、MRI图像以及多任务分割。
强监督:数据带有人工标注信息,如label,part annotations & bounding-boxes
弱监督:数据使用仅含label级别的标注信息
医学图像本来就十分稀缺,尤其是大型数据集。而十分精细的标注更加费时费力。
弱监督的应用背景是:获取大规模的像素级别标注的数据集费时费力且人工成本高昂,相比较获取无标签或者只提供label类别标签的图像较为容易。因此使用无监督或弱监督的方式完成语义分割是较为有前景的一种途径。
Kim:利用SegNet中提出的unpooling操作以及转置卷积学到的尺度不变的特征用于PASCAL VOC、Chest-X ray的分割;Lee采用的是随机dropout学到的feature以及通过多张locationmap生成一张locationmap,这样可以利用空间信息,并在PASCAL VOC上进行了测试。
Part A 弱监督模型用于医学图像分割
医学图像由于标注信息难以获取,因此弱监督模型比强监督更具有实际应用意义。
Kervadec仅使用标签级别的心脏图像,对Loss函数进行了修改-在Loss中增加了微分部分,最终取得了和强监督接近的分割结果;
Afshari则是只使用标注了bbox的PET图像在FCN架构中用于分割出损伤部位,同样改进了Loss函数(Mumford-Shah function
Mirikharaji:学习的是空间信息的自适应权重图解决像素级别标注的空间变化,并成功用于皮肤损伤的分割。
Taghanaki:只使用图像级别的标注学习mask图与输入图像的差别
Peng:使用ADMM方法训练CNN,为CNN施加多个约束
Perone:则使用半监督的Teacher_Student模式将从MRI数据中学习到的知识用于另一个小型数据集的分割中;另一个工作则是使用无监督的域迁移,完成的图像分割。
以上表明基于弱监督的分割算法用于医学图像分割更具有泛化性及实际应用价值,及时使用少量无标签数据也可实现分割目标。
多任务模型同时完成多个任务的学习,而且任务之间的相似与联系可以互相促进整个模型的精度、性能等。
Bischke:提出级联的多任务损失函数,可以保留图像边缘信息,最终在遥感图像上取得了SOTA
Chaichulee:扩展了VGG-16网络结构,引入了global avg-pooling(检测patient)+FC用于皮肤损伤的分割,网络具有很强的鲁棒性(光照、肤色、姿态)。
He:使用了UNet的编解码结构同时完成分割胸腔CT和切片的分类任务。
Ke:设计了3任务的UNet模型并在某事物数据集进行了测试,解决:检测连接错误的物体、检测物体类别、读每一个实体进行像素级别的标注
He:提出Mask RCNN,即在Faster-RCNN基础上增加新的分支完成给检测到的物体打标+标注bbox。随后Mask RCNN广泛应用于多任务分割,如检测图像伪影、给手术机器人提供分割和检测等。
医学图像分割的多任务研究进展
Mask RCNN也广泛用于医学图像分析,如完成细胞图像的自动分割、追踪,显微图像下细胞核的分割、口腔疾病(如溃疡)的检测和分割、胸腔X光图像中肋骨的分割、3D肺结节检测和分割等任务中。
Table1总结了主流的分割框架在PASCAL VOC数据集上的性能对比,评价指标为IoU。可以看到随着分割框架的改进(从FCN到DeepLabV3)分割性能逐渐提升,DeepLabV3结合空洞卷积和ASPP取得了表中最佳的SOTA。
Section X 总结与讨论
Part A 医学图像分割难点
图像分割应用于医学图像分析领域存在的难点有:
(1)医学图像通常比自然图像具有更高的分辨率,因此目前GPU无法处理全片,常需要以patch的形式进行,这就限制了网络对空间特征的学习
(2)医学图像由于其采集设备的原因,具有独特的图像噪声类型,这就限制了分割模型的泛化性应用
(3)医学图像,尤其是已标注数据的稀缺性。这也显示出半监督、无监督模型的必要性
(4)与自然图像相比,将一些专业知识嵌入到医学图像分割框架中往往更有助于图像的分割
Part B 未来的探索方向
网络结构
目前性能最佳的分割网络是以编解码结构辅助长短链接的这种网络结构。skip connection的存在有助于信息的流动、防止梯度消失,对分割和分类都有提升;编解码结构可以学习到更加丰富的特征表达,但也增加了计算成本,部分辨别力不强的特征也会不断传递下去,未来的优化方向之一就是如何优化skip connection传递的数据;另一方面则有通过空洞卷积、空间金字塔改善每个cell的性能。是否能设计出提取到新的特征层也是潜在的一个方向
序列模型
主要用于3D医学图像的分割,可以将其视为具有时间维度的序列模型。将3D信息作为一个整体处理可以捕获到更多的几何特征信息,因此未来可以就3D图像按序列模型还是立体模型来处理也是值得探索的一个方向
损失函数
损失函数的优化在前文已叙述过。如果需要进行改进的话,可以在交叉熵损失函数或重叠度损失函数的基础上,加入由先验知识指导的正则化项;另一个可尝试的方向是仿照NAS进行自动损失函数的设计。
其他探索方向
(1)结合先验知识完成像素级别的场景理解
(2)由于医学图像标准、种类不一、还有独特的噪声机制,加之伦理、道德方面的限制和约束,使得缺少一致、规范的评判与对比
(3)制备大规模开源的2D/3D医学分割图像数据集
(4)探索增强学习在语义分割方面的应用
(5)探究导致模型预测中假阳性等出现的原因
(6)探究医学图像分割的弱监督模型以及使用图像级别标注的少样本学习方法
个人summary:
通过这篇review了解了医学图像分割主要的几个研究点
发现对loss function部分还需要进一步加强基础知识
未来方向中需要进一步了解NAS和GAN的部分