陆倩杰,柏正尧,樊圣澜,周雪,许祝
云南大学信息学院, 昆明 650500
自新型冠状病毒肺炎(corona virus disease 2019, COVID-19)爆发以来,迅速在全球范围内传播,对人类生命安全构成了严重的威胁。
Wang等人(2020)提出核酸检测(RT-PCR)是筛选COVID-19病例的主要方法。但是该方法存在一定缺点,如检测试剂不足、检测时间长、灵敏度较低等,因此需要进一步加快检测速度和降低成本。为了向患有新冠病毒的危重病人提供即时和适当的临床支持,Mahmud等人(2020)提出的胸部X射线和计算机断层扫描(computer tomography,CT)的自动筛查已作为COVID-19诊断的重要信息来源。CT扫描能作为COVID-19诊断的依据在于Li等人(2020)指出其具有较高的敏感性和增强的3维表现感染可视化的特点。虽然CT检查被证明了是一种低成本、准确、高效的新冠肺炎早期筛查和诊断工具,但是需要更加专业的放射科医生。然而此次疫情却面临着传播范围广、感染人数过多、专业的放射科医生严重缺乏等挑战。因此,相继开发出计算机辅助系统,并期望用于自动CT扫描筛查。
由于神经网络的快速发展,将视觉影像信息转化为深层次特征信息有助于减少人工操作、提高精准定量分析的效率(张楠 等,2020)。Shi等人(2021)提出深度学习系统可以通过放射成像来检测感染新冠肺炎的患者。基于深度学习的COVID-19肺炎分割方法也在逐步开发,例如Yazdani等人(2020)提出了一个带有残差连接和注意力觉察单元的模型,可用来预测新冠肺炎患者与阴性的关系。受到深度卷积神经网络的启发,Gunraj等人(2021)提出了一种增强型深度神经网络,可以通过更大、更多样化的学习方法从胸部CT图像中检测COVID-19。目前人们针对COVID-19肺炎诊断提出的深度学习方法中,大多是集中在COVID-19肺炎的识别上。由于在CT扫描中获取肺部感染的高质量像素级注释是昂贵且耗时的,只有一个由MedSeg Team(2020)提出的数据集(COVID-19 CT Segmentation)提供了100张分割标签,所以很少有方法对COVID-19肺炎病灶进行精确分割。
目前,COVID-19患者肺炎CT图像中的病灶部位的分割存在以下3点困难:
1)COVID-19的病灶纹理、大小和位置变化较大,且与正常组织间差异较小,为分割模型的构造带来了较大的挑战。同时,像COVID-19中的小病灶区域,也是语义分割和目标检测网络中面临的一个主要难题。
2)数据的收集和标注十分困难。目前的方法大多是使用具有100个注释切片的COVID-19 CT segmentation数据集来开发新冠肺炎分割方法。
3)尽管也有一些方法,如Inf-Net提出了一种半监督的分割方式,但是该方法较为复杂、生成伪标签耗时巨大、无法进行端到端的分析,而且数据集容易出现假阴性的问题没有得到有效解决。
为了准确地对COVID-19患者肺炎CT图像中的病灶部位进行分割,本研究针对COVID-19 CT segmentation数据集,提出了一个在小数据集上也能准确分割的模型。在只有50幅图像的训练集和50幅图像的测试集上,也达到了73.8%的平均骰子系数、77.7%的灵敏度和94.3%的特异度。本文模型有效地提高了分割精度、增强了对假阴性的关注度,并且很好地解决了小病灶分割困难等问题。其中,平均骰子系数和灵敏度都达到了目前基于该数据集相同划分方式的先进水平。
卷积神经网络(convolutional neural network, CNN)发展迅速,已应用在不同的计算机视觉领域,并且在医学图像分割任务中也得到了广泛的应用。
Shelhamer等人(2017)提出了用于图像分割任务的全卷积网络(fully convolution networks,FCN),证明了使用端到端训练的卷积神经网络对图像中的每个像素进行分类是现有分割中较先进的技术。Ronneberger等人(2015)在全卷积语义分割网络的基础上提出了包含压缩路径和扩展路径的对称U形网络U-Net,该网络此后广泛地应用在医学图像领域中。Zhou等人(2018)提出了U-Net++对U-Net中的跳跃连接方式进行改进,拓展了U型结构,解决了上采样和下采样带来的一系列问题。
最近几年,卷积神经网络在医学图像语义分割中取得了越来越好的实验结果,多数都是使用了更好的CNN,或者是引入了注意力机制模块,前者的例子包括Diakogiannis等人(2020)提出的ResUNet、Jha等人(2019)提出的ResUNet++和Jha等人(2020)提出的DoubleU-Net,通过使用更好的主干,使得网络具有更强的识别能力,从而具有更强的特征提取能力。后者是增加注意力模块,有利于网络将注意力集中在更加需要提取的特征,有利于处理不同尺寸的分割图像,提高分割精度。注意力在计算机视觉领域也得到了很广泛的应用。方成和柏正尧(2021)在特征提取网络中加入注意力机制,增加了特征图的全局上下文的相关性。郭宁和柏正尧(2021)将注意力机制引入网络的解码部分,通过增大关键信息权重以突出目标区域抑制背景像素干扰。
Fan等人(2020)提出了边缘注意模块和反向注意模块来关注病灶中的边缘信息和小病灶区域。虽然特异度得到了很大提升,但是对于小病灶和纹理复杂的病灶区域,分割效果依然不理想,灵敏度不高。Valanarasu等人(2021)提出了KIU-Net(kite,KI),该网络在U-Net的基础上增加了一个限制感受野的分支,以增加对小目标区域及边缘信息的关注度。
受KIU-Net的启发,针对COVID-19肺炎病灶区域呈现不同尺度的特点,本文提出了一种基于深度学习的多尺度编解码网络(MED-Net)用于COVID-19肺炎的自动分割。首先本文网络以HarDNet68为特征提取的主干,该网络为DenseNet的精简版,在延用了DenseNet特征重用,深度监督等特点的同时,降低了网络的内存占用。HarDNet68主要由5个harmonic dense block(HDB)组成,第2个和第3个的输出特征图尺寸相同,后面的HDB输出特征图尺度依次减半。每个HDB后面接着用一个1×1的卷积核来调整特征通道数。为了提取到不同尺度的特征,本文用空洞空间卷积池化金字塔(atrous spatial pyramid pooling, ASPP)分别对HarDNet68的第1个卷积层和第1、3、4、5个HDB提取多尺度特征。最后设计了一个多尺度并行解码器(multiscale parallel decoder, MPPD),通过3个并行解码器(parallel decoder, PPD)对编码器部分输出的5个特征图(f0,f1,f2,f3,f4)中(f4,f3,f2)、(f3,f2,f1)、(f2,f1,f0)分别进行聚合再解码,以兼顾不同感受野的目标。实验证明,该解码器能够很好地解决编码过程中信息的丢失问题,提高分割精度,同时对假阳性和假阴性之间的比例有一个很好的分配效果,分割结果能够更多关注假阴性,在保证高特异度的同时,有效提高了灵敏度。
本文网络结构如图1所示。该网络延用了全卷积网络(fully convolutional network, FC-Net)中的编码器—解码器结构。其中左边为编码器部分,以HarDNet为主干进行粗略的特征提取;中间用空洞空间池化金字塔结构(ASPP)提取多尺度特征;右边为基于并行解码器(PPD)改进的多尺度并行解码器(MPPD)。在下文中将具体描述文中所提及的编码器、解码器以及深度监督机制。
Huang等人(2021)提出了HarDNet-MSEG,该网络以HarDNet68为主干,通过感受野模块(receptive field block, RFB)输出3层高级特征层,仅仅用了一个并行型解码器(PPD)对该3层特征层进行解码,就在息肉分割中达到了当时最优效果。HarDNet可以看做是DenseNet的精简版,减少了来自DenseNet的大部分层连接,以降低级联损耗。HarDNet突出的特点是低内存占用率,且可以达到与其他网络相同的精度。本文网络的编码器以HarDNet68作为特征提取的主干。由于COVID-19肺炎病灶区域复杂,在不同阶段,其纹理、大小、形状都不相同,在考虑高级特征的同时,还要重点关注低级特征。HarDNet68的第1个卷积层和第1个HDB含有丰富的低级特征,第2、3个HDB的输出特征尺度相同,由于第2个HDB无论对低级特征还是高级特征的贡献都不够,为了减少计算参数,本文没有对第2个HDB进行特征提取。因此本文网络分别对HarDNet68的第1个卷积层和第1、3、4、5个HDB用ASPP进行特征提取(如图1所示,对应网络中子模块的第1、4、9、12、15层),特征图的尺寸分别为176×176、88×88、44×44、22×22、11×11。
图1 MED-Net网络架构Fig.1 MED-Net network architecture
ASPP在SPP的基础上引入了空洞卷积,在增加感受野的同时弥补了池化层带来的信息丢失等问题,可以更好地提取多尺度特征。其结构如图2所示,分别采用了1个1×1卷积和3个3×3的空洞率为rates={6,12,18}的空洞卷积,使得输出特征层中的神经元包含多个感受野大小,对新冠肺炎感染信息进行编码,最终提高分割性能。
图2 ASPP结构图Fig.2 ASPP structure diagram
作为一种新的解码组件,并行解码器可以通过并行来聚合不同层级之间的特征,并且具有计算速度快、占用显存小等优点。其结构如图3所示。
图3 PPD的结构图Fig.3 Structure diagram of PPD
其输出结果的形式可以表示为
OUT=C(C(C(C(C(U(X1))×X2+
C(U(X1))))+C(U(U(X1)))×
C(U(X2))×X3))
(1)
式中,C表示卷积、U表示2倍上采样、+表示维度拼接、×表示相乘,X1、X2、X3分别为3个不同尺度的输入特征图。
同样地,为了应对COVID-19病灶种类多、大小不一和病灶形状复杂等问题,解码器部分依然采用多尺度的方式。本文设计了一个基于PPD的多尺度并行解码器(MPPD)。如图4所示,对编码器部分输出的5个尺度的特征图(f0,f1,f2,f3,f4),该解码器用了3个PPD解码组件分别对特征层(f4,f3,f2)、(f3,f2,f1)、(f2,f1,f0)进行特征融合,得到了3个具有不同尺度的解码输出特征图(F1,F2,F3)。最后将该3个特征图进行拼接再降维,以更好地融合多尺度特征,增加上下文的语义信息。其中为了提高资源利用率,降低模型的计算参数,对于每一次拼接操作,都会后接一个32×1×1的卷积核进行降维。
图4 多尺度并行解码器Fig.4 Multi-scale parallel decoder
从图4可以看出,每个并行解码器输出特征图的尺度是不同的,因此首先需要将其都调整到相同的尺度(176×176),以便后面进行维度的拼接。其次,对于每个并行解码器(PPD),其输出通道数都调整到32维。对于最后的输出特征图,本文采用一个1×1的卷积核将其降维到1维,再进行2倍上采样操作得到最终的预测结果图。
为了使模型的分割效果更精准,并没有使用文献中普遍采用的注意力机制去给特征通道或者像素点分配权重。对于病灶区域种类多、形状大小不一、复杂程度不尽相同的小样本数据来说,实验证明,添加注意力机制容易造成分割重心集中在某种病灶区域上,使得模型会更加关注假阳性,造成灵敏度下降。为了兼顾灵敏度和特异度,本文网络采用多尺度监督机制,对不同尺度特征的解码结果进行深度监督。
如图5所示,对于多尺度并行解码器输出的3种尺度的特征图都用1×1的卷积核降维到1维,然后分别进行了8倍上采样、4倍上采样和2倍上采样,以达到与输入图片相同的尺寸。最后加入损失函数,对其分割过程进行监督,优化网络模型,降低学习难度。
图5 多尺度监督机制Fig.5 Multi-scale supervision mechanism
本文实验在数据集COVID-19 CT segmentation上进行。该数据集来自意大利医学和介入放射学会,包括来自60名新冠肺炎患者的100幅轴位CT图像。放射科医生使用3种标签对图像进行分割:肺磨玻璃结节(ground glass opacity)、肺实变(consolidation)和胸腔积液(hydrothorax)。
为了便于比较,实验按照Inf-Net网络中的划分方法,将数据集划分为50%的训练集和50%的测试集。实验中将3种病灶区域(肺磨玻璃结节、肺实变和胸腔积液)集中放在一起作为分割目标,以应对数据集中存在的类别不平衡问题。由于训练数据较少,为了提高网络的鲁棒性,降低过拟合,实验将数据缩放为352×352像素和归一化处理。
1)Dice系数:用于评估预测结果和ground-truth的重叠率,其表达如式(2)所示,TP是被正确分类为病灶的像素数;FP是被错误分类为病灶的像素数;FN是被错误分类为背景的像素数,计算为
(2)
2)灵敏度(SE):也称为真阳性率、召回率,用于衡量正确识别真阳性样本的比率,计算为
(3)
3)特异度(SP):也称为真阴性率、查全率,用于衡量正确识别真阴性样本的比率,计算为
(4)
4)结构度量(Sa):用于衡量预测图和真实标签之间结构的相似性。计算为
Sa=(1-α)×So(Sp,G)+α×Sr(Sp,G)
(5)
式中,So是目标感知相似系性;Sr是区域感知相似性;α是目标感知相似系性与区域感知相似性之间的平衡系数,通常取0.5。G代表真实标签;Sp代表预测结果。
(6)
式中,w、h分别代表真实标签的宽和高;φ代表增强对齐矩阵,将预测结果Sp转换成阈值为0~255的二进制掩码。
6)平均绝对误差(MAE):用于评估预测图和ground-truth之间的误差。
(7)
在图像分割领域,导致小物体分割比较困难的原因之一是采用了逐像素交叉熵损失函数。交叉熵损失函数的方法会给所有的像素分配同样的权重,由此会导致训练过程中学习到的特征偏向于像素数较多的类,很难学习到较小物体的特征。为了解决这个问题,Qin等人(2019)提出了对二进制交叉熵(binary cross entropy,BCE)损失进行加权的思想,通过增加加权交并比(intersection over union,IOU)损失来提升硬像素的权重。因此,本文网络中将分割损失函数Lseg定义为加权IOU损失和加权二进制交叉熵(BCE)损失之和,即
Lseg=aLIOU+bLBCE
(8)
式中,a、b分别为IOU损失和二进制交叉熵损失的加权系数,通常都取1。
对于每一个并行解码器的输出,都引入伴随目标函数。最终目标函数可表示为
(9)
本文网络基于Pytorch实现,并由RTX3060GPU加速。使用Adama优化器进行参数优化,学习率设定为10-4,权重衰减(weight decay)系数设置为0.1,每50个epoch进行一次权重衰减,batch size设置为8。总共训练100个epoch,大约需要15 min。选择第80个epoch的训练权重为最终的结果,在50幅图像的测试集上的评估结果分别0.738的骰子(Dice)系数、0.777的灵敏度、0.943的特异度、0.776的结构度量、0.903的增强对准度量和0.070的平均绝对误差。为了验证本文网络的性能,分别进行了定量分析和定性分析。
3.5.1 定量结果
表1 不同模型在该测试集上的指标对比Table 1 Comparison of the indicators of the different models on the test set
为了缓解标记数据不足的问题,Fan等人(2020)提出了一种基于随机选择的传播策略的半监督分割框架,该策略利用大量未标记的CT图像生成伪标签来有效地扩充训练数据集。实验证明,该策略能够大大提升网络的分割性能,但是生成伪标签的过程非常复杂且耗时,该方法生成伪标签大概需要50 h,对于1 600张伪标签的训练,在batch size为24的前提下也需要3 h,且无法进行端到端分析。
如表2所示,可以看出,MED-Net无需进行任何的数据处理,也无需加任何的注意力模块,仅50幅图像的训练集,100个epoch训练15 min就达到了与Semi-Inf-Net差不多的性能,且灵敏度提升了6.69%,证明了MED-Net的有效性。
表2 MED-Net与Semi-Inf-Net在该测试集上的指标对比Table 2 Comparison of the indicators between MED-Net and Semi-Inf-Net on this test set
3.5.2 定性结果
为了验证MED-Net在分割精度、灵敏度以及对小物体分割方面的提升,本文分别用U-Net、U-Net++、Inf-Net、Semi-Inf-Net、MED-Net进行分割实验。
结果如图6所示,由图6中的分割结果可知,MED-Net的分割效果是最接近真实标签的。在没有任何注意力机制的前提下,MED-Net的分割结果不仅有很好的全局信息,且边缘和细节把控都比另外几个网络要好。其次,对于图6中第3排形状特别复杂的小病灶区域,MED-Net也完整地把病灶分割了出来,很少有多分割或者漏分割的情况,证明了MED-Net能够有效地解决分割目标的纹理、尺寸和位置高变异的问题。
图6 不同模型的分割结果Fig.6 Segmentation results of different models((a)original images;(b)U-Net;(c)U-Net++;(d)Inf-Net;(e)Semi-Inf-Net;(f)ours;(g)labels)
为了验证MED-Net中多尺度并行解码器(MPPD)的有效性。文中分别在一个并行解码器和两个并行解码器的情况下进行消融实验与MED-Net的结果进行对比。
如表3所示,与HardNet_PPD×1相比,HardNet_PPD×2的Dice相似系数和灵敏度有了明显的提升,MED-Net的Dice相似系数和灵敏度又在HardNet_PPD×2的基础上有了明显的提升,证明了采用多尺度并行解码器(MPPD)在解决小病灶区域分割问题和提升分割精度方面有很明显的效果。
表3 不同PPD个数下的模型性能对比Table 3 Comparison of models with different number of PPD
COVID-19的病灶纹理、大小和位置变化较大,不同大小的分割目标需要的感受野不同;对病灶形状特别复杂的区域,希望能在提取高级语义信息的同时也能兼顾边缘信息;对于小目标样本,希望能准确地将它们分割出来,让网络更加关注假阴性。针对以上问题,设计的网络需要有不同的感受野分支去兼顾不同大小的目标,且需要多尺度去应对分割目标形状复杂的问题。本文提出的多尺度编解码分割网络MED-Net,通过提取多尺度特征和融合多尺度特征,在COVID-SemiSeg数据集上的实验表明:MED-Net能够很好地弥补下采样过程中造成的信息损失,捕捉丰富的上下文信息,在保证高特异度的同时提高灵敏度。针对COVID-19 CT segmentation数据集,直接通过端到端的学习,在各项评估指标中就达到了当前最前沿的性能,在新冠肺炎的诊断评估中有很大的应用潜力。
由于本文网络仅在一个数据集上进行训练和测试,且数据量极其稀少,该数据集只有100张高质量的标签数据,因此本文网络的潜力还没有完全开发出来。此外,虽然文中用了一个轻量级的骨干网络,但是模型由于是多尺度编码和解码的,因此占用显存比较大。本文网络是通过控制编码器和解码器中每一层的输出维度来控制特征层的线性增长,降低了模型应有的性能潜力。未来将继续考虑引入注意力机制,以及对网络中不必要的特征层进行修剪。