门靖茹,王泽荣,张富春,白宗文
(延安大学物理与电子信息学院,陕西延安 716000)
肺癌是一种全球常见的癌症,是发病率和死亡率增长最快、对生命威胁最大的恶性肿瘤之一[1],被发现时患者往往处于中晚期。而肺癌前期症状多表现为肺结节,其早期发现对肺癌患者生还率十分重要。肺结节分割的难点在于大小不同和形态各异,实性不一,容易对医疗诊断产生干扰。随着CT成像技术的飞速发展,采用计算机辅助技术(Computer Aided Detection,CAD)对肺结节进行分割已经成为趋势,而基于深度学习的肺结节分割方法可以提高诊断速度和准确率,具有十分重要的临床应用价值。
目前,针对肺结节分割方法的研究主要基于手动提取特征的传统方法[2-5]和自动提取特征的深度学习方法[6-14]。深度学习方法可以自动学习并提取输入网络的深度图像特征,实现肺结节分割任务。2015年LONG等[6]提 出 了 全 卷 积 网 络(Fully Convolution Network,FCN),他提出后很快被广泛应用到图像分割领域;RONNEBERGER等[7]在FCN的基础上提出了U-Net模型,添加了跳跃连接方法;MILLETARI等[8]提出了三维图像分割网络V-Net模型,在U-Net的基础上添加了残差连接和三维化。U-Net和V-Net可作为基线模型(Baseline),并衍生了多种改进算法。其中二维分割肺结节整图的工作有徐峰等[9]使用U-Net,得到了0.867的准确度;陈铭等[10]使用可分离卷积模块改进U-Net,得到的准确度为0.9,参数量为Baseline的30%。二维分割肺结节小图的工作有钟思华等[11]使用密集连接改进U-Net,得到骰子(Dice)系数为0.844;DUTANDE等[12]使用通道注意力改进U-Net,得到Dice系数为0.80;PEZZANO等[13]使用Inception V4改进U-Net,得到Jaccard系数为0.766。三维分割肺结节有YANG等[14]提出的MSDS-UNet模型,使用残差连接改进的3D-UNet模型结合深监督,得到Dice系数为0.675。
综上所述,现有方法在肺结节分割任务研究中主要追求的是高精度,但提高精度往往意味着模型参数量更大,对硬件的要求更高。本文致力于找到一种轻量级的模型,通过结构设计保持模型不损失原有的分割效果。具体的设计方法是使用多尺度特征增加感受野(Receptive Field)的丰富度,在压缩模型参数量的同时保持多尺度特征提取的质量。
本文使用的肺结节分割过程如图1所示,在数据输入模型前需要对原始的CT图像做预处理工作。首先将CT图像进行HU(Hounsfield Unit)转换,得到阈值为-1 024至3 071的密度灰度图;其次提取肺部掩膜图,剔除不需要的非肺区域信息,由于原始数据来自不同机器,做三维计算前需要对图像进行统一像素间隔处理(3个维度像素间隔均为1 mm),统一间隔处理后的数据再进行归一化和去均值,归一化使用的肺窗为-1 000至400,均值为0.25,由于考虑计算资源的限制,本文也对图像进行了三维体积的截取,截取的体积中至少包含1个肺结节,体积块尺寸为96×96×16体素(长度×宽度×深度);最后将若干体积块输入网络模型中,网络输出相同大小的二值分割结果将用于后续计算。
图1 肺结节分割流程框架
V-Net网络是一种三维全卷积神经网络,整体为对称的编码器-解码器结构,网络结构如图2所示。图2左边的编码器提取图像中的特征信息,他包含有4个具有不同特征分辨率的编码模块,每个模块在头尾部分使用残差连接,下采样层使用步长为2的卷积运算,保护信息流。图2网络右边的解码器完成特征图的解码,它由4个具有不同特征分辨率的解码模块组成,而上采样层使用步长为2的反卷积构成。V-Net通过跳跃连接保护细节信息。网络分类器由点卷积和Softmax激活函数组成,Softmax激活函数将特征图转换为前景和背景区域的分割概率图。由于病灶通常具有三维结构,该模型在医学图像处理中能够充分利用此类图像的三维上下文特征,提升网络的性能。V-Net在提取特征的总体设计上是可取的,但是模型深度单一,细节特征不够丰富,因此本文在宏观上使用多尺度特征。由于浅层卷积的细节信息丰富,深层卷积的语义信息丰富,本文使用4种层深提取的特征进行融合,总体设计如图2所示。模型分为4种层深路线,每种层深路线均有V-Net的桥连结构,这一点由于表达限制未在图中标出。将4种层深路线的数据进行通道维合并后再进行路线注意力机制,即使用两层全连接和Softmax激活函数进行路线间的重要性权重分配。
图2 M-VNet总体结构图
V-Net中仅使用的是5×5×5体素卷积,感受野较大且单一,而肺结节的目标很小,分割效果对细节特征和周围组织特征均有依赖。因此本文测试了多种不同尺寸组合路线的Dice系数指标,其中p1为不做任何处理的路线,p2为3×3×3体素卷积路线,p3为5×5×5体素卷积路线,p4为7×7×7体素卷积路线。由表1可知,对于肺结节这种小目标而言,小的卷积核提取器p2和未经处理的残差路线p1更有效。
表1 不同尺度路线选择的Dice系数
因此本文将V-Net中的5×5×5体素卷积操作替换为一个包含多尺度特征提取的M-Block组件,其多尺度属性兼顾细节信息和周边信息,在保证质量的前提下可实现模型参数的压缩。M-Block的网络结构如图3所示,其中,残差连接沿用V-Net原有的模块首尾连接的设置。
图3 多尺度特征结构M-Block
图3 的M-Block为瓶颈结构,该瓶颈结构可以使Block适用于所有输入和输出通道,不会受限于分组数。输入X的格式为N×C×h×w×d(批量大小×通道数×长度×宽度×深度)。M-Block首先对输入使用步长为1的点卷积将输入通道数变为中间通道数,其中编码器中间通道为输出通道数,解码器中间通道为输入通道数;然后进入多尺度特征提取(Multi-scale feature extraction,MF)网络部分,MF将通道分为两组,通过分组可以明显降低参数量。具体来说,第一组不做任何处理直接输出为X1;第二组进行3×3×3体素卷积,输出为X2。将X1,X2进行通道维合并操作后,通过一个点卷积改变通道数为输出通道数,该操作可以融合多尺度特征,得到优于单卷积核的特征提取效果。特征提取模块的前N-1个M-Block中输入输出通道数均设置为模块的输入通道数,在第N个M-Block设置输出设置为模块的输出通道数。此外,为了缓解数据的过拟合问题,本文使用0.5的随机失活正则化比率在模块间进行随机失活。
V-Net的总参数量为8 577万,权重文件大小为425.51 M;M-VNet的总参数量为1 190万,权重文件大小为64.77 M。统计对比了V-Net和本文方法的参数量,在批量大小为4时的训练时间和测试时间如表2所示。由表2可知,采用M-Block方法可大幅度降低参数量,结果显示参数量约为Baseline的13%,训练时间和测试时间较Baseline稍高,这使得模型部署到移动设备成为可能。
表2 模型的参数量、训练时间和测试时间对比
本文采用Dice loss[8]作为损失函数,并添加拉普拉斯平滑系数(Laplace smoothing)为1,拉普拉斯平滑可以避免零除问题,同时避免过拟合。当Laplace smoothing为1时,Dice loss可表示为
其中,X、Y分别代表预测二值体和真实二值体,X∩Y表示两者重合点的值的总和,|X|表示预测二值体的值的总和,|Y|表示真实二值体的值的总和。在实际计算时,将预测为非结节的特征图与前景为非结节的真实标签进行Dice loss计算,再将预测为结节的特征图与前景为结节的真实标签进行Dice loss计算,两者相加为实际的Dice loss。
本实验的数据来自于胸部影像数据集LUNA16(Lung Nodule Analysis 16),它来源于一个更大的数据集LIDC-IDRI[15],该数据集共有1 018个CT扫描病例图,LUNA16去除了厚度(slice thickness)大于3 mm的不一致切片和缺失部分切片的CT图,保留了888张3D的CT图。通过对数据进行数据重采样、数据归一化、图像切割和标签生成等预处理操作,可得到若干个尺寸为96 mm×96 mm×16 mm、至少包含1个肺结节的肺部CT数据块和对应的肺结节标签。按照8∶1∶1的比例将数据分为训练集、验证集、测试集。
本文的参数设置采用训练迭代次数(epoch)为100,优化器选用SGD优化器,初始学习率为0.001,每经过3次迭代训练,学习率衰减为原来的0.1倍。初始动量设置为0.99,在第80轮降为0.9,权重衰减为10-8,验证集每3次epoch做1次验证。
图4是模型的损失下降图。从图4A可知,训练损失在40轮后进入缓慢的下降阶段,在60轮后达到稳定。图4B验证损失在60轮后基本平缓,90轮后有轻微上升,即出现过拟合现象。本文实验采用早停策略,选取验证损失最低的模型为最优模型。
图4 模型的损失下降图
根据2.2节中网络参数的设置,对V-Net基础模型和M-VNet模型进行训练,与其他相关工作的指标对比如表3所示。MobileV2UNet的指标提高和参数量下降依赖于Mobile V2的倒残差和可分离卷积;SquExUNet由于采用了简单的通道注意力机制,在模型参数基本维持不变的情况下可轻微提高训练指标;InceptionUNet借鉴了Inception V4的Block组件结构,他的不对称卷积和高维分解方法在降低参数量和提高指标两方面达到平衡。在三维CT图像分割任务中,MSDS-UNet对三维化的U-Net添加了残差连接,这种设计与V-Net相似,指标提升主要通过深监督完成;另外,由于MSDS-UNet模型输入尺寸更大,整体指标较其他模型均有降低;集中式CNN使用带有中央池化的多路径网络进行分割,指标有小幅提升;三维密集网络带来的提升较大,贯通的信息流保证了分割结果包含足够的细节信息;NRU网络主要提出了噪声干扰模型,可一定程度上提高分割效果;M-VNet的主要贡献在于多种维度上提取的多尺度信息,总体上使用不同深度结构得到不同程度语义和细节信息的融合,细节上在单M-Block内添加残差支路纳入卷积计算,提升了模型复杂度和分割指标。在M-Block中,多尺度特征提取模块中对原始数据不做处理的分组十分重要,很大程度上贡献了模型特征的细节精度。
表3 不同模型的性能对比
图5是4种模型对5种肺结节图像的三维分割剖面图,从左到右依次为小型结节、中型结节、大型结节、血管粘连型结节、磨玻璃影型结节。从图5中可知,小结节部分4种模型均表现良好,证明了4种模型对病变区域都具有良好的敏感性和有效性;在中型结节和大型结节部分,V-Net方法出现过分割,出现较多假阳性点,这是由于V-Net在限定轮数内特征提取效率有限所致,3D-SquExVNet方法开始出现欠分割,这主要是由于通道注意力对一些特征的过表达,导致限定轮数中特征提取器提取的特征丰富性不足;在血管粘连型结节上V-Net和3D-SquExVNet方法均出现欠分割,形态轮廓不清晰,与血管粘连部分轮廓没有分割或分割不完整,可归因于细节信息不足,3D-Mobilev2VNet方法在血管粘连部分出现了不同程度的过分割和欠分割,这是由于模型对点的分类判断过于注重局部信息,修正能力弱;磨玻璃影型结节4种模型均出现欠分割,这是因为磨玻璃影型结节的边界十分模糊,模型可以提取到病变特征,但轮廓信息不明晰。但M-VNet可以很好地解决这个问题,在中型结节和大结节部分通过不同感受野的信息融合很好地平衡了欠分割和过分割问题,同时,M-VNet的磨玻璃影型结节分割效果优于整体过分割的3D-Mobilev2VNet的效果,也优于V-Net和3DSquExVNet,这说明了M-VNet的多尺度特征提取的优越性。综合以上实验结果,证明本文方法具有优于其他模型的良好的泛化分割性能和较高鲁棒性,对不同形态的肺结节均具有较好的分割结果。
图5 不同网络的三维分割结果横截面
本文提出了一种基于卷积复用的肺结节分割方法,通过使用多种Block组件的改进方法,对比研究了改进方法对模型分割性能的影响,得出了一种性能良好的多尺度融合轻量网络M-VNet。该网络继承了V-Net的总体设计思路,并在此基础上增加了多种深度路线和路线注意力机制,在M-Block设计中使用多尺度特征为模型增添细节信息和缩小模型参数。该模型参数量仅为V-Net的13%,但Dice系数提高了4%,泛化性能、鲁棒性能和分割性能均优于Baseline,具有部署于移动设备的潜力。后续将采用无锚框关键点引导从整个肺部CT图片中选取备选数据块,得到端到端的肺部整图CT的肺结节分割模型。