C-3D可变形卷积神经网络模型的肺结节检测 下载: 1104次
1 引言
近几年,人工智能在医学影像检测方面的应用已取得很大进展[1-2],包括视网膜血管的分割[3]、胃癌的分类[4]、脑肿瘤的分割[5]、肺结节的检测等。肺结节是肺癌辨别的最重要指标,如何选用合适的人工智能卷积神经网络对肺结节进行快速和准确诊断已成为当前医学影像学的研究热点之一。赵鹏飞等[6]将多输入卷积神经网络应用于肺结节检测中,在模型上选取了三种不同大小的输入,分别为10×10、20×20和30×30。此外,该模型去除了卷积神经网络的池化层,由9个卷积层和1个全连接层组成。在LIDC-IDIR数据集上进行实验,实验结果表明该模型在各个评价指标上均有待提高。管姝等[7]将简单的二维卷积神经网络应用在肺结节检测上,模型主体结构由4个二维卷积层与4个二维池化层交替组成,输出结构由2个全连接层和1个分类器组成。为了防止出现过拟合现象,在两个全连层之间添加Dropout层。由于该卷积神经网络结构比较简单,在LIDC-IDIR数据集上进行的实验取得的效果一般。杨帆等[8]采用了双通道二维卷积神经网络结构来检测肺结节,分别将预处理前后的图片输入至两个相同的模型中,最后将两个模型的结果进行综合;该模型由4个卷积层和3个下采样层交替组成,由全连接层输出两个模型的结果,最后由Softmax层计算概率;该研究通过双通道的方式在LIDC-IDIR数据集上取得了较好的结果。苗光等[9]提出了二维卷积神经网络与三维卷积神经网络相结合的方法来检测肺结节。该研究首先对二维卷积神经网络U-Net进行改进,添加了批归一化(BN)层,采用PReLU激活函数代替原始ReLU激活函数,并添加Dropout层;其次,通过设计三维卷积神经网络筛选出阳性结节,该网络模型共有3个卷积层、1个池化层和2个全连接层,其工作原理是用U-Net卷积神经网络筛选出疑似阳性的结节,之后通过设计的三维卷积神经网络对筛选出来的结节进行识别。该方法通过分步的方式进行肺结节检测,在训练样本上取得了很高的精度,但在测试样本上,其召回率和精准率不高,导致该方法不具有很好的鲁棒性和可靠性。
文献[ 6]、文献[ 7]和文献[ 8]均采用了二维卷积神经网络来进行肺结节的检测识别,不足以提取出三维肺结节的立体深度信息。此外,这3篇文献都只是单一地进行真假阳性肺结节的识别,未对具体的肺结节定位问题进行研究。文献[ 9]用一个卷积神经网络进行肺结节的定位,再由另一个卷积神经网络进行真假阳性肺结节的识别,使过程过于复杂,造成训练的参数增加,导致训练时间大幅度增加,且该模型在全新的数据集上的表现无法确定。上述文献均采用了传统的卷积神经网络,在卷积与池化方式上均为方块卷积和方块池化,由于目标物体形状不规则,传统的卷积和池化难以高效率地提取目标的特征信息。
基于以上模型的缺陷,本文借鉴了可变形卷积神经网络[10-11]的思想,针对肺结节的三维不规则特征,在进行卷积和池化操作时使网络能够自主地改变卷积核与池化核的大小与形状,卷积核和池化核更加贴近肺结节的形状特征,因此能够充分提取不规则的肺结节特征信息。在肺结节定位问题上,本文基于卷积神经网络实现了在图片上的32×32×32像素逐步扫描,在扫描的同时进行定位,将定位问题转化为了识别问题,避免了用另一个卷积神经网络进行定位。研究表明,本文方法效率更高,准确率更高。本文在实验部分用80%的LIDC-IDIR数据进行训练,剩余20%的数据用来测试,保证了模型的可靠性和鲁棒性。
2 C-3D卷积神经网络模型的改进
在肺部电子计算机断层扫描(CT)图中,一个病例存在多张肺部图片,每张图片之间都有联系,如
C-3D卷积神经网络模型[12-13]最初设计的目的是将其用于连续动作的图片识别,它对图片的识别要求更多是时序性,即每帧图片之间的连贯性。C-3D卷积神经网络模型结构共有8个卷积层,5个池化层,2个全连接层以及1个softmax层。C-3D卷积神经网络模型的具体结构如
C-3D卷积神经网络模型的改进包括结构设计改进和参数设计改进两部分:
1) 在结构设计方面,本文在C-3D卷积神经网络的基础上,对肺结节的定位、卷积层的卷积方式、池化层的池化方式进行了改进,对输出方式也进行了改进;
2) 在参数设计方面,通过增加三种学习率进行参数对比实验,引入三种优化函数的参数对比实验。依据上述学习率和优化函数的参数实验结果,找到最佳学习率和优化函数。
2.1 C-3D卷积神经网络模型的可变形改进
传统的卷积神经网络采用的是方块卷积和方块池化,其几何变换建模的能力是有限的,只能以固定形状和大小的窗口进行扫描,易提取到非目标物体的信息。针对方块卷积和方块池化无法高效地提取目标特征信息的问题,本研究采用可变形卷积核与池化核来自主选择卷积与池化窗口,通过根据目标的形状特征改变窗口大小、形状和位置的方法,使得窗口视野集中在目标物体上,避免了无用信息的提取。
2.1.1 卷积方式的改进
为实现三维可变形卷积,需要训练卷积层偏移量和权重,传统二维卷积、三维卷积、三维可变形卷积的偏移量和权重的训练可分别表示为
式中:y(p0)表示卷积输出;w(pn)代表权重;wm代表第m张图片的权重;xm代表第m张图片的输入层像素点集合;pn代表传统窗口的偏移位置,在感受野R中选取,以三维卷积核3×3×3为例,感受野R={(-1,-1-1),(-1,-1,0),…,(1,1,0),(1,1,1)};x代表输入层像素点的集合;p0代表卷积窗口输出的每个像素点位置;Δpn代表可变形卷积窗口的偏移位置;z代表一次卷积所输入的图片张数。改进后的三维可变形卷积结构如
2.1.2 池化方式的改进
为了实现三维可变形池化,同样需要训练偏移量,传统的二维池化是把任意大小的区域转化为固定大小区域的特征图,传统的二维池化、三维池化、三维可变形池化的训练分别可表示为
式中:y(i,j)代表第i行、第j列的像素池化输出;pk代表池化窗口左上角的点;Δpij表示可变形池化窗口的偏移位置;bin(i,j)表示固定大小的区域;nij表示固定大小bin(i,j)的总像素。改进后的三维可变形池化结构如
图 3. 三维可变形卷积与池化结构。(a)三维可变形卷积结构;(b)三维可变形池化结构
Fig. 3. Structures of 3D deformable convolution and pooling. (a) 3D deformable convolution; (b) 3D deformable pooling
2.2 C-3D卷积神经网络模型定位和输出方式改进
在定位方面,C-3D卷积神经网络模型在对CT图片进行识别时,输入的是整张图片,因此模型不能对肺结节进行精确定位;在输出方面,C-3D卷积神经网络模型输出层为2层全连接层和1层softmax层。由于数据量较大,在进行训练时,输出层会占用大量的内存,出现内存溢出,从而无法进行训练。
本文将C-3D卷积神经网络模型的原始输入像素尺寸16×112×112×3改为较小像素尺寸32×32×32×1,这样使得C-3D卷积神经网络模型在整体的图片上进行窗口滑动识别,在识别的同时进行定位,从而将一个复杂的定位问题转化为同步进行识别和定位的问题。采用较小像素尺寸32×32×32结构的改进方法,避免了用另一个卷积神经模型来进行补充定位,极大地提高了定位的精确性和模型运算的效率。
C-3D卷积神经网络模型的输出是由多个全连接层和一个softmax层组成,这样的结构在数据量较大时会使得训练成本大幅度增加,并且容易导致过拟合。本文借鉴了全卷积神经网络[11-15]的思想,全卷积神经网络主要用于语义分割类任务,用卷积层代替全部的全连接层和softmax层,进行该操作的原因是卷积层中卷积核的计算是并行的,不需要同时读入内存中,避免内存溢出。由于本文的目标在于识别,因此用一个卷积层代替多个全连接层的同时,保留了最后一个全连接层。
2.1、2.2节是对原始C-3D卷积神经网络模型结构的改进,改进之后的C-3D可变形卷积神经网络模型结构和具体参数设置分别如
图 4. C-3D可变形卷积神经网络模型结构
Fig. 4. Structure of C-3D deformable convolutional neural network model
表 1. C-3D可变形卷积神经网络模型中卷积层与池化层的具体参数设置
Table 1. Setting of parameters of convolution layer and pooling layer in C-3D deformable convolutional neural network
|
2.3 C-3D卷积神经网络的学习率参数改进
原始的C-3D卷积神经网络是针对UCF101动作识别数据集[16-17]建立的网络,该数据集包含动作多样的图片,包括相机运行、外观变化、姿态变化、物体比例变化、背景变化、光纤变化等,采集到的数据可分为5类:人与物体互动、人体动作、人与人互动、乐器演奏、体育运动。而本文仅针对肺部真假阳性结节的识别,是一个二分类的问题,因此需要对C-3D卷积神经网络的参数进行改进。
1) 学习率参数设置的改进
学习率的设置是重要的一步,学习率过大导致无法得到最优解,过小会减小模型的优化速度,降低训练的效率,最终导致过拟合现象。原始的C-3D卷积神经网络模型的学习率为
式中:le表示学习率;epochs表示循环次数。学习率的新判别准则为
式中:le_base表示原始基础学习率,为恒定的值;k =0.1。通过对这三种学习率的对比实验,来确定最佳学习率。
2) 优化函数设置的改进
选择合适的优化算法不仅能够避免出现局部最优的情况,还能够加速网络训练,使收敛更快,原始的C-3D卷积神经网络模型采用的是Adam优化函数,研究分别采取了另外两种优化函数进行实验:
(1) Adam优化函数。Adam 优化函数基于梯度下降的方法,每次迭代参数的学习步长都有一个确定的范围,所以梯度也稳定在一个范围,该优化函数的优点是能够稳定地进行优化,缺点是过于稳定导致无法达到最优解。
(2) 随机梯度下降法(SGD)。其原理是每次用一小批样本进行计算并优化,该方法具有传统梯度下降法更新参数时的低方差特性,也改善了传统梯度下降法参数更新慢的问题。此外,加入动量因子的随机梯度下降法能够在梯度下降方向不变的情况下,使参数更新更快,从而加速收敛,在梯度下降方向改变的情况下,使参数更新变慢,从而减小振荡。
(3) RMSprop法。该方法对低频参数进行较大范围的更新,对高频参数进行较小范围的更新,对于稀疏数据的表现很好,能够实现学习率的自动更改,很好地提高SGD的鲁棒性。
3 实验与结果分析
3.1 实验环境与实验数据
本文实验的硬件配置为:3台计算机,配置为Intel i7-8700k,64G,GTX 1080ti;软件配置为:windows10,CUDA9.0,cudnn,tensorflow,keras。
根据上海市第六人民医院东院和浙江海宁康华医院提供的数据,在专业医生的指导下,成功制作了500例样本,共558个结节,并且使用了开源数据库LIDC-IDRI,共1186个结节,具体信息见
表 2. 数据集信息
Table 2. Dataset information
|
3.2 卷积神经网络的模型评估标准
肺结节真假阳性的分类是一个二分类问题,国际上普遍采用精准率(P)、召回率/敏感性(R/S)和F1值来评价模型的好坏,在如何均衡这些指标方面,普遍采用受试者工作特征响应曲线(ROC)和精准率-召回率曲线(PRC),ROC曲线中模型曲线下面积(AUC)越大代表模型的分类效果越好。在样本分布不均匀的情况下,PRC曲线比ROC曲线更能反映分类器的好坏,在召回率等于精准率的直线上,模型曲线的值越高代表模型分类效果越好,具体计算公式如下:
式中:TP表示实际标签为阳性、预测也为阳性的样本;FN表示实际标签为阳性、预测为阴性的样本;FP表示实际标签为阴性、预测为阳性的样本。
3.3 参数的实验验证
分别采用2.3节中三种学习率和优化函数进行实验,实验结果如
1) 采用LIDC-IDIR数据集。
2) 在进行学习率实验对比时,实验默认的优化函数为Adam优化函数;在进行优化函数对比时,实验默认的学习率如(8)式所示。
3) 由于目标问题为二分类问题,因此损失函数默认均为交叉熵损失函数。
4) 实验中采用的卷积神经网络模型均是改进之后的C-3D可变形卷积神经网络,模型的结构和参数都保持一致,具体见
在学习率方面,
图 5. 不同学习率和优化函数下的分类正确率。(a)学习率实验对比;(b)优化函数实验对比,
Fig. 5. Classification accuracy for different learning rates and optimization functions. (a) Experimental comparison of learning rate; (b) experimental comparison of optimization function
3.4 卷积神经网络模型改进前后实验对比
为了选择最合适的可变形卷积神经网络模型,在同一个样本数据下,对改进前后的四种不同卷积神经网络分别在LIDC-IDRI数据集上进行实验,将四种模型的输入大小均设为32×32×32,四种不同的卷积神经网络如下:
1) 原始三维卷积神经网络(C-3D)。C-3D模型的主体结构如
2) 添加可变形卷积层和可变形池化层的三维卷积神经网络(C-3D+DCP)。该模型的组成如
3) 只添加可变形卷积层的三卷积神经网络(C-3D+DC)。该模型将可变形池化层改为普通的池化层,池化核和步长均为2×2×2,其余结构和参数设置均与C-3D+DCP模型相同。
4) 只添加可变形池化层的三维卷积神经网络(C-3D+DP)。该模型将可变形卷积层改为普通的卷积层,特征图数量为16,卷积核大小为3×3×3,步长为1×1×1,激活函数为ReLU,其余结构和参数设置均与C-3D+DCP模型相同。
3.4.1 实验评价对比
图 6. 不同模型的ROC曲线图和PRC曲线图。(a) ROC曲线;(b) PRC曲线
Fig. 6. ROC curves and PRC curves of different models. (a) ROC curves; (b) PRC curves
除了AUC和P评价指标之外,
表 3. 不同卷积神经网络模型的结果对比
Table 3. Comparison of results of different convolutional neural network models
|
由于可变形卷积神经网络中可变形卷积层的具体特征图数量对模型分类效果有一定影响,因此对C-3D+DCP模型中可变形卷积层的特征图数量进行了研究,实验中确保除了可变形卷积层的特征图数量不同之外,其余结构和参数均与C-3D+DCP模型相同,将实验的结果制成箱型图,如
图 7. 可变形卷积层中不同特征图数量的箱型图。(a) AUC指标箱型图;(b) F1指标箱型图;(c) P指标箱型图;(d) Recall指标箱型图
Fig. 7. Boxes of deformable convolution layers with different numbers of features. (a) Box of AUC; (b) box of F1; (c) box of P; (d) box of R
表 4. C-3D可变形卷积神经网络中不同输出特征图结果对比
Table 4. Results comparison of different output features in C-3D deformable convolutional neural network
|
分析
3.4.2 可视化结果对比
随机选取一个病例的肺部CT进行测试,
图 8. 卷积窗口像素采样可视化结果。(a)原始的肺结节标注图片;(b)原C-3D卷积神经网络模型;(c)改进后的C-3D卷积神经网络模型
Fig. 8. Visualization results of convolution window pixel sampling. (a) Original labeled lung images; (b) original C-3D convolutional neural network; (c) improved C-3D convolutional neural network
3.5 不同卷积神经网络模型检验对比
本研究对文献[ 6]、文献[ 7]和文献[ 8]中的算法进行了实验,并将实验结果与本文算法进行对比。三种模型的具体参数如下。
文献[ 6]的多输入卷积神经网络共九个卷积层。第一层卷积层的特征图数量为1,卷积核大小为5×5,激活函数为PReLU,卷积步长为1。第二层卷积层至第五层卷积层完全一样,特征图数量为3,其余参数和第一层一致。第六层卷积层至第九层卷积层完全一样,特征图数量为3,其余参数和第一层一致。此外,此模型的损失函数为交叉熵,输入大小分别为10×10、20×20、30×30,三种输入对应的学习率分别为0.2、0.3和0.4,优化函数为SGD。在LIDC-IDIR上进行实验,结果表明该方法的AUC、P、R、F1分别为84.31、74.44%、79.16%和76.73%。
文献[ 7]采用的模型由四个卷积层、四个池化层、一个全连接层和一个分类器组成,卷积层和池化层交替出现,输入图片的大小为64×64。第一层卷积层的特征图数量为32,卷积核大小为11×11,激活函数为ReLU,卷积步长为1。第二层卷积层特征图数量也为32,卷积核大小为5×5,其余参数均与第一层卷积层相同。第三层卷积层的特征图数量为64,卷积核大小为3×3,其余参数均与第一层卷积层相同。第四层卷积层与第三层卷积层均相同。四层池化层均相同,步长均为2×2。由于文献[ 7]中没有说明Dropout系数,因此实验取Dropout层的系数为0.5。此外,损失函数为交叉熵,初始学习率为0.001,学习率衰减策略为poly,参数 power为0.5,优化方法为Adam。在LIDC-IDIR数据集上进行实验,AUC、P、R、F1分别为87.50%、92.43%、93.87和89.90%。
文献[ 8]设计的方法是由两个完全一样的卷积神经网络对预处理前后的样本分别进行训练,模型由四个卷积层和三个池化层交替组成。输入大小为256×256。第一层卷积层的特征图数量为30,卷积核大小为5×5,激活函数为Tanh,卷积步长为1。第二层卷积层的参数与第一层卷积层完全相同。第三层卷积层的特征图数量为60,其余参数均与第一层卷积层相同。最后一层卷积层参数与第三层卷积层完全一样。三个池化层参数一样,步长均为2×2。此外,损失函数为交叉熵,学习率为0.000005,优化函数为SGD。在LIDC-IDIR数据集上进行实验,AUC、P、R、F1分别为85.23、90.45%、91.62%和91.03%。
对上面三个模型进行详细介绍并进行实验,三个模型实验结果与本文算法模型的结果对比如
表 5. 各个卷积神经网络算法比较
Table 5. Comparison of different convolutional neural networks
|
4 结论
本研究在C-3D卷积神经网络的基础上,实现了C-3D可变形卷积神经网络,将改进前后的模型分别在LIDC-IDIR数据集上进行对比实验,得到了最佳的改进模型。对参考文献所提供的卷积神经网络模型在同等条件下进行实验。结果表明:本文改进的C-3D可变形卷积神经网络在各项评价指标上均优于其他模型,AUC达到96.17,平均精准率P为95.34%,召回率R为92.39%,F1为92.86%。此外,该研究还添加了本地数据集进行测试,得到的各项评价指标都有一定的提升,AUC、P、R、F1分别提升了0.44,0.97%,0.14%和0.92%。模型的不足之处在于测试时间长,一个病例的测试时间需要1 min,无法做到几秒钟内诊断出结果。另外,本文没有对肺部以及结节进行三维重建。因此其临床应用还存在一些问题,如何解决上述问题是未来需要开展的工作。
[1] 孔祥溢, 王任直. 人工智能及在医疗领域的应用[J]. 医学信息学杂志, 2016, 37(11): 2-5.
[2] 金征宇. 前景与挑战: 当医学影像遇见人工智能[J]. 协和医学杂志, 2018, 9(1): 2-4.
Jin Z Y. Prospects and challenges: when medical imaging meets artificial intelligence[J]. Medical Journal of Peking Union Medical College Hospital, 2018, 9(1): 2-4.
[3] 吴晨玥, 易本顺, 章云港, 等. 基于改进卷积神经网络的视网膜血管图像分割[J]. 光学学报, 2018, 38(11): 1111004.
[4] 杜剑, 胡炳樑, 张周锋. 基于卷积神经网络与显微高光谱的胃癌组织分类方法研究[J]. 光学学报, 2018, 38(6): 0617001.
[5] 褚晶辉, 李晓川, 张佳祺, 等. 一种基于级联卷积网络的三维脑肿瘤精细分割[J]. 激光与光电子学进展, 2019, 56(10): 101001.
[6] 赵鹏飞, 赵涓涓, 强彦, 等. 多输入卷积神经网络肺结节检测方法研究[J]. 计算机科学, 2018, 45(1): 162-166.
Zhao P F, Zhao J J, Qiang Y, et al. Study on detection method of pulmonary nodules with multiple input convolution neural network[J]. Computer Science, 2018, 45(1): 162-166.
[7] 管姝, 张骞予, 谢红薇, 等. CT影像识别的卷积神经网络模型[J]. 计算机辅助设计与图形学学报, 2018, 30(8): 1530-1535.
Guan S, Zhang Q Y, Xie H W, et al. Convolutional neural network model of CT images recognition[J]. Journal of Computer-Aided Design & Computer Graphics, 2018, 30(8): 1530-1535.
[8] 杨帆, 谢红薇, 刘爱媛. 基于卷积神经网络的肺结节分类算法[J]. 计算机工程与应用, 2019, 55(7): 145-150.
Yang F, Xie H W, Liu A Y. Lung nodule classification algorithm based on convolutional neural network[J]. Computer Engineering and Applications, 2019, 55(7): 145-150.
[9] 苗光, 李朝锋. 二维和三维卷积神经网络相结合的CT图像肺结节检测方法[J]. 激光与光电子学进展, 2018, 55(5): 051006.
[10] Dai JF, Qi HZ, Xiong YW, et al. Deformable convolutional networks[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 764- 773.
[11] 邓志鹏, 孙浩, 雷琳, 等. 基于多尺度形变特征卷积网络的高分辨率遥感影像目标检测[J]. 测绘学报, 2018, 47(9): 1216-1227.
Deng Z P, Sun H, Lei L, et al. Object detection in remote sensing imagery with multi-scale deformable convolutional networks[J]. Acta Geodaetica et Cartographica Sinica, 2018, 47(9): 1216-1227.
[12] TranD, BourdevL, FergusR, et al. Learning spatiotemporal features with 3D convolutional networks[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 4489- 4497.
[14] LongJ, ShelhamerE, DarrellT. Fully convolutional networks for semantic segmentation[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, June 7-12, 2015, Boston, USA. New York: IEEE, 2015: 3431- 3440.
[15] Emre YurdakulE, YemezY. Semantic segmentation of RGBD videos with recurrent fully convolutional neural networks[C]∥Proceedings of the IEEE International Conference on Computer Vision, October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 367- 374.
[16] 胡琼, 秦磊, 黄庆明. 基于视觉的人体动作识别综述[J]. 计算机学报, 2013, 36(12): 2512-2524.
Hu Q, Qin L, Huang Q M. A survey on visual human action recognition[J]. Chinese Journal of Computers, 2013, 36(12): 2512-2524.
[17] 朱红蕾, 朱昶胜, 徐志刚. 人体行为识别数据集研究进展[J]. 自动化学报, 2018, 44(6): 978-1004.
Zhu H L, Zhu C S, Xu Z G. Research advances on human activity recognition datasets[J]. Acta Automatica Sinica, 2018, 44(6): 978-1004.
Article Outline
阮宏洋, 陈志澜, 程英升, 杨凯. C-3D可变形卷积神经网络模型的肺结节检测[J]. 激光与光电子学进展, 2020, 57(4): 041013. Hongyang Ruan, Zhilan Chen, Yingsheng Cheng, Kai Yang. Detection of Pulmonary Nodules Based on C-3D Deformable Convolutional Neural Network Model[J]. Laser & Optoelectronics Progress, 2020, 57(4): 041013.