改进的CenterNet算法在肺结节检测中应用

2023-11-21 07:52赵寅霜姚善化
关键词:空洞损失结节

赵寅霜,姚善化

(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)

肺结节属于常见的呼吸系统问题,被认为是原发性的肺癌指标。肺癌的致死率和发病率在所有癌症中均位居首位[1],尽早地诊断出肺结节对肺癌的早期诊断具有重要意义。计算机断层扫描技术(Computed Tomography,CT)[2]被广泛运用于肺部疾病的检查中,在早期肺癌的筛查和及时的诊断中提供了不少帮助。但CT切片图像数量随着CT机扫描图像的质量增加而增加,且肺结节的体积普遍较小、形状各异、边缘模糊,还会与组织血管相粘,无疑给医生在审阅CT时增加了巨大的负担[3],还会出现误检漏检的问题。

基于深度学习的医学图像检测算法在图像特征提取上有过人能力,在医学图像检测诊断中起到重要作用。在图像检测领域中,根据检测阶段的不同可以分为基于候选区域的两阶段算法和基于目标回归的一阶段算法,两阶段算法有Faster RCNN[4]和Mask RCNN[5]等,一阶段算法有YOLO系列[6]、SSD[7]和Centernet[8]等。Centernet算法与其他算法的突出点是采用了Archo-free的检测机制,大大提高了速度和精度,在检测领域中展现出良好的效果。但是在检测肺部CT图像时,对于结节检测精度不高,容易错检漏检,难以达到预期效果。针对上述问题,提出了改进的Centernet的检测方法,探究在肺结节检测领域的可行性和有效性。

1 CenterNet算法原理

1.1 CenterNet网络结构

CenterNet算法是一种采用了Anchor-free机制的一阶段检测算法,不仅在速度上优势于其他单阶段或两阶段的预锚框网络,而且针对尺寸过小的小目标难以匹配先验框的问题有了很好地处理,对小目标检测具有一定的优势[9]。在检测过程中,CenterNet会把目标物体当成一个点来检测,将目标中心点作为一个关键点,然后以中心点为原点来预测目标的中心点偏移量offset、宽高size,最后会回归到预测框,通过此过程来完成图像检测工作。对于它的主干网络,原始网络使用了3种主干网络来用于目标检测,分别为Resnet-18、DLA-34、Hourglass-104,3种网络各有优缺,根据需要选择。该算法基于Anchor-free,不存在选择超参数的问题,而且还消除了NMS后处理过程,大大减少了计算量和训练时间。Centernet目标检测算法结构如图1所示。

图1 CenterNet网络结构图

(1)

式中:σ为目标尺寸自适应的标准差,若两个同类别目标的高斯核重合时,则取计算值最大的那一个。

(2)

1.2 损失函数计算

CenterNet检测算法的Loss函数主要由3部分组成:中心点预测分支损失函数Lk、尺寸预测分支损失函数Lsize和中心点偏置预测分支损失函数Loff,三者线性组合得到

Ldet=LK+λregLsize+λoffLoff

(3)

中心点预测分支损失函数Lk采用了Focal Loss函数:

(4)

超参数选择为λreg=0.1;λoff=1;α=2;β=4。

尺寸预测分支损失函数为:

(5)

中心点偏置预测分支损失函数为:

(6)

2 改进的CenterNet检测模型

选择Resnet-50网络作为改进的CenterNet检测网络的主干网络提取网络,原因是考虑到对肺结节CT图像检测的精度和速度的要求,相对于Resnet-18、DLA-34、Hourglass-104三种网络,Resnet-50网络可以很好地平衡速度和精度。针对肺结节的形态、大小、位置等特征,将以ResNet-50为主干的CenterNet检测网络进行改进:

1)引入坐标注意力机制(Coordinate Attention,CA)[10],提升目标结节的位置信息敏感性,使其更加精准识别结节区域位置;

2)引入空洞空间池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)[11],减少主干网络在下采样过程中特征信息的损失;

3)借鉴FPN[12]的构造思想,将主干网络的编码网络的图像特征与解码网络图像特征相融合,充分提取结节特征信息。

2.1 坐标注意力机制

在肺结节CT图像中,结节普遍体积较小、形状各异、数量少,肺实质上还存在着大量的血管、气管等背景信息。在检测网络采样过程中会层层积累大量无用信息,导致目标结节的关键信息被忽略,目标区域提取不准确,降低检测精度。在顶层网络引入坐标注意力机制CA,可以很好地提取到结节的位置和方向信息,从而更加准确地提取结节的区域位置,降低了非目标背景信息的干扰,提升检测性能。坐标注意力机制的示意图如图2所示,主要有坐标信息嵌入模块、坐标注意力生成模块和坐标注意力输出模块[13]。

图2 坐标注意力机制

首先,坐标信息嵌入,为了避免2D全局池化引入导致位置信息损失,将通道注意力分解成两个并行的1D特征编码,再用两个1D的池化核(H,1)、(1,W)来编码水平方向和垂直方向特征。假设输入肺结节图像特征X,那么第c维特征输出为

(7)

(8)

通过不同方向的集成特征,形成一对方向可知的结节特征图,可以允许注意力模块捕捉单方向上的长距离关系,同时保留另一个方向的空间信息,帮助定位。

其次,是坐标注意力生成,将两个方向的结节特征图进行拼接,再使用1 × 1卷积变换函数F进行特征转化:

f=δ(F([zh,zw]))

(9)

gh=σ(Fh(fh))

(10)

gw=σ(Fw(fw))

(11)

最后,是坐标注意力输出,经过如上步骤过后,输出的关于肺结节特征X的坐标注意力:

(12)

2.2 空洞金字塔模块

在用ResNet-50主干网络下采样过程中,每一次下采样都会导致特征图分辨率下降,加上CT影像上的肺结节比例都比较小、特征不清晰,很容易导致部分特征细节丢失、上下文信息不足。通过在第3次下采样后引入空洞金字塔模块ASPP,获得不同感受野的上下文信息,它的模块结构图如图3所示。

图3 空洞金字塔模块

ASPP主要采用不同空洞率空洞卷积并行的进行特征采样,可以多尺度多比例采取图像特征信息。采样处理过程首先将经过ResNet-50第3级残差网络处理过的肺结节图像分别输入到一个1 × 1卷积、3个3 × 3空洞卷积和1个空洞池化层,分别采取到不同感受野的结节特征图信息,最后将这些肺结节特征图拼接起来,通过1 × 1卷积调整通道数后输出。对于空洞卷积的空洞率设置,根据结节特征图像的大小最终设置为1、3、5,从而获得适当的感受野,可以多尺度提取图像特征;空洞池化层主要作用是把结节特征图压缩后,采用1 × 1卷积来深度提取特征,再通过上采样操作把特征图恢复到原图的大小,满足其他采样的特征图拼接要求,最终将拼接后输出具有多感受野结节特征图信息作为第4级残差网络输入,丰富上下文信息。

2.3 特征融合

在CenterNet网络不断下采样,小目标的像素点信息会逐渐减少,甚至在采样过程中出现小目标像素点信息不断消失的情况。对于小结节来说,本身所具有的特征像素很少,在采样过程中会不断丢失信息,最终采样的信息会大量缺失,导致在上采样过程会在这些缺失信息的小目标特征上进行推理,出现漏检、误检的问题,相应地准确率会下降。针对此问题借鉴了FPN结构原理如图4所示,将每次残差输出的特征与反卷积处理后的特征进行特征融合,实现浅层特征信息的复用,再结合ASPP模块的处理,更加丰富了小结节特征信息,降低了结节特征细节的遗漏几率。

综合以上的模块机制,可以得到改进CenterNet检测网络整体结构如图5所示,在最后一阶的上采样与横向连接合成后,再用1 × 1卷积来消除特征重叠现象。

图5 改进的CenterNet网络模型

3 实验结果

3.1 数据准备

3.1.1 实验数据集

数据集采用公开数据集LUNA16肺部CT影像数据集。LUNA16数据集是肺结节检测数据集LIDC-IDRI的子集,不同点就是LUNA16数据集删除了在CT扫描中切片厚度大于3 mm和小于3 mm的CT切片图像,最终的数据集保留了888个低剂量的肺结节CT图像。对于这些CT图像,由4名放射科医生对结节的位置和大小进行标注,总计标注了1 186个结节,直径大小范围为3 ~ 30 mm之间。

3.1.2 数据增强

运用CenterNet检测网络需要采用大量的数据集训练。但LUNA16原始数据集只有888个病例图片,数据量远远不够。为了提高模型的泛化能力,增加训练的数据量,将原始CT图像进行随机改变图像亮度、图像翻转、增加噪声、随机旋转、随机平移等处理进行数据集扩充,最终扩充了7 116个CT切片图像,并且随机分配4 127个数据给训练集,剩余2 989个分别给训练集和测试集。

3.2 评价训练指标

为了观察改进的CenterNet检测模型在检测肺结节上的性能变化,使用平均精度(Average Precision,AP)PA作为衡量改进算法的性能指标:

(13)

(14)

(15)

首先需要计算查准率(Precision)P和召回率(Recall)R,查准率表示在所有识别的结果中识别正确结果的比例;召回率是指识别正确的结果占数据集中所有要识别出总数的比例。PT表示实际是正例结果被预测为正例的样本数,PF表示实际为负例结果预测为正例的样本数,NF表示实际为正例结果预测为负例的样本数。

3.3 实验结果分析

训练过程使用搭载Windows11操作系统的计算机,处理器Intel i5-12490F,显卡NVIDIA GeForce 3060ti(8 GB显存),内存大小为16 GB。网络训练环境为Pytorch 1.8.0深度学习训练框架。输入图像大小为512 × 512,训练轮数epoch为200,批次大小batch_size设为10,初始学习率设为0.000 125,最后学习率为0.000 012 5。200次训练结束后,分别将原始的CenterNet网络与改进后的CenterNet网络进行对比,是改进前后的网络训练总损失函数曲线如图6所示,虚曲线是原始网络的总损失函数曲线,实曲线是改进后的总损失函数曲线,改进后的网络损失函数相对于原始损失值加快了收敛速度,且损失值有了降低,最终损失函数值从原始模型的0.41降至改进模型的0.28,并且在第140次迭代训练时趋于稳定状态。

图6 原始模型与改进模型总损失函数对比

在设置阈值IOU=0.5,最大框数maxdet=100条件下,得到改进模型P-R(Precision-Recall)曲线如图7所示,曲线图以召回率(Recall)为横轴,精度(Precision)为纵轴,在曲线图上可以看出曲线的折点趋近坐标(1,1),说明模型的性能相对较好,鲁棒性较高。

图7 改进模型的P-R曲线

在平均精度PA和平均召回率RA方面,将原始CenterNet算法与改进后的CenterNet算法进行比较,在采取同样的数据集和实验环境情况下,平均精度值PA提高了6.8%,平均召回率RA提高了9.1%,参数变化如表1所示。

表1 原始模型与改进算法结果对比

改进后的算法性能上有了明显的提高,在检测肺结节上比原始网络检测效果精度更高。将改进模型运用到数据集检测中,检测结果如图8所示,对多样性结节检测的平均置信度达到90%以上,改进模型对多样性结节有较好的检测识别能力,具有一定的泛化能力。

孤立结节 贴壁结节 粘连血管结节 磨玻璃样结节 空洞样结节

4 结 语

提出了基于CenterNet网络基础上的改进算法,以达到对CT图像中肺结节检测的目的,为了平衡精度和速度选择Resnet-50作为主干网络,首先在主干网络顶层引入坐标注意力机制来提高结节区域位置的敏感性,提高区域提取精度;然后,在第3次采样过后融入ASPP结构来丰富训练的上下文信息;最后采用FPN结构将采样解码信息与采样编码信息融合复用,提升训练性能。经过200次迭代之后,平均精度提升了6.8%,平均召回率提高9.1%,对于各类肺结节可以精确定位目标和识别,表明CenterNet算法在结节检测中具有一定的可行性和有效性。该实验是在2D图像下进行的,还存在一定的局限性,下一步工作目标将是对3D CT图像的进行研究。

猜你喜欢
空洞损失结节
肺结节,不纠结
发现肺结节需要做PET/CT吗?
胖胖损失了多少元
从气、虚、痰、瘀辨治肺结节术后咳嗽
体检查出肺结节,我该怎么办
玉米抽穗前倒伏怎么办?怎么减少损失?
空洞的眼神
一般自由碰撞的最大动能损失
用事实说话胜过空洞的说教——以教育类报道为例
损失