1. 引言
肺癌是肺结节恶性肿瘤的一种,其发病率和死亡率一直在世界上居高不下,其早期检测对有效控制疾病进展至关重要 [1]。临床上,在接受系统治疗的肺癌患者中,医生一般通过CT图像来观察肺癌的一些特征如形态、体积来进行辅助判断和诊断 [2],然而,在高分辨率和高质量的胸部CT上,手动描绘肺结节非常复杂、耗时且极其繁琐。计算机辅助诊断(CAD)是结合医学影像技术和计算机技术,协助医师提高诊断效率和准确率的一种工具。要对肺癌进行计算机辅助诊断的关键问题是实现对病灶区域进行快速准确的分割。
医学CT图像结构极其复杂,成像模式多种多样,医院数据标准迥异,如CT、MRI、超声等,成像方法的不同,选择的分割方法不同,成像部位的不同,选择的分割方法也会不同。由于图像是无数个像素点组成,因此,病变的边界、形状等信息也很模糊。医学影像分割的一些传统方法,如基于阈值的分割方法 [3]、基于区域生长的分割方法 [4]、基于聚类的分割方法、基于边界的分割方法 [5] 等很多还需要人为干预,即称为半自动分割方法,并且容易受到主观影响。在医学图像处理中,卷积神经网络CNN代替了传统半自动分割,实现了全自动的分割,在许多领域都取得了一些成果,例如肺结节的分类 [6]、CT中ROI的定位 [7]、MRI中大脑的注册 [8] 或神经元结构的分割。在肺结节分割方面 [9],许多国内外学者提出了诸如U-Net [10]、SegNet [11] 等优秀的CNN网络模型,并取得不错的效果。然而,这些方法仅仅在二维CT图像上进行分割,却疏忽了器官在空间中的三维信息,导致分割效果提升不大。为此,许多科研学者提出将整个三维CT序列作为输入,传输到3D CNN网络进行训练,这种方法可行性高,但是对计算机硬件的要求特别高,特别是GPU、内存等,这些计算资源限制了3D CNN网络的层数以及参数量,训练时间也十分漫长。
针对上述问题,本文提出了一种连续CT切片作为输入的编码器–解码器分割框架(Continuous Slices Input UNet,简称CSI-UNet),和一个连续CT切片之间的特征融合模块(Continuous Slices Fusion Block,简称CSF-Block)。将连续的CT切片输入到网络,通过下采样、上采样和特征融合模块对输入的多张连续CT切片进行不同维度上的特征提取和概率融合,类似医师在每一张单个切片上勾画出目标区域的轮廓时,会参考与其相邻的切片。不仅能提升分割精度,而且能有效地降低运算量和训练速度。
2. 相关工作
UNet由于网络层数比较浅,非常适合医学领域的分割任务,但在医学具体任务上,更多的是对UNet网络进行优化、改进,使之效果更好。UNet改进网络通常是在UNet网络基础上,或是改变主干网络中卷积、重采样的方式,或是结合Inception结构、残差结构、注意力结构、金字塔池结构等综合运用,以此来提高分割的精度。ASU-Net++ (2021) [12] 将原来的空间金字塔池(ASPP)简化为自适应池结构,并在一个超声数据集和两个CT数据集上对该方法进行了评估。PSPNet (2017) [13] 采用金字塔池模块,在多尺度区域上提取出固定大小的特征向量,来融合挖掘上下文信息和全局信息。DeepLab v3+ (2018) [14] 将空洞卷积和金字塔池层保留,并加入了多尺度的特征信息融合。DUNet (2019) [15] 通过添加空洞卷积扩大感受野来获取全局特征信息,但是会造成局部细节信息丢失。MIFNet (2019) [16] 通过将不同尺度的图像输入到网络,通过网络对不同尺度的特征进行融合和提取,以实现对胃癌病灶区域的分割。
在三维分割框架方面,基于三维CNN的方法都是将整个图像序列分割为一个三维结果,由于空间信息的下降,导致基于CNN的2D方法的性能普遍低于基于3D的方法。然而,基于3D的方法需要更复杂的网络结构、更多的算力资源,训练更具挑战性。Vnet (2016) [17] 是最具有代表性3D的框架,一些关于三维分割的研究都是基于VNet。如VoxResNet (2018) [18],在VNet框架下,加入了3D残差连接,缓解了模型训练时产生的退化问题,同时,充分利用加深网络层数来提升模型的性能。nnUNet (2018) [19] 将工作重心集中在预处理、训练、后处理方面,没有用到新的网络结构,只对UNet做出了一些修改,将此种分割结果与许多先进网络对比,结果取得了非常好的成绩。
CT图像中结节的形状、特征和周围噪音给肺部结节的鲁棒分割带来了挑战。本文提出了一种资源高效的、端到端的CSI-UNet模型框架,还提出一种CSF-Block模块在框架中进行有效的特征融合,用于分割肺部CT图像中的肺结节,其计算效率类似于基于2D CNN的分割框架,并像基于3D CNN的分割框架一样考虑空间信息。本文针对CSI-UNet网络的有效性做了对比实验,分别与一些具有代表性的医学影像分割方法如UNet (2015)、UNet++ (2018)、Dense-UNet (2020)、Swin-UNet (2021)对比。
3. 网络改进
本文提出一种端到端的深度卷积模型CSI-UNet,以UNet网络作为基础网络,在UNet的编码器结构部分改进,在跳跃连接结构部分加入了新提出的带有权值学习的连续CT切片图像融合模块,在每次下采样(或上采样)之前的双层卷积部分加入了残差模块,构建了适用于肺结节分割的CSI-UNet网络。
3.1. CSI-UNet网络结构
CSI-UNet网络与UNet网络类似,包括编码器、解码器和中间的跳跃连接三种结构,如图1所示。
编码结构部分:接受输入连续的三张CT切片图像,通过卷积、下采样,得到不同尺度的特征层。本文在每次下采样之前(或上采样之前)的双层卷积部分加入了残差学习机制,既避免了梯度消失和梯度爆炸,又使得分割效果更为精准,残差结构如图2所示,C和C'代表通道数。常见的下采样方法有卷积、池化等方法,最大池化通过保留最突出的特征,丢弃不明显的特征来实现下采样,平均池化是为了聚合空间上的信息特征,本文使用的下采样方法是最大池化。跳跃连接部分:不同尺度的特征层通过CSF-Block对不同的切片层进行概率融合,通过跳跃连接与解码器的特征层拼接,有效地弥补了图像上采样的过程中细节恢复的不足。解码结构部分:常用的上采样有线性插值、反池化、转置卷积等,此处使用最邻近插值上采样方法恢复图片的分辨率,弥补池化过程中丢失的细节信息,1 × 1卷积会根据分类需求对图片中的像素进行分类,以得到最终的结果。
3.2. CSF-Block结构
CSF-Block的输入层称Input层(Feature Map, N × H × W × C),有N个切片层,通道数为C,高宽分别为H、W。CSF-Block结构如图3所示。该模块有两条分支,第一条分支中,通过卷积改变通道数得到一个通道为1高宽不变的N个切片层的特征图,然后,N个切片层经过concat拼接得到一个H×W×N的特征层,然后,通过通道注意力模块(Channel Attention Module, CAM)得到一个1 × 1 × N的权重特征图,该分支的作用是学习到N个切片层的权重。第二条分支中,Input层与第一条分支中的权值进行逐个切片层相乘再相加取均值,融合得到Output特征图(H × W × C)。
CSF-Block的作用是让编码器部分不同尺度的特征层进行特征融合,使特征层的结构能够与解码器部分的特征层进行连接,提高了分割精度。CSF-Block可充分融合N个切片层之间的信息,保留上下文信息,增强高维信息。并且适用于多个切片层之间的融合。不过值得注意的是,本文的CSI-UNet网络采用的CSF-Block结构中N = 3。
CAM模块的作用是自适应地学习输入通道间的特征权重,并通过权重强调或抑制来调整通道间的相关性。CAM模块如图4所示,首先,输入特征层F(H×W×C)分别经过平均池化和最大池化来分别聚合空间信息特征和突出空间信息特征,然后,通过两个全连接层,即双层感知机MLP,将两组结果逐元素相加经过Sigmoid得到通道特征层的权重。

Figure 4. Channel attention module structure
图4. 通道注意力模块结构
4. 实验与分析
4.1. 数据集
本文肺结节分割的数据采用的是LUNA16,该数据集是LIDC-IDRI下面的一个子集,LIDC-IDRI数据集一共收录了1018个病人的CT图像序列,这些CT序列都是由4位放射科专家经过两阶段仔细的诊断标注,让标记的结果做到客观、准确。LUNA16数据集由888个带注释的CT扫描组成。在这些CT图像中,四位放射科医生扫描后,将切片厚度大于3 mm的CT去除,剔除3 mm以上的CT是因为切片越薄效果越好。CT图像的文件格式为mhd,每张CT切片的像素点大小是512 × 512,通道数是1。关于LUNA16数据集的介绍可参考官方论文 [20]。本文由于需要连续的CT切片作为输入,在LUNA16数据集888个CT序列中选取1200张符合要求的图像作为数据集,按照4:1划分,得到的训练集和测试集图片数量分别为960张和240张。
4.2. 预处理
本文所采用的数据集是LIDC-IDRI的子集LUNA16数据集。由于CT影像是整个胸腔的截面,且肺结节只需要关注肺实质区域,因此,需要对数据进行处理。先对CT数据进行格式转换,采用基于阈值的方法将肺实质分割出来,然后,利用形态学方法对肺实质内部的噪声进行消除,以避免其它组织的影响,使结节分割更为准确。
CT图像所采用的单位为HU,代表着X射线衰减值,HU水 = 0,HU空气 = −1000,其他组织的HU值由HU水和HU空气计算可得。本文预处理流程图如图5所示。图5(a)是原始图像,经过全局阈值的方法将图像转化成二进制图像,如图5(b),阈值T = −600HU。将二进制图像中靠近边框周围的值和肉眼看不见的斑点消除,得到图5(c)。通过连通区域标记得到图5(d)。连通2个最大的区域得到图5(e)。然后分别用半径为2和10的圆依次进行侵蚀和闭合操作得到图图5(f)和图5(g)。最后填充肺实质区域内的小孔得到mask图片,如图5(h),将图5(a)与图5(h)叠加得到肺实质区域。经过线性变换,HU值就可以得到像素值。
4.3. 评价指标
混淆矩阵(Confusion Matrix,也叫误差矩阵),是一种用N × N的矩阵形式来表示的、对结果精度进行评价的一种标准格式。本文的图像分割本质是一个二元分类问题,因此,用2 × 2的混淆矩阵进行评价。混淆矩阵见表1,其中,T代表True,F代表False,P代表Postive,N代表Negative。
在图像分割领域,使用Dice相似系数(Dice Similariy Coefficient, DSC)和平均交并比(Mean Intersection over Union, MIoU)等来评价算法的性能,具体公式如式(1)、式(2):
(1)
(2)
4.4. 实验结果
本文将提出的分割算法CSI-UNet与UNet、UNet++、Dense-UNet、Swin-UNet进行对比,以检验不同网络的性能。采用5-fold cross validation,参数训练采用Adam优化器,学习率设为0.0002,损失函数为交叉熵,激活函数为ReLU,最大迭代次数epoch设为200轮,batchsize设为40。在Window10平台上搭建整个模型,显卡为Nvidia GeForce RTX 3060 Ti,CPU为Core i7-12700K,内存为32G,编程语言为Python 3.8,深度学习框架为Pytorch 1.8.0。

Figure 6. Comparison diagram of segmentation results
图6. 分割结果对比图
对五组实验的分割结果进行可视化处理,部分结果如图6所示。从图中可直观看出,UNet网络分割有一定的瑕疵,效果一般,其它网络在视觉效果上区别不太明显。根据训练集和数据集的实验结果可以得到不同模型在训练集和测试集上的Dice相似系数和均交并比,如表2所示。

Table 2. Evaluation index of different models of confusion matrix
表2. 混淆矩阵不同模型的评价指标
从表2可知,在使用相同数据集的情况下,本文算法在Dice和MIoU指标下均优于其他网络,相比UNet提升了5.97%、5.91%,从侧面反映CSI-UNet模型考虑了更多的三维语义信息,并且证明了其分割精度的提升和分割的有效性。Swin-UNet表现仅优于UNet,这也可能是数据集量不够,模型参数训练不够的结果。从图7绘制了各种算法训练的epoch曲线图中可以进一步直观反映分割模型的性能,收敛速度越快,其学习的参数与ROI病灶区域的相关度越高。对于两种评价指标,训练前期模型收敛速度更快,后期收敛变缓,同时训练相对更稳定,指标曲线几乎始终在其他模型之上,同时,最终得到的分割精度也更高。
传统的卷积神经网络在传输过程中容易丢失一些信息。同时,梯度消失和梯度爆炸会给传统卷积神经网络的训练带来困难。本文在CSI-UNet网络每次下采样之前(或上采样之前)的双层卷积部分加入了残差模块进行了消融实验,实验结果如表3。加入了残差模块方法要比普通卷积方法效果好很多,侧面映证了残差模块可以加强特征层之间特征信息的提取。

Table 3. Residual module ablation experiment
表3. 残差模块消融实验
5. 结论
肺结节的分割对计算机辅助诊断有着十分关键的作用。本文针对传统CT图像分割算法没有考虑多个切片中肺结节之间的关系,提出了一种改进的UNet分割方法。通过对比实验表明,该方法性能上表现良好,分割效果不错,Dice相似系数和MioU都有提高。但本文算法也存在一定的不足,由于需要连续切片作为输入来提取更充分的特征,所以该方法一般局限于CT、MRI类具有连续切片的影像,对切片的厚度、质量也有所要求。另外,由于肺结节的种类繁多,单一的数据集并不能充分体现结节的多样性。下一步研究的工作重点是对该网络框架在不同的数据集上试验研究,以期望获得更好的肺结节分割性能。
基金项目
国家自然科学基金面上基金项目(61170093),湖北省教育厅科学技术研究计划重点基金项目(D20141603)。