基于深度学习的医学图像分割方法研究进展
2024-01-09李增辉
李增辉,王 伟
(1.上海理工大学 健康科学与工程学院,上海 200093;2.海军特色医学中心,上海 200433)
医学图像分割是根据医学图像的某种相似特征(例如纹理、形状、位置或频谱特征等)将医学图像划分为若干个互不相交的“连通”区域的过程。相关特征在同一区域表现出一致性或相似性,在不同区域表现明显不同。图像分割技术在临床的应用具有重大意义,由于医学图像能够较大限度地向医生提供病人信息[1],对病变部位图像的准确分割可以提高医生诊断能力,及时对病人治疗,降低病人伤亡。传统的分割方法包括基于阈值的分割方法[2]、基于边缘的分割方法(串行边缘检测法和并行边缘检测法[3])、基于区域的分割方法(区域生长法、分裂合并法[4])和基于聚类或图论的分割方法等,其主要的缺点为在分割的过程中引入噪声,且易产生欠分割或过分割的结果。
随着计算机技术的发展,卷积神经网络(Convolutional Neural Network,CNN)[5-7]在医学图像分割领域中得到了广泛应用,表现出较佳的效果。图像分割方法可被分为3大类:1)使用语义标签对像素进行分类(语义分割[8]);2)对单个对象进行分区(实例分割);3)结合语义分割和实例分割的分割技术(全景分割)。传统方法和基于深度学习的分割方法对肺部CT(Computed Tomography)图像的肺器官分割实例如图1所示。
(a) (b) (c)图1 肺部分割结果对比(a)肺部CT图片 (b)传统方法 (c)基于深度学习的方法Figure 1. Comparison of lung segmentation results(a)Lung CT image (b)Traditional method (c)Deep learning-based method
1 基于深度学习的医学图像分割算法
传统图像分割方法通过分析待分割图像前景与背景之间的差异,从图像的灰度、对比度和纹理等信息中设计特征来进行手工分割操作,丢失了大量细节信息。随着机器学习的兴起,纯手工提取特征的分割方法成为当时的主流方法,但设计和提取特征的复杂性等局限性限制了机器学习技术在分割领域的进一步发展。深度学习是机器学习的子领域,能充分利用图像丰富的内在信息,逐渐成为分割领域的首选技术。按照基于深度学习的医学图像分割算法的发展历程以及采用的网络架构,将其划分为基于全卷积网络(Fully Convolutional Networks,FCN)、基于U-Net及其变体网络等分割方法。
1.1 全卷积神经网络
文献[8]提出了全卷积神经网络(FCN),其基本架构为输入、卷积、池化和输出。FCN利用卷积层替代了经典卷积神经网络CNN末尾的全连接层,整个网络主要包括卷积层和池化层。FCN输入图像的尺寸是任意大小,得到的输出图像跟原图像大小保持一致。网络中的跳跃连接结构有助于恢复网络输出的全空间分辨率,将来自较深、较粗层的语义信息与来自较浅、较细层的外观信息结合起来达到产生详细、准确分割的目的,如图2所示。
与CNN网络相比,FCN可以输入任意尺寸的图像,避免了由使用像素块带来的重复存储和计算卷积问题。但该方法的缺点是:1)网络的训练比较麻烦且得到的分割结果精度不够,对图像的内在细节不够敏感;2)未考虑全局上下文信息,忽视了各像素之间的关系,缺乏空间一致性。
1.2 DeepLab系列
文献[9]提出DeepLab-V1网络,将FCN与条件随机场(Conditional Random Field,CRF)相结合,通过在FCN之后串联一个完全连接的CRF模型,解决了FCN分割精度不准确的缺点。CRF对来自FCN的粗分割结果图进行处理,通过在图中的每个像素点均构建一个CRF模型来得到更为精准的图像分割结果。
同时,通过在DeepLab-V1中加入带孔算法来扩大感受野,由感受野的增大来获取图像的更多上下文信息,同时也可以避免FCN在卷积和池化过程中造成的特征图分辨率下降的问题。另外,因DeepLab-V1中添加了空洞卷积,运行速度得到较大提高。DeepLab-V1的分割流程如图3示。
与DeepLab-V1的网络结构类似,DeepLab-V2同样使用了CRF模型和带孔算法。同时,DeepLab-V2使用了空洞空间卷积池化金字塔模块(Atrous Spatial Pyramid Pooling,ASPP),通过采用不同采样率的空洞卷积对特征图进行并行采样,并对输出结果进行融合,以此获得更多的空间信息。DeepLab-V2通过将传统网络的VGG-16(Visual Geometry Group-16)替换为ResNet(Residual Network)模块,进一步提升了分割效果。
DeepLab-V3[10]重点改进了模型中空洞卷积的使用方式,提出将级联模块采样率逐步翻倍,扩充DeepLab-V2模型中的ASPP模块,提升了模型的性能。该模型在PASCAL VOC 2012数据集上获得的分割结果优于之前的DeepLab模型。
1.3 基于U-Net及其变体的算法
1.3.1 U-Net
U-Net网络[11]是FCN网络的改进网络。与FCN相同,U-Net没有全连接层,主要结构为全连接层和池化层,其网络结构由编码器和解码器组成。网络结构如图4所示,网络主要由左边编码器部分的下采样、右边的上采样和中间的跳跃连接组成。编码器负责对输入图像进行逐层提取特征,解码器负责逐层恢复图像信息。中间的跳跃连接融合了编码器结构中的底层信息与解码器结构中的高层信息,以达到提高分割精度的目的。
图4 U-Net结构Figure 4.The structure of U-Net
1.3.2 U-Net++
文献[12]在U-Net的基础上做了一些改进,提出了U-Net++。改进之处为在U-Net网络结构中间的跳跃连接部分引入了深度监督的思想,即将各层网络的输出进行连接并作为最终输出。改进之后的网络结构如图5所示。
图5 U-Net++结构Figure 5.The structure of U-Net++
图5中“×”为卷积操作。U-Net网络中的跳跃连接采用直接串联方式,直接把编码器的底层信息与解码器的高层信息进行结合,该方式未充分利用全局上下文信息,造成分割精度的损失。U-Net++使用一种密集连接的跳跃连接方式,网络可以对来自不同层的特征进行叠加,转换了编码器和解码器子网的连通性,故可减少编码器和解码器子网络特征映射之间的语义差异。
1.3.3 U-Net3+
由于U-Net++未从全尺度中提取出足够的信息,具有较大改进空间。文献[13]提出了U-Net3+,网络结构如图6所示。U-Net3+使用全尺度跳跃连接和深度监督来改善这些问题。全尺度跳跃连接将来自不同尺度特征的低级细节与高级语义结合起来,深度监督从全面聚合的特征映射中学习特征表示。文献[13]还提出了一种混合损失函数,设计了一个分类引导模块,用来增强器官边界,减少非器官图像的过分割,获得更准确的分割结果。U-Net3+在不同规模的器官分割中不仅减少了网络参数,提高了计算效率,分割性能也得到了较大提升。
图6 U-Net3+结构Figure 6. The structure of U-Net3+
1.3.4 融合残差思想的U-Net网络
随着网络的深度和宽度的提高,网络性能得到了一定提升,但出现梯度消失或梯度爆炸问题仍会导致网络性能下降。为解决此问题,文献[5]提出了残差网络(ResNet),残差块的结构如图7所示。x是残差块的输入,F(x)是经过第1层线性变化并且激活后的输出,称作残差。第2层进行线性变化之后激活之前,在F(x)加入这一层的输入值x,然后进行激活后输出。由残差块堆叠的网络易优化,获得的结果精度得到明显提升,且优于之前的网络,但随着深度增加会导致训练误差增大。
图7 ResNet块结构Figure 7. The structure of ResNet block
MultiResUNet网络[14]借鉴inception[15]块,把inception块中的5×5和7×7卷积层进行分解,使用一系列更小、更轻量级的3×3卷积块。如图8(a)所示,第2个和第3个卷积块的输出分别有效逼近了5×5和7×7卷积运算,把3个卷积块的输出使用残差连接拼接在一起,提取不同尺度的空间特征,卷积块的输入经过1×1卷积核后通过残差路径与卷积后的输入叠加。为降低编码器和解码器之间的差异,在shortcut连接中加入了带有残差连接的卷积层,使学习过程更简单,该结构称为Res Path,如图8(b)所示。
(a)
文献[16]把ResNet与U-Net结合,提出了ResUNet网络,利用ResNet网络从航空图像中提取道路区域,该网络由残差单元堆叠而成,结构与U-Net相似。文献[17]利用Res-Unet从肺部CT图像中提取病变部分,使用预训练的Res-Unet方法从不同平面以及轴向、冠状、矢状方向的二维图像中提取病变区域。文献[18]提出一种改进的Res-Unet肺动脉分割方法,该模型能准确分割出肺部CT图像中的肺动脉,便于后续肺动脉的三维重建、肺栓塞体积的计算和专家评估肺栓塞的严重程度。
1.3.5 3D U-Net
3D U-Net[19]是对经典U-Net框架的扩充,该框架可实现3D体积分割。所有的2D操作都被替换为相应的3D操作,即3D卷积、3D Max Pooling等,从而得到一个三维的分割图像。因为3D图像具有较多重复的结构和形状,因此即使在几乎未注释数据的情况下,训练过程也更快。3D U-Net已被广泛应用于CT和MR(Magnetic Resonance)图像分割中,包括心脏结构[20-22]、骨结构[23]、脊柱[24]、脑肿瘤[25]、肝肿瘤[26]、肺结节[27]、鼻咽癌[28]、多器官分割[29]、头颈部器官危险评估[30]和白质束分割[31]等。
1.3.6 多阶段级联U-Net
除上述网络外,还有其他U型的网络架构。例如级联两个及以上U-Net,第1个U-Net用来执行高级分割,后续U-Net对更小的对象进行分割。文献[32]设计了一种两级联U-Net模型,第1个U-Net将肝脏与其他器官隔开,第2个U-Net将肝脏内的肿瘤隔开。文献[33]设计了一种用于肝脏分割的两级U-Net,在两个U-Net之间设计了一个中间处理模块。文献[22]和文献[34]设计了两级U-Net,第1级为二维U-Net,第2级为三维U-Net。
经过调查发现级联级数可变[35]。上述文献级联U-Net网络的性能都优于单一的U型网络,同时存在另外一种形式的U-Net网络的布局。例如文献[36]设计了两个平行的U-Net网络,并把结果聚合以提高分割的精度。文献[37]实现了4个平行的U-Net网络,每个U-Net网络分割不同的CT映射,然后合并结果。并行的编码器可以实现一个中间点,从而可以更好地提取特征[38]。
1.3.7 Dense U-Net
ResNet模型并不能完全解决由网络加深带来的梯度消失问题。为解决该问题,文献[39]在ResNet的基础上提出了Dense U-Net,使用DenseNet来代替常规层。与ResNet相比,DenseNet有两个关键的改变:1)DenseNet块中的每一层都接收来自前面所有层的特征或恒等映射;2)恒等映射通过将通道级联到tensor进行组合。该结构可保留来自先前层的恒等映射,并显著地促进梯度传播。
1.3.8 融合Transformer的U-Net
U-Net模型在医学图像分割领域应用较为广泛,然而由于卷积操作固有的局部性,其不能较好地学习全局和长期的语义信息交互。Transformer用来进行序列到序列的预测,已成为具有固有的全局自我注意机制的替代架构,但是由于底层细节不足,导致定位能力有限。
文献[40]将Transformer和U-Net相融合进而提出了TransUNet。Transformer将CNN特征图中的标记化图像补丁进行编码,作为提取全局上下文的输入序列。解码器对编码器的特征进行上采样,然后将其与高分辨率的特征图相结合,以实现精确定位。文献[41]提出了带有移位窗口的分层Swin Transformer作为编码器来提取上下文特征,由设计的一种基于对称Swin Transformer的带补丁扩展层的译码器Swin U-Net对特征图进行上采样操作,恢复其空间分辨率。文献[42]结合Transformer和U-Net提出了TF-Unet来执行医学图像分割,利用卷积神经网络对输入进行特征提取和空间编码,充分发挥了卷积在细节抓取方面的优势。
1.4 图像分割算法性能比较
基于深度学习的医学图像分割算法的特点和优缺点如表1所示。
表1 医学图像分割算法比较
续表1
2 脑肿瘤、肺和肾脏等辅助诊断应用
2.1 基于FCN
分割脑肿瘤对放射治疗计划的制定和效果评估具有重大意义,但由于不同患者的病理症状差异大,导致手工分割难度高。文献[43]将全卷积神经网络(FCN)与条件随机场(CRF)集成在一个统一的框架中,开发了一种新颖的脑肿瘤分割方法,其获得的分割结果具有外观和空间的一致性。文献[44]提出了一种迭代实例分割方法。该方法使用FCN分割和标记椎骨。
为了克服当前临床实践中对多器官分割使用手工绘制轮廓繁琐和耗时的困难,文献[45]开发了一种新颖的自动头颈风险器官分割方法,该方法将全卷积网络和形状表示模型(Shape Representation Model,SRM)相结合,通过使用SRM结合形状先验,进一步提高了分割的准确性和鲁棒性。文献[46]针对3D多器官图像的分割问题提出了一种3D FCN模型,并将该模型应用于腹部CT图像的多器官分割任务中,达到了良好的效果。
2.2 基于U-Net
文献[47]提出了一种3D混合残差注意力感知分割方法来精确地提取肝脏区域并从其中分割肿瘤。网络以U-Net作为基本结构,集成了注意力残差模块,使注意力感知特征自适应地变化,能解决由网络深度增加而导致的梯度爆炸问题,是第1个使用注意力残差机制从3D医学图像中分割肿瘤的网络。乳腺癌是常见的癌症,目前乳腺钼靶X线摄影检查是临床上被公认的较可靠与有效的诊断方法之一,但是依靠人工方法阅片耗时耗力,且受主观因素影响,文献[48]将双通道的CNN与Res-Path结合起来可以提取到更有效的特征,网络参数少,在分割乳腺图像上获得了较好的分割结果。文献[49]提出了将LeViT Transformer模块集成到U-Net架构中的LeViT-Unet,用于快速准确分割血管图像。
为了实现视网膜血管的精确分割,文献[50]提出了一个轻量级的网络,即空间注意力U-Net。引入的空间注意模块可沿空间维度推导出注意力图,并将注意力图乘以输入特征图,实现自适应特征细化。网络采用结构化的Dropout卷积块代替U-Net原有的卷积块,防止网络过拟合。在DRIVE和CHASE_DB1这两个视网膜数据集上的评估结果表明所提方法性能更佳。为解决使用多尺度方法导致信息冗余使用的问题,文献[51]提出了一种多尺度引导自注意模型。该模型通过使用引导自注意机制来捕获更丰富的上下文信息,不同模块之间的额外损失引导注意机制忽略不相关的信息,通过强调相关特征关联度将注意力集中在图像中更具区别性的区域。
2.3 其他
文献[52]采用一种双通道结构来合并局部信息和全局信息,该结构能同时在多个尺度上处理输入图像,提高了图像分割的精度。
3 常用数据集和评价指标
3.1 常用医学图像数据集
医学图像数据集可以分为3个不同的类别:2D图像、2.5D图像和3D图像[53]。在二维医学图像中,图像中的每个信息元素称为像素。在3D医学图像中,每个元素都称为体素,2.5D指RGB图像。CT、MR、PET和超声像素代表3D体素,图像的格式有JPEG、PNG或DICOM。
目前有多种医学成像方式,例如CT扫描、超声、MRI(Magnetic Resonance Imaging)、乳房X线照片和正电子发射断层扫描等。MRI可通过采用不同脉冲序列来实现可变对比度图像,并且可以得到胸部、肝脏、大脑和腹部等内部结构。CT成像使用X射线来获取有关身体部位结构和功能的信息,用于诊断大脑、腹部、肝脏、骨盆、胸部、脊柱和基于CT的血管造影中的疾病。图9显示了大脑MRI和CT图像。常用的公开医学图像数据集如表2所示。
表2 常用医学图像分割数据集
3.2 损失函数
除了网络结构,深度学习模型的本质特征之一是损失函数。
交叉熵损失函数(Cross-Entropy)是医学图像分割中常用的一种损失函数。其中,ti表示基础真值,pi表示第i类的概率,n表示类的数量。交叉熵损失的一种变体是加权交叉熵损失(Weighted Cross-Entropy Loss),此损失函数根据类的不平衡性给类赋予一定的权重。另一种交叉熵损失的变体是焦点损失(Focal Loss)。
(1)
除了交叉熵,图像分割中的另一个标准损失函数是Dice损失,由Sørensen-Dice系数得到。GT(Ground Truth)为标准值,SR(Segmentation Result)为分割结果。
(2)
交集/并集(Intersection over Union,IoU)损失由Jaccard指数衍生,用来衡量样本的交集与并集的比值。
(3)
Tversky Loss是对Dice Loss的一种改进损失函数,对假阳性和假阴性结果赋予不同的权重,其在训练带有不平衡类的数据集时更有效。
(4)
3.3 评价指标
常用于评估分割算法有效性的流行指标如下所示:真阳性(Ture Positive,TP)表示实际数据类和预测数据类都为真;真阴性(Ture Negative,TN)表示实际数据类和预测数据类都为假;假阳性(False Positive,FP)表示实际数据类别为假,预测数据类别为真;假阴性(False Negative,FN)表示实际数据类别为真,预测数据类别为假。
准确度(Accuracy)用于度量正确预测样本的数量相对于样本总数的数量。
(5)
精度(Precision)用于衡量正确预测的阳性样本与所有阳性预测的数量。
(6)
与精度类似,特异性(Specificity)用于衡量所有负样本中正确预测负样本的数量。在评估图像中假阳性像素的数量时,准确性和特异性均发挥重要作用。
(7)
召回率(Recall)或灵敏度(Sensitivity)衡量被正确识别为阳性的阳性样本比例。召回率/灵敏度用来测量图像中假阴性像素的数量。
(8)
F-score (F-measure)是精度和召回率的调和平均值,常用于结合精度和召回率来衡量模型的整体表现。
(9)
4 结束语
本文总结了用于医学图像分割的基于深度学习的模型及其优缺点,概述了用于疾病分割的不同医学图像数据集以及用于评估图像分割算法性能的各种性能指标。总体而言,基于深度学习的医学图像分割方法已成为目前分割的主流方法,但深度神经网络在医学图像分割领域还存在较大挑战。本文讨论了深度网络在分割医学图像中所面临的挑战,并讨论了相应的解决方案。
深度学习网络模型的训练需要大量标注好的数据。在医学图像处理中,收集大量带注释的医学图像较困难,需要专业的医生对图像进行标注耗时耗力。可通过使用数据增强来增加带标签样本的数量。
在公开的医学图像数据集中,都存在类别不平衡的问题。高度不平衡的数据不利于模型的训练。解决方案如下:1)对数据进行过采样;2)通过改变评估或性能指标;3)应用数据增强技术来创建新的数据样本;4)结合少数类。
图像分割技术已经从手动图像分割发展到使用机器学习和深度学习方法的自动分割。基于深度学习的方法可以在大量图像上生成分割,有助于识别图像中的病灶和诊断疾病。未来工作可针对本文讨论的不同现有深度学习模型对公开数据集进行展开。同时,可以尝试网络层和分类器的不同组合以提高图像分割模型的准确性。