殷晓航,王永才,李德英
(中国人民大学 信息学院,北京 100872)
随着深度学习技术的快速发展,深度学习在医学影像领域的应用吸引了广泛的研究和关注.其中,如何自动识别和分割医学影像中的病灶是最受关注的问题之一.为解决这一问题,2015 年,Ronneberger 等人在MICCAI会议发表 U-Net[1],是深度学习在医学影像分割中的突破性的进展.U-Net 是基于 FCN(fully convolutional network)改进而成,包括编码器、瓶颈(bottleneck)模块、解码器几部分组成,由于其U 型结构结合上下文信息和训练速度快、使用数据量小,满足医学影像分割的诉求,而在医学影像分割中广泛应用.U-Net 的结构如图1 所示.由于病灶的形状的多样性和不同器官结构的差异性,仅使用U-Net 结构分割病灶无法满足对于精准度、速度等的需求.
Fig.1 U-Net network structure diagram[1]图1 U-Net 网络结构图[1]
U-Net 自发表以来,其编码器-解码器-跳连的网络结构启发了大量基于U-Net 结构改进的医学影像分割方法.随着深度学习技术的发展,包括注意力机制、稠密模块、特征增强、评价函数改进等基于U-Net 的基础结构,将这些深度神经网络发展的最新技术引入到医学影像分割应用中,成为被广泛采取的改进方法.这些相关工作或者面向不同的优化目标,或者通过结构改进、添加新模块等手段,提高医学影像分割的准确性、运算效率、适用范围等.由于相关工作众多,而且大多数工作是结合实际问题,不断地加入新的思想,现有文献中对U-Net 结构改进的相关工作尚缺少较好的综述和总结的工作.本文拟从改进目的和改进手段两个方面对近几年基于U-Net 结构改进的医学影像分割的工作进行综述.
· 面向性能优化的改进工作主要包括:(1) 将U-Net 扩展到3D 图像[2,3];(2) 增强相关特征,抑制无关特征[4-13];(3) 改进计算速度、内存占用[14-22];(4) 改进特征融合方法[19,23-30];(5) 针对小样本训练数据集的改进[31-34];(6) 提高泛化能力的改进[35,36].
· 针对U-Net 模块结构的改进主要包括:(1) 针对编码器、解码器结构的改进[37-45];(2) 针对损失函数的改进[2,7,32,41,46-49];(3) 对瓶颈(bottleneck)模块结构的改进[9,31,50];(4) 增加数据流路径的改进[49,51];(5) 采用自动结构搜索的改进[52]等方面.
图2 给出了本文对U-Net 相关研究工作的分类方法.虽然有的相关工作同时被两个层面包含,但这种分类总结能使得我们更清晰地了解该工作的改进目的和实现目的的改进手段.针对每类改进的具体方法,本文较详细的介绍了方法的主要设计思想、改进效果、所使用的数据集、评价指标等,并最后给出对相关方法的整体的总结和比较.此外,本文还提炼出U-Net 结构改进中一些常见的基础结构模块,这些基础结构模块对深度学习网络结构的改进具有较为普遍的借鉴意义.
本文第1 节介绍医学影像分割深度神经网络中的一些常见的损失函数和评价参数.第2 节、第3 节从两个方面、11 个子类总结和介绍基于U-Net 结构改进的医学影像分割的相关研究工作.第4 节提炼医学影像分割研究中常见的一些特殊结构.第5 节对文中所提的算法进行总结、对比和展望.
Fig.2 Medical image segmentation method based on U-Net structure improvement图2 基于U-Net 结构改进的医学影像分割方法
损失函数和评价参数是训练网络是必不可少的部分:损失函数表示预测和目标之间的差异,常用交叉熵、Dice loss 等判断训练模型与真值之间的差异;分割评价参数是评价图像分割好坏的重要参数,常用Dice 等评价网络模型的优劣.本节主要列举几个图像分割神经网络中常用的评价参数和损失函数.
在评价参数之前,先要介绍一下机器学习中的混淆矩阵.混淆矩阵主要是解决二分类问题[53].其中,TP=True Positive=真阳性,FP=False Positive=假阳性,FN=False Negative=假阴性,TN=True Negative=真阴性.
1.1.1 精确率(precision)
精确率表示的是预测为正的样本中有多少被预测正确.
1.1.2 召回率(recall)
召回率就是召回目标类别,即表示样本中的正样本有多少被预测正确.
1.1.3 准确率(accuracy)
准确率是评估获得所有成果中目标成果所占的比率.
1.1.4 综合评价指标(F-measure)
F-Measure 是综合精确率和召回率的评估指标,用于反映整体的情况.
当α=1 时,
1.1.5 IoU(intersection over union)/Jaccard Index
IoU 又称为Jaccard Index[54],是目标检测常用到的评价参数,通过预测边框和真实边框的比值计算两个样本的相似度或者重叠度.我们分别用Vseg,Vgt表示两个轮廓区域所包含的点集(Vseg为预测,Vgt为真实标签),范围[0,1],则
1.1.6 mIoU(mean intersection over union)
mIoU 为语义分割的标准度量,在每个类上计算IoU 之后进行平均.由于其简洁、代表性强,大多数研究人员都采用该标准报告结果.假设共有k+1 个类(从L0到Lk,其中包含一个空类或背景),pij表示本属于类i但被预测为类j的像素数量.即pii表示真正的数量,而pij,pji表示假正、假负,则MIoU 定义为
1.1.7 Dice coefficient
Dice 是一种评估两个轮廓区域相似度的函数,通常用于计算两个样本的相似度或者重叠度,其范围为[0,1].
Jaccard Index 和Dice coefficient 之间的换算公式为
1.1.8 SSIM
SSIM 是图像质量评价结构相似性指标,是基于样本x和y之间对于亮度、对比度、结构这3 个方面进行比较,其范围为[0,1],值越大,两图像之间的差异越小[55].
损失函数的设计常要考虑数据集的特点,比方说,Focal loss 就是用来处理数据集中的难分样本.Dice 系数可以用来处理数据分类不均衡的情况,其中,不均衡很多情况下是由于背景和待分割区域之间的面积对比不均衡导致的.对于二分类,可以只考虑待分割区域,即是本文中的Dice loss 函数;那么当对于多种类的分割时,同样可以只计算待分割区域的Dice 系数,这样就可以避免背景占比太大,造成的数据集分类不均的情况.
1.2.1 交叉熵损失函数
设y′是模型的输出,在0-1 之间.对于正样本而言,输出越大,意味着损失越小;对于负样本而言,越小,则损失越小.所以,交叉熵的定义为
1.2.2 Focal loss
Focal loss[56]是在交叉熵损失函数基础上进行的修改,主要是为了解决one-stage 目标检测中正负样本比例严重失衡的问题.该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘.
γ>0 减少易分类样本的损失,使得更关注于困难的、错分的样本.平衡因子α用来平衡正负样本.实验证明,γ=2 最优.
1.2.3 Dice loss
Dice loss[2]在感兴趣的解剖结构仅占据扫描的非常小的区域,从而使学习过程陷入损失函数的局部最小值.所以,要加大前景区域的权重.
1.2.4 Tversky loss
Tversky[57]系数是Dice 系数和Jaccard 系数的一种广义系数,Vseg为预测标签,Vgt为真实标签,公式定义为
当α=β=0.5 时,Tversky loss 为Dice loss;当α=β=1 时,Tversky 系数就是Jaccard 系数.A-B则意味着是FP(假阳性),而B-A则意味着是FN(假阴性);α和β分别控制假阴性和假阳性.通过调整α和β,可以控制假阳性和假阴性之间的权衡[58].
本节和第3 节将重点介绍基于U-Net 改进的各类的图像分割方法,本节介绍面向性能优化的改进方法.现有的工作主要在应用范围、特征增强、训练速度优化、训练精度、特征融合、小样本训练集以及泛化能力提升几方面对U-Net 提出各种改进进行研究,这些工作对网络结构进行了不同的变体,或是针对不同的问题加入了不同的结构.
生物医学影像是不同位置的切片构成的一组三维图,所以传统的2D 图像处理模型处理3D 的医学影像时会存在问题:一是效率不高,二是会丢失大量的上下文.针对这一问题,Ozgun Cicek 等人基于U-Net 提出了3D U-net[3],其网络结构如图3 所示.3D U-net 输入输出是三维图像,提升了U-Net 模型对三维图像的分割准确性.
Fig.3 3D U-Net structure diagram[3]图3 3D U-Net 结构图[3]
另一个代表性工作是Fausto Millemari 等人提出的V-net[2],结构如图4 所示.在输入3D 图像按照通道拆分的同时,在每一层加入残差结构,以确保短时间收敛.降采样采用卷积操作替换最大池化操作,有利于在接下来的网络层中减小输入信号的尺寸的同时扩大特征感受野范围,并提出Dice-based loss 这个新的损失函数.
Fig.4 V-Net structure diagram[2]图4 V-Net 结构图[2]
医学影像中,由于病变区的位置较其他无关特征更多,那么在分割过程中,聚焦目标特征、抑制无关特征就极为重要.一般在编解码器和瓶颈处加入SE 或者attention 模块,这两个模块都可以从空间和通道两个方面进行激励,以达到增强特征的效果.
2.2.1 加入SE 模块
SE(squeeze-and-excitation)是在2018 年CVPR 上提出通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征,并抑制对当前任务用处不大的特征[59].Roy 等人[4]引入3 个SE模型扩展结构分,别串联在U-Net 的编码和解码结构中.
(1) 第1 种是信道SE(cSE),通过全局池化提取最能表现特征的通道,再将信息融合到原有的tensor 中.
(2) 第2 种是空间SE(sSE),提取一张特征图划分特征区域,再将特征区域信息融合到原有的tensor 中.
(3) 第3 种同时进行空间和信道SE(scSE),是cSE 与sSE 的合并输出.
实验结果表明:空间激励要比通道激励产生更高的对分割更为重要的增益;与标准的网络相比,scSE 虽然增加了一些计算复杂度,但是分割性能更好.
2.2.2 加入attention 块
Attention 可以解释为将计算资源偏向信号最具信息性的部分的方法.一般在图像分割中,由于病灶较小且形状变化较大,常在encoder 和decoder 对应特征拼接之前,或是在U-Net 的瓶颈处增加attention 模块来减少假阳性预测.
(1) 在encoder 和decoder 之间加入attention 模块
Oktay O 等人在2018 年提出的Attention U-net[5]在U-Net 在encoder 和decoder 中对应的特征进行拼接之前加入了一个集成注意力门(AGs),重新调整了encoder 的输出特征.该模块将生成一个门控信号g,用以消除不相关和嘈杂的歧义在跳过连接中的响应,以突出通过跳过连接传递的显着特征.attention 模块的内部结构如图5所示.
Fig.5 Internal structure of Attention module in Attention U-net[5]图5 Attention U-net 中Attention 模块内部结构[5]
Li 等人在2019 年提出了敏感连接注意力U-net(CASU)[6],用于视网膜血管的精细分割.CASU 的网络结构与Attention U-net 的网络结构相同,但是在Attention 模块的结构上,CASU 采用不同的设计方式,如图6 所示.G是并行编码模块的输出,X是前一个解码模块的输出.G和X经过Attention 门的处理后,再同G拼接.由于注意门的参数更新不仅取决于解码层传递的梯度,而且还取决于编码器层传递的梯度,其AGs 最终采用的是可以提高训练过程中细节特征的质量和影响的Up-link.实验结果表明,该方法能够有效地提高分割模型的注意权重.
Fig.6 Structure diagram of Attention module in CASU[6]图6 CASU 中Attention 模块的结构图[6]
Ni 等人在2019 年提出的RAUNet[7]加入了增强注意力模块(AAM)用于融合多层次特征和捕获上下文信息,来解决白内障手术器械分割中的镜面反射问题.RAUNet 的增强注意力模块(AAM)结构如图7 所示.
Fig.7 Structure diagram of AAM in RAUNet[7]图7 RAUNet 中AAM 的结构图[7]
AAM 对语意依赖进行建模,以强调目标通道.其主要通过全局平均池化分别提取高层和低层的全局上下文信息和语义特征,并分别压缩成一个attention 向量后对语意依赖项进行编码,突出关键特征并过滤背景信息.
Zhou 等人提出了轮廓感知信息聚合网络CIA-Net[8],用于解决细胞核簇和不同器官形状的差异性的问题.CIA-Net 在编解码器之间建立多层次的横向连接,分层地充分利用金字塔特征,通过encoder 早期层的纹理信息,可以帮助Nuclei decoder 中分辨率低但具有强语义的层来细化细节,如图8(a)所示.
Fig.8 Structure diagram of IAM in CIA-Net[8]图8 CIA-Net 中IAM 结构图[8]
CIA-Net 将decoder 分为Nuclei decoder 和Contour decoder,两者之间加入信息聚合模块(IAM),将核信息和轮廓信息双向融合(如图8(b)所示).此外,为了防止网络依赖于单一层次的区分特征,在每个阶段引入深度监控机制[60],加强对多层次上下文信息的学习,这也有利于通过缩短反向传播路径来训练更深层次的网络体系结构.
(2) 在bottleneck 处加入Attention 模块
bottleneck 是 U 型网络收缩路径和扩张路径中间的部分.Wang 等人提出的巩膜分割模型——ScleraSegNet[9]采用丢弃了全联接层的VGG16 作为encoder,瓶颈处增加了bottleneck 模块用以编码最有区别的语义特征,其信息特征按照空间和信道进行分解,采用4 个attention 模块:(1) Channel attention module(CAM),由SEnet[59]引出,结构图如图9(b)所示;(2) Spatial attention module(SAM)[61],结构如图9(c)所示;(3) Parallel channel attention and spatial attention module[61],将CAM 和SAM 并联后相加,结构如图9(d)所示;(4) Sequential channel attention and spatial attention module[62]在平均池化层增加了最大池化层,然后将CAM 和SAM 模型顺序串联起来所得到,结构图如图9(e)所示.经过在不同数据集上验证,作者提出了的这个方法在准确性上和泛化能力上都取得了显著的效果.
Fig.9 Internal structure diagram of Bottleneck in ScleraSegNet[9]图9 ScleraSegNet 的bottleneck 内部结构图[9]
(3) 在decoder 中加入attention 模块
DA 3D-UNet[10]在3D Unet 的基础上将上采样替换成DUpsampling[63],以提高解码器中图像的质量.在解码器的最后两层加入由空间attention 和通道attention 组合而成的双注意力模块,将大范围的、多通道的特征集中在关键位置、通道中.
(4) 在跳连中加入attention 模块
Li 等人提出的ANU-Net[11]在Unet++的跳连中加入了Attention Gate,以提升网络对于形状多样性病灶的分割效果.Attention Gate 的输入分为两个部分:解码器的上采样特征(g)和编码器中相应的特征(f),其上采样特征(g)作为门信号来增强编码器中相应的深度特征,从而增强相关特征、抑制无关特征,结构图如图10 所示.
Fig.10 ANU-Net structure diagram[11]图10 ANU-Net 的结构图[11]
(5) 在编解码器单元中加入attention 模块
徐宏伟等人提出的RDA-Unet[12]采用残差双注意力(RAD)模块作为编解码器单元,RAD 将通道注意力机制和空间注意力机制相结合,保证特征提取的准确性,并加入残差结构以防止梯度消失,更好地定位肾脏的边界.
2.2.3 其他方法
Liu 等人在U-Net 的基础上加深网络层数至7 层,并将编码器的池化层直接与解码器对应的层级联,以减少信息的损失,并称此网络为IU-Net[64].由于分割复杂的肝脏切片容易产生低质量的分割,其采用图割算法[65],在前景和背景选取种子点,建立一个图,利用最大流算法找到加权图的最小割集,最终得到分割较好的图像.他们将IU-Net 和图割相结合的网络最终命名为GIU-Net[64].Mu-net[13]将经过下采样后不同尺度的特征图分别输入U-Net,再将不同尺度的U-Net 的输出经过上采样到上一层U-net 的输入,帮助上一层减少对于低频信息的计算,从而更加聚焦于病灶的分割.
由于2D 卷积容易丢失上下文信息,而3D 卷积占用CPU 量过大,为了减少内存,一种方法是扩大patch 中的volume,另一种方法是用较小的batch size 训练.这些方法毕竟是有局限性的,因而以下几个工作改进网络中部分模块,减少内存,提升运算速度.
2.3.1 加入稠密卷积块
Li等人于2018 年提出由有效提取切片的2D Dense Net 和提取肝脏病灶分割中上下文信息的3D Dense Net组成H-DenseUNet[14],即稠密融合U 型网络.该网络先采用ResNet 粗略的分割肝脏图像,然后在感兴趣区域(ROI)中,利用2D Dense Net 和3D Dense Net[66,67]有效探测切片内和切片间的特征.在H-DenseUNet 的结构上,MMMDF[15]将2D/3D DenseNet 替换成多模态2D-ResUNet 和3D-ResUNet,以2D 网络的快速分割结果来指导3D 模型的学习并实施分割.
另一方面,光声成像(PAT)测量用的声波经过稀疏采样后可以用于图像重建,但会导致较为严重的图像信息缺失[68].Steven Guan 针对这一问题提出一种全密集连接的FD-UNet[16],用于重建稀疏采样的2D PAT 图像,其基于U-Net,在编解码器引入Dense connectivity 密集连接,避免了冗余特征的学习,增强了信息流动,在性能接近的前提下进一步减少了网络参数,降低了计算成本,进行图像重建时可更加快捷(如图11 所示).
Fig.11 2D dense connection in FD-Net[16]图11 FD-Net 中2D 稠密连接[16]
2.3.2 加入可逆结构
Robin 等人提出了Partially Reversible U-Net[17],将U-Net 的编解码器每个单元采用可逆序列[69],同时使用传统的不可逆操作来进行下采样和上采样以及跳跃连接.这种完全可逆的体系结构比传统的U-Net 节省了大量的内存,因为激活只需要在每个可逆序列的末尾和不可逆的组件上保存.
2.3.3 加入SE 残差块
Zhu 等人提出的AnatomyNet[46](如图12 所示)以端到端的方式联合分割所有organs-at-risks(OARs),接收一个原始的全容积CT 图像作为输入,并将所有OARs 的掩模与图像一起返回.该结构与U-Net 的不同在于:只在第1 个编码块中采样了下采样层,使得下一层中的特征映射和梯度比其他网络结构占用更少的GPU 内存.移除第2~第4 个编码器块中的下采样层,采用了SE 残差块[59]学习有效特征,以提升分割小解剖结构的性能.
Fig.12 Anatomynet structure diagram.The first layer is down sampling,and the rest is replaced by SE residual block[46]图12 AnatomyNet 结构图.第1 层是下采样,其余由SE residual block 代替[46]
2.3.4 通道分组
Chen 等人在2019 年为弥补三维MRI 脑肿瘤分割模型效率和准确性不可共存的问题,提出一种新的三维扩张多纤维网络(DMFNet)[18].DMFNet 建立在多光纤单元(MF)[70]的基础上,利用有效的群卷积,引入加权的三维扩展卷积运算,获得多尺度的图像分割表示,从而减少参数以提升运算效率.
图13(a)、图13(b)采用通道分组思想,将循环通道分成多个组,这样可以减少特征映射和核心之间的连接,从而显著地节省参数.而图13(c)中的Multiplexer 主要是用于不同的fiber 之间交换信息.在图13(d)中增加了扩张卷积,这种加权求和策略可以从不同视角自动选择有价值的信息.
Fig.13 MF unit of dilated multi-fiber net (DMFnet)[18]图13 DMFnet 多纤维网络的MF 单元[18]
2.3.5 加入Inception 块
Nabil 等人在MultiResUNet[19]中提出了MultiRes 模块代替U-Net 的每一层解决多分辨率分析同时又节省内存、提高速度,其将U-Net 编解码器的每个单元替换为MultiRes 模块.受inception[71]启发,作者先将大小为3×3,5×5,7×7 的卷积层并联,以实现多层分辨率的分析(如图14(a)所示),然后采用更小、更轻量级的3×3 卷积块近似代替5×5,7×7 的卷积操作以减少存储(如图14(b)所示),再将filter 的个数从1 逐渐增加3 来减少前一层滤波器数量带来的二次效应[72],并且增加1×1 卷积层的残差连接以更好地保证空间信息,最后构成MultiRes 模块.
Fig.14 MultiRes model of MultiResUnet[19]图14 MultiResUnet 中MultiRes 模块[19]
DENSE-Inception U-net[20]将inception 和残差模块以及稠密模块相结合,如图15 所示,其中,采用Inception-Res 取代标准的卷积来增加网络宽度;采用Dense-Inception 模块,在增加网络深度的同时,又不会增加参数的数量;上下采样采用Inception 模块,保证图像分割的准确性.其在肺部图像分割和血管图像分割、脑肿瘤图像分割方面都有很好的性能.
Fig.15 DENSE-INception U-net structure diagram[20]图15 DENSE-INception U-net 结构图[20]
2.3.6 其他方法
Li 等人提出了PBR-Unet[21],主要包括提取像素级概率图的功能提取模块和用于精细分割的双向递归模块,如图16 所示.用2D Unet 提取概率图,用于指导精细分割;双向递归模块将上下文信息集成到整个网络中,避免了传播过程中空间信息的丢失,从而节省内存.徐等人提出了基于级联Vnet-S[22]的单一器官分割法,在V-net 的基础上减少V-net 的编解码器的卷积单元,减小卷积核的大小,在跳连中加入Dropout 缓解过拟合,以减少3D 卷积带来内存占用问题,提升运算速度.
Fig.16 PBR-Unet structure diagram[21]图16 PBR-Unet 结构图[21]
特征融合其实更多意义上讲的是网络的上下文特征的融合、不同模态特征的融合.上下文特征的融合可以从编解码器中加入新的模块DAC 和RMP 帮助融合信息,如CE-Net[73];也可以在跳连阶段增加编解码器信息的流动,如MultiResUNet[19]、Unet++[23]或者去掉跳连、增加信息聚合的DFA-Net[24];或者外接特征金字塔从不同分辨率角度保证分割的准确性,如MFP-Unet[25].对于不同模态的融合,可将编码器分别提取各模态之间的信息再进行融合,如深度级联脑肿瘤分割方法[26]、Dense Multi-path U-Net[27]、IVD-Net[28].
2.4.1 上下文特征的融合
(1) 编解码器加入新的模块
为了获取更高层次的信息,并保留2D 医学影像分割中的医学信息,Gu 等人在编解码器的基础上加入上下文提取模块,从而构成新的网络CE-Net[73],整体框架如图17 所示.
Fig.17 CE-Unet network structure diagram[73]图17 CE-Unet 网络结构图[73]
上下文提取模块主要包括DAC(dense atrous convolution module)模块和RMP 模块(residual multi-kernel pooling).作者受inception-ResNet-V2[74]模块和扩张卷积启发提出了DAC 模块,以编码高层级的语义特征图.RMP 模块采用残差多核池化方法,主要依靠多核有效视场来检测不同大小的目标,解决医学影像中物体尺寸的巨大变化.
(2) 在跳连处改进
U-Net 的跳连结构主要是融合上下文的语义特征,以更好地分割病灶。但是简单的级联使得高层级和低层级的语义信息融合容易造成重要语意丢失,因而针对这一问题,相关工作提出了多种改进特征融合的方法.Nabil等人在MultiResUNet[19]中提出:由一系列带有残差连接的卷积层构成的Res path 取代U-Net 的级联,使低级特征经过进一步处理再与高级特征级联,以消除编码器的低级特征和解码器的高级特征融合时造成的语义差异(如图18 所示).Zhou 等人从另一方面对跳连进行改进,提出带有深度监控的嵌套的密集跳连路径的Unet++[23],结构如图19 所示.
Fig.18 Skip connection of MultiResUnet[19]图18 MultiResUnet 的跳连[19]
Fig.19 UNet++network structure diagram[23]图19 UNet++的网络结构图[23]
Jin 等人在跳连处加入attention 机制,提出了三维混合残差注意感知分割网络RA-UNet[29],用于精确提取肝脏兴趣体积(VOI),并从肝脏VOI 中分割肿瘤.该网络在3D U-net 的基础上,除了第1 层和最后一层外,其他都由残差结构堆叠,以实现增加深度而不会产生梯度爆炸,并在跳连处加入Wang 等人提出的残差注意力模型[75],分为用于处理原始特征的主干分支、用于增强特征抑制噪声的软掩膜分支.
杨兵等人所提出的深度特征聚合网络DFA-Net[24](如图20 所示)直接去掉U-Net 跳连并称其为基础层,加入中间层、聚合层以及特征聚合模块FAM,帮助更好地融合上下文信息.Nikhil 等人提出的U-Det[30]将U-Net的跳连替换为Bi-FPN[76],如图21 所示.其拥有自顶向下和自底向上的路径的同时,每个节点为不同的输入加入不同权重,以强调不同输入的重要性.而Li 所提出的DPSN[77]在跳连处采用特征金子塔,高度提取抽象编码器的特征之后,再通过跳连和解码器进行级联,将高层语义特征和低层语义特征更好的融合.
Fig.20 DFA-Net network structure diagram[24]图20 DFA-Net 网络结构图[24]
Fig.21 U-Det network structure diagram[30]图21 U-Det 网络结构图[30]
(3) 外接特征金字塔
Moradi 等人提出了MFP-Unet[25],该网络在U-Net 基础上外接特征金字塔网络FPN[78],从扩展路径的各个层次提取特征,最后将提取的特征串联,形成64 通道的最终特征映射,并传给用于特征分类滤波器中,以提升语义对分割的贡献.
2.4.2 不同模态的特征融合
传统的U-Net 网络对于多模态图像输入,采用先混合处理再输入的方式,这样操作容易丢失不同模态的部分信息.Lachinov 等人[26]为解决这一问题,提出一种深度级联脑肿瘤分割方法,主要是将编码器并行分出几个路径分别学习不同模态的特征表示,在跳连和bottleneck 处采用像素最大化操作再与解码器级联,网络结构如图22 所示.
而Dolz 等人提出的Dense Multi-path U-Net[27]在编码器多路径的基础上加入Dense Net 的思想,以解决缺血性中风病灶的位置和形状的高度变异性.此方法首先将输入端图像混合的方式,变成在不同路径中对每个模式进行处理,以更好地利用其独特的信息,如图23 所示;然后在不同模态之间建立稠密连接,改善数据流,减轻梯度消失;并且扩展了非对称inception 卷积块,代替最大池化操作,其多扩张率的卷积操作,从不同尺度上提取特征,更好的捕获上下文信息.同年,Jose Dolz 等人在Dense Multi-path U-Net[27]的基础上提升编码器的多路径稠密性,提出了IVD-Unet[28],主要对椎间盘(IVD)图像进行分割.
Fig.22 Gliomas segmentation and cascaded U-Net network structure diagram[26]图22 Glioma 分割与级联U-Net 网络结构图[26]
Fig.23 Dense Multi-path U-Net network structure diagram[27]图23 Dense Multi-path U-Net 网络结构图[27]
在临床实践中,医学影像是从不同的供应商处获取,从特定的源域训练的U-Net 再传输到不同的目标域时,性能会急剧下降.泛化能力是指网络可以混合训练来自不同提供商的图像,具体方法有两种:从内部结构提出适应不同提供商图像的域适配器,如3D U2-net[35]采用在编解码器单元内采用Adapter 找到合适网络训练的卷积,从而适应不同提供商提供的图像;从外部接入Cycle-GAN 网络,如Yan 等人提出的Unet-GAN[36],包括一个用于适应供应商的非配对生成对抗网络(CycleGAN)[79],一个用于对象分割的LV-Unet.在图24 中,LV-Unet 是由数据集S训练的满足LV(左心房)分割的分割网络;CycleGAN 是一个为未配对的图像到图像转换而设计的既定架构,包括两个生成器GS和GT,代表源域和目标域;两个辨别器DS和DT,辨别是原始图像还是转换图像.
Fig.24 U-netGAN network structure diagram[36]图24 U-netGAN 网络结构图[36]
医学影像由于涉及隐私问题和标注成本高的问题,其数据集数量极少.针对小样本训练数据集的问题,一般从重复的网络结构和数据集标签两个方面进行.
· 重复网络结构可以在bottleneck 重复使用SRU 门控单元[31],也可以重复使用整个U-Net 如Bridged U-net[32].
· 从数据本身标签入手,可以结合贝叶斯训练给定数据标签再进行网络训练,提升分割准确性;或者将一幅图像仅使用一个单一全局标签,以降低对数据量的要求.
2.6.1 重复网络结构
Wang 等人[31]提出在U-Net 的瓶颈处加入重复单元结构:双门控递归单元(DRU)或单门控递归单元(SRU),可以在数据集和计算能力有限的情况下进行训练.DRU 在GRU[80]上进行改进,能有效地细化迭代分割,但浪费内存,因而提出简化成单门控的SRU 代替DRU,其精度并未变化.
Chen 等人提出了Bridged U-net[32],采用U-Net 桥连接的方法,在多个层次上充分利用不同的特征,加速神经网络的收敛.网络结构如图25 所示.两个U-Net 之间的桥连接采用级联,U-Net 的跳连采用加法,可以达到网络的最好表现形式.激活函数采用ELU 和ReLU 相结合,解决了单纯使用ELU 的随着网络不断深入的饱和问题.
Fig.25 Bridged U-net network structure diagram[32]图25 Bridged U-net 的网络结构图[32]
2.6.2 计算数据标签
U2-NET[33]提出一个具有认知不确定性反馈的BAYESIAN U-NET 模型,用于病理OCT 扫描中光感受器层的分割.通过贝叶斯对于给定数据和标签进行后验概率计算,再通过U-Net 进行训练.
Florian Dubost 提出了GP-Unet[34],用弱标签来检测病灶的卷积神经网络,也就是每幅图像只需要一个单一的全局标签“病变计数”就可以训练,网络结构如图26 所示.GP-Unet 是一个具有完全卷积结构的回归网络,结合一个全局池层,将3D 输出聚合成一个指示病变数量的标量.在测试时,GP-Unet 首先运行网络来估计病变的数量,再移除全局池层来计算输入图像大小的定位图.
Fig.26 GP-Unet network structure diagram[34]图26 GP-Unet 网络结构图[34]
本节对于U-Net 面向结构模块的改进作出总结,现有工作主要在编解码器、bottleneck 和损失函数改进、数据流增强以及自动搜索结构几方面对U-Net 提出各种改进型研究.这些工作对网络结构进行了不同的变体,或是针对不同的问题加入了不同的结构.
编、解码器的改进可分为3 部分:一是卷积操作的改进,如加入协调引导卷积、长短残差结构;二是编解码器单元的改进,如可以可形变卷积块、循环残差卷积和概率模块;三是上、下采样的改进,如可以采用长短残差结构和最近邻插值的方法.
3.1.1 卷积操作改进
肺叶的鉴别和诊断对疾病的诊断和治疗具有重要意义,少数肺病在肺叶有区域性的病变,准确分割肺叶极为重要,Wang 等人[37]提出一种基于利用协调引导卷积的深度神经网络,从胸部CT 图像中自动分割肺叶的方法.其首先采用自动肺分割方法提取CT 图像中的肺面积,然后利用V-net 对肺叶进行分割.协调卷积部分结构图如图27 所示.
Fig.27 Coordination-guided convolution proposed by Wang,et al.[37]图27 Wang 等人提出的协调卷积[37]
为了减少不同肺叶的错误分类,文中采用协调引导卷积(CoordConvs)[81]来生成肺叶位置信息的附加特征图.CoordConv 是对经典卷积层的简单扩展,通过添加额外的坐标通道来集成位置信息.
对于模态的急性亚急性脑中风病灶MRI 图像分割,Albert 等人[38]提出在采样过程中平衡患者和健康的人的MRI 图像采样,并且在U-Net 的网络结构中加入长短残差结构代替卷积操作和下采样操作在保证精度的同时减少参数,改进结构如图28 所示.
Fig.28 Network structure diagram proposed by Albert,et al.[38]图28 Albert 等人提出的网络结构图[38]
3.1.2 编、解码器单元改进
Jin 等人提出DUNet[39],其是在U-Net 的框架的基础上,用可变形卷积块[82]作为编码器、解码器的每一个单元.可变形卷积块通过学习局部、密集和自适应的感受野来模拟不同形状和尺度的视网膜血管,以达到准确分割.具体是在标准卷积使用的网格采样位置上添加偏移量,而偏移量是从附加卷积层生成的先前特征映射中学习的.因此,变形能够适应不同的尺度、形状、方向等.图29 给出可变形卷积与普通卷积方法差异的示意图.
Fig.29 Comparison of deformable convolution and normal convolution in DUNet[39]图29 DUNet 中可变形卷积和正常卷积对比[39]
蒋等人提出的I-Unet[40]在U-Net 的基础上改进编解码器单元,编码器采用由扩张卷积、inception 和RCL层组成的Conv-Block,解码器采用反卷积、RCL 层组成的Deconv-Block,通过扩大感受野进行多尺度特征融合.
何承恩等人基于3D-Unet 提出了3D-HDC-Unet[41],在编码器的每个单元中加入混合膨胀卷积残差块,以不断变化的膨胀率改变棋盘效应[83]给分割带来的负面影响.
Alom 等人提出了R2U-Net[42],该方法将残差连接和循环卷积结合起来,用于替换U-Net 中原来的子模块,其改进结构如图30 所示,图中环形箭头表示循环连接.图31 展示了几种不同的子模块内部结构图.该方法保证网络深度的同时,减轻梯度消失的影响,在提取低级特征有显著效果,多应用于视网膜血管分割.
Kohl 等人提出HPU-net[43],一个结合U-Net 和条件变分自动编码器(cVAE)的能够考虑多尺度变化的层次概率分割网络,网络结构如图32 所示.该网络分为采样过程和训练过程,在采样过程中,解码器额外对延迟的空间网格采样.在训练过程中,采用条件概率分布对网络进行训练.
Fig.30 R2U-Net network structure diagram[68]图30 R2U-Net 网络结构图[68]
Fig.31 Structure diagram of Recurrent convolution in R2U-Net[42]图31 R2U-Net 中循环卷积结构图[42]
Fig.32 HPU-net network structure diagram[43]图32 HPU-net 网络结构图[43]
3.1.3 上、下采样改进
在微创手术中,准确地追踪到手术器械的位置是十分重要的.针对内窥镜图像中的分割和识别外科器械问题,Hasan 等人[44]为缓解转置卷积导致“不均匀重叠”也就是棋盘格形状的伪影问题,提出了U-NetPlus 网络结构,将VGG-11 和VGG-16[84]作为编码器这种预先训练的编码器[85],通过规避与目标数据相关联的优化挑战,加快了收敛速度[86].
Wang 等人提出了Non-local U-Nets[45],在U-Net 的基础上,对于输入输出模块采用残差结构,对于上下采样采用外部嵌套残差结构的全局聚合模块,从而减弱单一卷积操作所带来的信息丢失问题.
神经网络训练过程中,使用损失函数计算每次迭代的结果与真实值之间的差距,从而指导下一步训练向正确的方向进行.损失函数改进主要解决的是类不平衡的问题,主要是从函数自身和两个损失函数相结合两个方面进行改进.
3.2.1 函数自身改进
Dice loss 函数的一个局限性在于FP与FN的检测权重相等,这将导致分割图有较高的准确率和较低的召回率.像在皮肤病变者众数据极不平衡,感兴趣区域极小,FN需要比FP高很多才能提高召回率.V-net[2]中提出了一个基于dice coefficient 的损失函数,也就是对分割求偏导数,从而不需要为不同类别分配权重,就可以建立前景、背景平衡.
对于Dice loss 的预测接近真实情况时效果不佳引起震荡的问题,Chen WL 等人提出一个新的损失函数Cos-Dice[32]损失函数,来加速学习进程.
3.2.2 两个函数的混合
针对医学数据类不平衡的问题,Abraham等人基于Tversky index 提出了一个广义的损失函数Focal Tversky Loss(FTL)[47].与Dice loss 函数相比,这个函数在训练较小结构可以更好地权衡准确率与召回率之间的关系(其中,c为类别,TIc为Tversky index).
而AnatomyNet[46]和3D-HDC-Unet[41]采用Dice 系数和Focal loss 相结合的方式解决这一问题.
实验结果表明,λ=0.5 时效果最好.
RAUNet[7]提出的Cross Entropy Log Dice(CEL-Dice)结合了交叉熵的稳定性和类不平衡不影响Dice loss的特性,因此,它有比Dice loss 更好的稳定性,比交叉熵更好地解决类不平衡的问题(H为交叉熵,D为Dice loss).
Zhong 等人[48]提出了交叉熵和Dice loss 损失组合新的形式:
针对于数据流的改进主要是从两个方面:一是采用DenseNet 的思想,增加网络中不同模块之间的连接;二是将U-Net 网络串行使用两次,也就是桥连接,从而达到信息成倍数流通的目的.
U-Net 的各种变体都包含编码器和解码器,但是对于数据流路径数量是有限的,Zhang 等人提出的MDUNet[51]将DenseNet 的思想应用于编、解码器、跳连中,直接融合高层和低层相邻的不同比例尺的特征映射,增强当前层的特征传播.这在很大程度上提高了信息流的编解码能力(如图33 所示).
Fig.33 MDU-Net network structure diagram[51]图33 MDU-Net 的网络结构图[51]
Zhuang 等人提出的LadderNet[49],其结构类似于桥连接,与之最大区别在于两点:其一,LadderNet 用加法取代U-Net 中跳连采用的级联,两个并行U-Net 对应层也采用加法;其二,LadderNet 采用了一个新的共享权重残差块(如图34 所示),解决了多编码器解码器分支来的参数增多、训练难度增加的问题.这个共享权重残差块由3个部分组成:跳连、递归卷积以及dropout 正则化.其在同一块中的两个卷积层共享参数可以看作一个递归层,两个卷积层之间加入dropout 避免过拟合.
Fig.34 LadderNet network structure diagram[49]图34 LadderNet 网络结构图[49]
Ken 等人借鉴了网络结构搜索(NAS),提出了SegNAS3D[52]三维图像分割网络结构搜索,以解决三维图像分割中大量手动调参和网络体系结构优化的问题,如图 35 所示.文中提出了在每一层加入一个新的块结构Mg-Blk,该块结构是由可学习块Block[87]、空间dropout 和可选择残差连接组成.文中最重要的是这个可学习块block 的学习训练,文中将一个块结构表示成一个有向无环图,如图36 所示,每一个节点代表一个特征图,每一条边代表一次操作.矩阵的行和列为输入节点和输出节点,矩阵中的数值为扩张卷积的扩张率,通过学习节点数以及扩张率来训练整个网络的准确性.
Fig.35 SegNAS3D network structure diagram[52]图35 SegNAS3D 网络结构图[52]
Bottleneck 是U 型网络收缩路径和扩张路径中间的部分,其主要接受了所有来自编码器提取的特征信息,并将分割好的的图像通过解码器恢复到原有分辨率,因而其重要性可想而知.一般对于bottleneck 的改进,多采用attention 机制,以更好地关注分割细节.Wang 等人提出的巩膜分割模型ScleraSegNet[9]在bottleneck 中采用4种attention 机制,将通道注意力和空间注意力相结合,以更好地分割.而Wang 等人[31]受GRU 的启发,在bottleneck 处重复使用SRU 模型,在保证分割精度的同时,又减轻参数过多带来的影响.
而Li 等人提出了新的改进方法BSU-Net[50],其先将U-Net 的编解码器以及bottleneck 进行改进,加入了Inception、Dense 模块和扩张卷积,并称该网络为Base U-Net.然后将Base U-Net 按照是否去掉跳连分为Encoding U-Net 和Segmentation U-Net,再将两者的bottleneck 部分连接.大多数的网络金队输入输出有监督,而BSU-Net 通过将U-Net 改进,称自动编码器,弥补了bottleneck 的监督空白,并且可以进一步提取bottleneck 处的信息,对于图像进行更好的分割.网络结构如图37 所示.
Fig.36 SegNAS3D expansion coefficient selection[52]图36 SegNAS3D 扩张系数选择[52]
Fig.37 BS U-Net network structure diagram[50]图37 BS U-Net 网络结构图[50]
由于图像分割任务的目标不同,其网络结构也不尽相同.通过对解决问题的分类,我们总结归纳出如下适用于不同问题的网络结构模块,从而帮助大家针对不同问题,快速找到适用的模块以组成网络结构.
一般来说,增加神经网络的宽度和深度可以提高网络的表达性能.但如果简单地增加网络的层数,就会面对梯度消失或是梯度爆炸的问题.何凯明等人为此提出了残差网络[88],将每两层网络中增加一个跳连,以保证增加层数后不会削弱网络的表达性能.残差结构如图38 所示.在V-net[2]、MultiResUNet[19]、RDA-Unet[12]等结构中都有采用,可以放置于编码解码器单元,也可在下采样中使用.
Fig.38 Residual structure[88]图38 残差结构[88]
Attention 的主要思想是强化特征,在医学影像里常用于分割细节较多的血管、肺叶,其内部结构不固定,可根据强调的内容自行设计,例如强调特征图称为Spatial Attention、强调通道为Channel Attention.Attention U-net[5]、CASU[6]、RAUNet[7]、CIA-Net[8]都是在解码器中加入attention 模块,Attention U-net 的AGs 是加入门控信号以消除噪声,CASU 的AGs 采用Up-link 以聚焦特征,IAM 是将核、轮廓两个解码器分支的信息聚合.这三者都是空间信息方面的特征聚焦,而AAM 主要是通过强调目标通道从而聚焦特征;ScleraSegNet[9]是在瓶颈处加入CAM 和SAM 块,从空间和通道两个方面进行特征的聚焦.表1 给出了不同的Attention 模块的总结.
Table 1 Network model with attention mechanism表1 加入attention 机制的网络模型
通道的压缩和激励,通过找到特征较好的通道,强调这一通道,压缩不相关的通道,以减少参数,强化分割精度.无论AnatomyNet[46],还是Roy 等人[4]提出的通道和空间挤压激励,都是运用了这一思想.SKNet[89]在SENet的基础上结合了Merge-and-RunMappings 以及attention on inception block,用多尺度特征汇总信息,来按照通道指导侧重使用哪个核的表征,从而减少了参数增加路径和动态选择.因而在之后的图像分割中,可以考虑采用SKNet 所提出的方法代替SE 结构.
DenseNet 主要是将每一层的网络复制到下一层的全连接结构,增强数据流动的同时减少计算量.医学影像分割中,常将Dense 的应用于编码器与解码器的全连接、编解码器的单元,从而达到减少参数提升计算精度.H-DenseUNet[14]和FD-UNet[16]都是在编解码器的单元中引用Dense 模块,不同在于:前者是将2D 和3D Dense的模块相结合,用2D 网络指导3D 网络分割;而后者仅仅在编解码器每个单元中使用Dense 模块以减少参数.Dense Multi-path U-Net[27]和IVD-Unet[28]的网路结构大部分相同,后者在前者的基础上将编码器的稠密性提升到了一个新的高度,将不同模态之间的信息更好地交互.MDU-Net[51]将稠密的思想应用在编码器的每个单元之间、解码器的每个单元之间,并且跳连也不再单单是编解码器对应层的连接,采用全连接的方式将高级信息和低级信息充分融合利用,表2 给出了稠密模块的总结.
Table 2 Application of DenseNet thought in network表2 应用DenseNet 思想的网络
在医学影像中,病灶所占区域在不同的图像中变化极大,因而卷积核的选择非常重要.然而较小的卷积核适合局部信息,较大的内核更适合捕获全局分布的信息.Inception 将扩张率不同、大小不同的卷积都囊括在内,通过不同尺度提取特征,从而达到精确提取特征的目的,例如CE-Net[73]中的DAC 模块就是为了更好地提取特征而设计.但由于 Inception 中包含不同大小的卷积核,大卷积核相比于小卷积核计算量要多很多,因而MultiResUNet[19]选择用3×3 代替5×5,7×7 的卷积核,而Dense Multi-path U-Net[27]和IVD-Unet[28]采用非对称inception 模块,也就是将n×n的卷积拆解成n×1,1×n的卷积,从而降低计算量.
生成对抗性网络(GAN)将图像从一个领域转换成另外一领域,例如将斑马转换成马.在医学影像中,由于不同源域的图像放在一起训练将导致极大的问题,通过将图像先经过CycleGAN 再进行训练,从而达到更好的训练效果,例如Unet-GAN(如图39 所示)[36].
Fig.39 U-net extended structure technology development flow chart图39 U-Net 扩展结构技术发展流程图
对于上文介绍的基于U-Net 扩展结构的技术脉络总结如图39 所示,按照面向性能优化和面向结构改进总结成表3 和表4.主要从网络维度、改进结构、亮点、数据集、评价参数这5 个方面进行总结.
1)网络的维度主要是2D、3D、2D 和3D 的混合:2D 网络为基本网络;3D 网络因为其具有2D 网络没有的上下文信息;2D 和3D 网络的融合以2D 网络的快速分割结果来指导3D 模型的学习并实施分割,主要在减少内存、提升计算速度中使用.
2)对于改进的结构,包括编解码器、bottleneck、跳连、卷积操作、上下采样、损失函数、外接其他结构以及数据标签.编解码器的改进包括编解码器单元的改进、上下采样、卷积操作的改进,在大部分问题中都有应用,而像跳连、数据标签这类改进主要是为解决特征融合、小样本数据集问题.
3)在数据集方面,相关方法采用了几乎各不相同的数据集,主要包括脑肿瘤(BraTS)、视网膜血管、肝脏、胰脏、腰间盘、乳腺癌、前列腺等.由于各种方法采用的数据集不尽相同,本文列举数据集以提供一个数据集名称索引.由于不同方法评价所采用的数据集不尽相同,所以不同方法难以进行横向比较.
4)从指标函数方面,可见主要评价指标是Dice scores,IOU 次之.表中总结了各个方法采取的评价指标以及指标数值,帮助大家在选择网络模型时有一个参考和比较.
Table 3 Based on U-Net,it classifies the performance optimization and compared from the aspects of improved structure and highlights表3 基于U-Net 面向性能优化进行分类,并从改进结构、亮点等方向进行对比
Table 3 Based on U-Net,it classifies the performance optimization and compared from the aspects of improved structure and highlights (Continued 1)表3 基于U-Net 面向性能优化进行分类,并从改进结构、亮点等方向进行对比(续1)
Table 3 Based on U-Net,it classifies the performance optimization and compared from the aspects of improved structure and highlights (Continued 2)表3 基于U-Net 面向性能优化进行分类,并从改进结构、亮点等方向进行对比(续2)
Table 4 Based on U-Net,it classifies the structural module improvement,and compares the improved structure and highlights表4 基于U-Net 面向结构模块改进进行分类,并从改进结构、亮点等方向进行对比
随着器官结构差异化、病灶形状多样化,U-Net 已经无法满足所有病灶高精准性的分割.随着attention 机制、Dense 模块、Inception 模块以及残差结构、图割等模块的发展和完善,近期一些工作在U-Net 的基础上加入不同的模块,以实现对于不同病灶的精准分割.基于U-Net 扩展结构多种多样,因而我们进一步总结了针对不同的目的的网络结构改进方法,总结出几个方案供参考,见表5.
1)对于分割微小细节,例如视网膜血管、肺叶等,可在残差的基础上使用可变形卷积或者扩张卷积,根据空间、通道激励,在解码器或bottleneck 中选择加入attention 模块或者SE 模块.
2)针对提升计算速度的问题,可以采用的基本结构包括扩张卷积、残差结构、SE 残差块等;主要改进的特殊结构包括从编解码器单元加入稠密模块或者可逆结构,对于损失函数可选择Dice-based loss.
3)对于特征融合问题,可以将网络编码器按照不同模态分别提取特征再进行总体融合,不同模态之间加入稠密卷积,增加信息流减少参数,或者解码器外接特征金子塔辅助特征融合.
Table 5 Suggestions on using structure for different problems表5 针对不同问题的使用结构建议
综上所述,本文分类总结和分析了基于U-Net 结构改进的医学图像分割方法,从改进的性能指标目的和改进的主要结构特点,对主要的相关工作进行了总结和介绍.基于对现有工作的综述,提炼出基于U-Net 进行结构改进的一些常用改进模块和常用改进方法,可以作为未来这个领域研究工作的参考.对于U-Net 的未来应用,UNet 不仅应用于医学影像分割,在其他领域也有较好的应用效果,例如应用于人群识别的W-net[90],应用于航空图像的ResUNet-a[91]、TernausNet[85]、FlowS-Unet[92]、ST-Unet[93]等多种改进方法.将U-Net 扩展到更多的应用领域,并进一步提升U-Net 的特征提取和识别准确性,提高计算效率,是未来可行的研究方向.