粟长权, 郭本华,*, 魏一帆, 钱淑渠, 杨国庆
(1. 贵州财经大学信息学院,贵阳 550025;2. 安顺学院数计学院,安顺 561000)
2019冠状病毒[1](Corona Virus Disease 2019,COVID-19)于2020 年初在全球爆发,对各个国家和人民的生命财产造成极大威胁。此外,COVID-19 不同变种[2]的出现,由于更具传染性[3],进一步在全世界造成了令人担忧的局面。预防措施和早期诊断一直是防止这种致命病毒进一步传播的唯一解决办法。
在诊断方面,目前主要方法是试剂诊断[4]和肺部CT[5],然而试剂诊断存在一定缺点,如检测时间长、获取结果缓慢、人工成本高等。为了向患有新冠病毒的危重病人提供及时的临床医学支持,Mahmud 等[6]提出通过胸部X 射线和计算机断层扫描(computer tomography,CT)技术判断患者病情,但此项技术需要更加专业的放射科医生操作,然而放射科医生的缺乏使得诊断效率低下,因此,需要研发出更先进的计算机AI 辅助诊疗系统来提高诊断效率,并实现自动CT扫描筛查。
传统肺部CT 图像分割方法主要按纹理[7]、形状和结构等物理特征对图像进行分割,这些方法按像素区域和图像轮廓两种实现原理可分为两大类:基于区域的分割方法和基于活动轮廓的分割方法。与传统的机器学习和计算机视觉方法相比,基于深度学习的图像分割[8]方法在图像分割领域取得了良好的结果,在分割的准确性和速度方面具有很大优势。Zhang等[9]研发出临床AI应用系统,使用CT技术对COVID-19肺炎进行准确诊断、定量测量和预后评估。
医学图像分割[10]是医学影像处理中的一个关键任务,其目的是从影像中将感兴趣的区域分离出来,例如癌症肿瘤、器官等。Canny 算子[11]是一种广泛应用于数字图像处理中的边缘检测算法,它具有较好的边缘检测效果和较低的误检率。
深度学习在医学图像分割中的应用可以追溯到2015 年Ronneberger 等[12]提出的U-Net 网络模型,它是一种深度卷积神经网络,用于生物医学图像分割任务。它通过连接对称的卷积层和上采样层,实现从输入图像到输出分割掩码的端到端映射。然而,新冠肺炎的CT 图像[13]结构复杂,且形状不规则,使得U-Net分割效果不佳,因为U-Net的编码器和解码器结构在处理不规则形状的目标时可能会出现信息损失的情况,这种情况是由于它在编码时仅仅使用两层卷积和池化操作来提取特征,结构简单,无法提取到深层的特征信息。万加龙等[14]在U-Net网络模型中引入视觉注意力,构建深度分割网络,实现模型分割性能的提升。李雨晨等[15]出了一种基于卷积神经网络(CNN)和加权最小二乘法(WLS)的医学图像融合算法,利用滚动导向滤波(RGF)和高斯滤波(GF)构成的混合多尺度分解工具将源图像分解为基础层和一系列细节层,从而能够更好地保留尺度信息和边缘信息。
He 等[16]提出了ResNet 系列的深度残差网络结构,这个结构使得神经网络可以训练非常深的层数,在提取到更多的特征信息时,还避免了深度学习模型的退化问题,但此模型是基于高质量图像训练的,如果输入的图像质量较低,可能会导致模型表现不佳。Fan 等[17]提出的Inf-Net 可以对COVID-19 肺部感染病灶进行自动分割。使用边缘注意力模块和反向注意力模块来关注病灶中的边缘信息和细小的病灶区域。虽然特异度得到了很大提升,但是在面对细小病灶和纹理复杂的病灶区域时,分割效果依然不理想,灵敏度不高。
注意力机制[18]是一种计算机模型中的重要组成部分,旨在使模型更加智能和有效。它模仿了人类的注意力机制,让模型能够有选择性地关注输入中的特定部分,从而提高模型的准确性和性能。Liu 等[19]提出一种金字塔注意力机制,可以在不同抽象层级上加权输入的特征。它的基本思想是将输入的特征分为多个抽象层次,并在每个层次上计算注意力权重,以便在特征融合时更好地结合这些不同层次的信息。Zhang等[20]提出一种新型金字塔分裂注意力机制(pyramid squeeze attention,PSA),是一种用于图像分类和检测任务的注意力机制,在特征金字塔中使用了多个注意力分支,每个分支负责在不同的尺度上进行特征建模和注意力计算。该注意力机制旨在解决单一注意力机制无法处理多尺度特征的问题。
本文提出了一种自动分割的多目标输出网络模型。本节首先介绍了网络的整体架构CEDMO(Canny edge detection multi-output),然后阐述编码器的组成,再介绍利用Canny算子对分割目标进行边缘检测,以及改进局部PSA 注意力机制的实现细节,最后介绍了多目标输出约束的实现。
本文所提算法CEDMO 的网络结构如图1 所示,该算法沿用了全卷积网络[21]中编码器-解码器结构。编码器部分,主干网络使用的是ResNet50,在编码器部分设计了一个Canny算子分支提取更多的边缘信息。再利用改进PSA 注意力机制使得在计算过程中更加关注病灶细节信息。在解码器部分设计了多目标输出约束计算,加快计算收敛。
本网络模型使用ResNet50[16]为主干网络构建了编码器以进行特征提取,前面几层采用传统的卷积层和池化层,下采样使用3×3 的最大池化,进行下采样后送入卷积块中,卷积步长设置为1,填充都是采取0 填充。图像经过ResNet50 网络的4 层采样,获取到图像的特征信息。
图1 CEDMO算法结构
由于COVID-19 肺炎病灶点在不同阶段的纹理、大小、形状都不相同,在进行特征提取时,这些病灶点会作为噪声增加信息提取的难度。Canny算子[11]对目标边缘的定位比较准确,使得在噪声抑制和边缘检测之间能取得较好的平衡。本文提出的CEDMO 模型通过引入Canny 算子降低噪声的影响,减少特征信息提取难度。
Canny算子计算主要步骤如下:
(1)对图像进行高斯平滑,以去除噪声。高斯平滑使用的高斯核有x和y两个函数,形式为
式(1)中σ为高斯分布的标准差。
(2)计算图像的梯度幅值和方向。梯度计算由Sobel 算子来计算平滑后的图像每个像素点的梯度。Sobel 算子是一个3×3 的矩阵,由它可算出X方向的梯度和Y方向上的梯度。X方向的梯度Gx计算形式为
Y方向上的梯度Gy计算形式为
其中,I为肺炎CT 图像矩阵。记某点像素的梯度为Gxy,则梯度幅值 |Gxy|的计算形式为
(3)进行非极大值抑制。进行非极大值抑制的目的是将模糊的边界变清晰。计算像素的梯度后,保留像素点中梯度强度最大的极大值,去除其他值,对于每个像素点可进行如下操作:
第一步,将像素点的梯度方向近似为以下方向中的一个(0°,45°,90°,135°)四个方向,同样地,梯度反向也为四个方向(与边缘方向正交);第二步,比较该像素点和其梯度方向正负方向的像素点的梯度强度;第三步,若该像素点的梯度强度最大,则保留,否则删除(置0)。
(4)应用滞后阈值处理,将检测到的肺炎CT图像边缘结果二值化。
(5)孤立弱边缘抑制。为了跟踪边缘连接,查看弱边缘像素及其八个邻域像素,只要其中一个为强边缘像素,则该弱边缘点就可以保留为真实的边缘。Canny算子在编码器部分起到了一个引导边缘分割的作用,计算流程如图2所示。
图2 融合Canny计算流程
通过实验得出,融合的Canny算子有效降低了噪声影响,同时也提高了分割精度。并在后续的计算中,还提供一个分割的引导值。
金字塔分裂(PSA)注意力机制[20]结构如图3所示,通过拆分和连接模块获得通道上的多尺度特征图。再利用SEWeight 模块提取不同尺度的特征图的注意力,得到通道间注意力向量。最后使用Softmax 重新校准通道方向的注意力向量,获得多尺度通道的重新校准权重。最后对重新校准的权重和相应的特征图按元素进行点乘操作,输出得到一个多尺度特征信息注意力加权之后的特征图。该特征图多尺度信息表示能力更丰富。
本文在PSA 注意力机制中对SE 模块做了改进,SE 模块由两部分组成:Squeeze 压缩和Excitation 激励,分别用于编码全局信息和自适应重新校准通道关系。通道数据使用全局平均池化来生成,将全局空间信息嵌入到通道描述中。全局平均池化公式为
之后再用两个全连接层组合通道间的线性信息,帮助通道高维和低维信息的交互。通道权重计算公式为
图3 PSA注意力机制
图4 改进的SE模块
在传统的分割方法中,通常只对一个目标输出进行监督学习,在训练过程中计算收敛较慢。为了加快计算收敛,进而提高模型在图像分割等任务上的性能。本文基于此在解码器部分设计了多目标输出约束,如图1所示,在解码器输出结果时设计了5 个输出路径,结果1~4分别对应编码器的4 个路径,结果5 由2、3 和4路径聚合不同尺度特征而得。当结果5路径中的SE 模块输出时,对其进行上采样,并与结果4中的SE模块进行拼接,再做计算。同理,结果4、结果3、结果2的SE模块值进行上采样后也分别与对应的SE 模块采取同样操作,最后得到的输出值就是分割所需的结果。
解码器部分通过损失函数在训练过程中约束多个任务的输出,每个输出由自己的损失函数计算,通过损失函数之间的关系起到相互约束的效果,使得训练结果加快收敛,从而提高计算效率。约束计算公式如下:
li的计算公式由式(13)计算得出:
其中,Fi为该输出路径的二分类交叉损失函数,Fpool为平均池化操作的结果,m为标签值。
上式中p为Canny 算子引导边缘检测分割的引导值。模型共设计了5个输出,同时也有对应的5个输出loss函数。
3.1.1 数据集
本文实验数据集使用COVID-19 CT Segmentation[22],是一个公开的数据集,该数据集由来自60 位不同程度肺炎患者的轴位CT 图像组成,包含100 张肺部感染图片,所有的CT 图像都是由意大利医学和介入放射学学会(Italian Society of Medical and Interventional Radiology)收集的。放射科医生使用三种标签对CT 图像进行标注,分别是肺磨玻璃泡影(ground glass opacity)、胸腔积液(hydrothorax)和肺实变(consolidation)。
3.1.2 数据处理
本文对COVID-19 CT Segmentation[22]数据集进行划分,将其分为50%的训练集和50%的测试集。为了尽可能地减少数据集中病灶类别不平衡带来的影响,实验中抽取了包括肺磨玻璃泡影、胸腔积液和肺实变在内的三种病灶区域,作为分割数据集。
本文模型实现的框架基于PyTorch1.12.0,编程语言为Python3.8。由NVIDIARTX2080super实现GPU 加速计算。实验训练和测试阶段的batchsize 均为2,共训练100个epoch,优化器为Adam,初始学习率为1e-4,损失函数为二分类交叉损失熵,权重衰减系数设置为1e-4。
为了评估本文提出的模型性能,对实验结果的评价用了六个评价指标,分别是Dice系数、灵敏度(sensitivity,SE)、特异度(specificity,SP)、结构度量(Sα)、增强对准度量和平均绝对误差(mean absolute error,MAE)。其中TP为正确分类成病灶的区域,TN为正确分类成背景的区域,FP为错误分类成病灶的区域,FN为错误分类成背景的区域。
3.3.1 Dice系数
Dice 系数用于评估预测结果和真实样本值(ground-truth)的重叠率,其范围为[0,1]。其表达如式(14)所示:
3.3.2 灵敏度
灵敏度(SE)也称为真阳性率、召回率,用于衡量正确识别真阳性样本的比率,其表达如式(15)所示:
3.3.3 特异度
特异度(SP)也称为真阴性率、查全率,用于衡量正确识别真阴性样本的比率,其表达如式(16)所示:
3.3.4 结构度量
结构度量(Sα)用于衡量预测图和真实标签之间结构的相似性。So为目标感知相似性,Sr为区域感知相似性,α为目标感知相似性与区域感知相似性之间的平衡系数,通常取0.5。G代表真实标签,Sp代表预测结果。其表达如式(17)所示:
3.3.5 增强对准度量
3.3.6 平均绝对误差
平均绝对误差(MAE)用于评估预测图和样本真实值(ground-truth)之间的误差。其表达如式(19)所示:
CEDMO 网络模型通过训练,不断更新网络中的权重参数。训练的损失函数如图5所示。其中loss1为输出结果的损失函数,另外4个损失函数分别对应输出2到输出5。
通过图5 可以看出,当设计5 个输出路径时,训练的损失函数在前20 个epoch 时收敛最快,在第60 个epoch 时基本完成收敛,训练100个epoch时,效果基本达到峰值水平。
图5 训练的5个损失函数
3.4.1 消融实验
本文设计了三组消融实验,第一组仅使用主干网络ResNet50 和Canny 算子,第二组仅使用ResNet50 和PSA 注意力机制,第三组则是本文提出的CEDMO 模型。由三组实验测出Canny算子和PSA 注意力机制对于模型性能的影响,结果见表1(加粗字体表示最优结果)。
表1 不同模块对模型性能影响
由表1 数据可以看出,模型在仅使用ResNet50和Canny 算子的情况下,Dice系数并不理想;灵敏度(SE)相比其他两个差距更大,比第二组低9.4 个百分点,比第三组低12.5 个百分点;增强对准度量分别比第二组和第三组低了6.7 和10.5 个百分点。当模型使用ResNet50和PSA 注意力机制时,虽然指标比第一组有一定提升,但Dice 系数、灵敏度(SE)、结构度量(Sα)和增强对准度量结果并不理想,依次比采用CEDMO 模块的结果低6.8、3.1、4.8 和3.8个百分点,仍达不到目前分割的主流水准。
当CEDMO 模型在使用Canny 算子先对分割目标进行边缘检测和使用PSA 注意力机制的情况下,Dice 系数、灵敏度(SE)、结构度量(Sα)、增强对准度量、平均绝对误差(MAE)五个指标均有较大提升。
3.4.2 对比实验
为了验证本文提出的CEDMO 模型的性能,将其在COVID-CT-Segmentaion 数据集[22]上与其他方法做对比。当模型在训练集上完成训练后,用测试集进行对比实验,最终得到本文模型的对比实验结果,各项数值见表2(加粗表示最优结果)。本文提出的网络模型CEDMO 在Dice 系数、灵敏度(SE)、增强对准度量三个指标上均优于基线模型Inf-Net,依次高4.7、4.5 和1.3 个百分点,结构度量(Sα)仅比Inf-Net 网络模型低0.1个百分点。
表2 CEDMO模型与其他方法的评价指标对比
图6为不同模型分割对比实验结果。
图6 不同模型分割结果
可以看出,无论是肺部的整体病灶区域,还是一些局部细小的病灶点,CEDMO 模型都能够识别并且正确分割,分割结果更接近于真实值。在相同的评价指标的评估下,本文提出的CEDMO模型分割性能获得较好分割水平。
本文提出了一种自动分割肺部CT 图像的算法CEDMO,实验结果表明,模型在公开数据集上取得了优异的性能,在肺部炎症区域的分割任务中,与现有方法相比具有更高的准确性和稳定性。
该模型在编码器部分的特征提取阶段引入Canny算子对分割目标进行边缘检测,有效地抑制了特征提取过程中噪声的干扰,使得模型可获得更多的细节。在解码器部分改进PSA 注意力机制和设计多输出约束,通过损失函数之间的约束计算达到加快计算收敛的目的。经过实验得出,设计的算法整体分割效果有较大提升,在肺炎CT图像分割中有着较大的应用潜力。
虽然经过实验证明了CEDMO 模型的有效性,但由于COVID-19 CT Segmentation 数据集比较小,未能全部展示CEDMO 模型的性能。未来希望能在半监督学习上得到应用开发,并进一步优化模型,尤其是在算法设计上。提高模型分割肺炎CT 图像的准确性以及实时性,可以辅助医生更快地进行诊断,提高医生的诊断效率。