基于3D,卷积神经网络的肺结节检测

【www.zhangdahai.com--其他范文】

黄冬云,王 欣,秦 斌

(湖南工业大学 轨道交通学院,湖南 株洲 412007)

肺癌被称为当今世界上最常见、最致命的恶性肿瘤之一[1],因大多数患者被确诊为肺癌时已经是中期到晚期,此时癌细胞恶化或已经发生转移,导致患者因治疗不及时而出现较高的病死率。肺结节是肺部病变的重要症状,因此若能准确及时诊断出早期肺结节可以大大提高患者的治愈率[2]。计算机断层扫描(computed tomography,CT)筛查是目前肺癌早期临床筛查中最为有效的方法[3]。由于肺器官内部结构复杂,肺结节的大小、形状和位置千变万化,仅依靠肉眼识别难度较大,因此需要一个计算机辅助诊断(computer aided diagnosis,CAD)系统协助医生进行诊断。

传统的肺结节检测方法通常采用复杂的图像处理算法,其结节检测的准确性主要依赖人为设计的特征提取方法,若特征选取不好,容易丢失一些重要的结节信息,从而影响肺结节检测的准确性[4-6]。

近年来,针对医学图像中肺结节的自动检测与分类,科研工作者们提出了多种方法,主要为基于卷积神经网络(convolutional neural networks,CNN)的深度学习方法[7-11]。Shi H.等[12]采用2D CNN 肺结节两阶段检测框架,在LUNA16 数据集上进行结节检测,得出其平均灵敏度为82.62%,但是该方法对直径小于3 mm 的小结节检测效果较差。Wen C.R.等[13]采用嵌入注意模块的3D 卷积神经网络,并重新定义边界框回归,增强了收敛能力,获得了85.40%的灵敏度,且假阳性偏高。Liao F.Z.等[14]采用改进的3D U-Net 网络检测肺结节,并用Leaky Noisy-OR Gate 模型评估被检测结节的癌变概率,两者结合可提高结节检测精度。A.Sreekumar 等[15]采用基于C3D 网络架构的3D CNN 模型检测肺结节,获得了86.00%的检测灵敏度。Xie H.T.等[16]采用2D Faster R-CNN 网络检测候选结节,其灵敏度为86.42%,再使用2D CNN 网络减少假阳性,但其准确性仍有提升空间。A.Pezeshk 等[17]采用3D CNN网络检测肺结节,其候选结节检测灵敏度达91%,相比2D CNN 肺结节检测网络,检测性能显著提升。目前基于卷积神经网络的肺结节自动检测方法取得了较为满意的结果,但还是存在假阳性高的问题,需进一步提升模型检测性能,降低结果中的假阳性。

上述研究中设计的肺结节检测系统有两个基本任务:1)结节候选检测;
2)减少假阳性。且都是运用2D 或3D 卷积神经网络实现肺结节自动检测。由于肺部CT 图像是3D 的,运用2D 神经网络会忽视结节的空间信息,影响结节检测精度,3D 卷积神经网络考虑肺部CT 图像三维特征,能有效提取肺结节空间信息,故采用3D 网络的结节检测效果更优。

此外,肺部CT 图像数据集虽然较大,但是样本却很少,正负样本存在严重失衡问题,导致复杂的网络模型过拟合,造成结节检测的假阳性偏高。因此,针对肺结节自动检测中存在的精度低、假阳性高等问题,提出了一种基于3D 卷积神经网络的肺结节两阶段检测方法。实验结果表明,该方法能有效提高肺结节检测敏感度,降低假阳性数量。

基于3D 卷积神经网络两阶段肺结节检测方法如下:第一阶段,使用融合残差结构3D V-Net 网络定位结节位置,检测出所有候选结节;
第二阶段,使用融合残差结构的3D VGG(visual geometry group)网络进行良恶性结节分类,进一步提高检测准确率,降低假阳性。肺结节两阶段检测的总体框架如图1 所示。

图1 肺结节两阶段检测总体框架Fig.1 Overall framework for two-stage detection of pulmonary nodules

2.1 候选肺结节检测

本文采用的3D V-Net 候选结节检测网络主要分为下采样和上采样两部分。其中,下采样部分经过连续的三维卷积层和池化层提取高阶语义特征;
上采样部分经过连续的三维反卷积操作将高阶语义特征进行放大,并将放大后的高阶特征与相应下采样过程的高阶特征进行拼接。加入残差跳转连接的3D V-Net网络,可在充分利用空间信息下提高肺结节检测的敏感度和准确度,3D V-Net 候选肺结节检测网络结构如图2 所示。

图2 3D V-Net 候选肺结节检测网络结构图Fig.2 3D V-Net detection network structure of pulmonary nodule candidates

3D V-Net 的输入和输出都是96×96×16 的肺部CT 图像,包括4 个下采样层和4 个上采样层,每个下采样层进行2 次3×3×3 卷积操作和1 次2×2×2最大池化操作,每个上采样层进行1 次3×3×3 反卷积操作和3 次3×3×3 卷积操作。反卷积操作后,在对应层级间进行拼接,且相邻两层间设计了残差跳转连接,最后采用1×1×1 的卷积核连接最终输出。

上采样过程中,每层采用2 个3×3×3 的卷积核;
下采样过程中,每层采用3 个3×3×3 的卷积核。虽然采用大卷积核比小卷积核更能捕捉到肺部CT 图片的全局特征,但采用2 个3×3×3 的小卷积核可以实现与1 个5×5×5 的卷积核同样的感受野,采用3个3×3×3 的小卷积核可以实现与1 个7×7×7 的卷积核同样的感受野。可见,小卷积核不仅增加了卷积块的深度,提高肺结节检测性能,还能减少参数量,提升运算速率。

2.1.1 残差结构

通常设计更深层次的CNN 网络可以提高肺结节检测的准确性,但对于传统的卷积神经网络来说,随着网络深度加深,容易造成梯度消失问题。残差结构通过在网络中增加跨层连接,可以保留先前网络层的一定比例输出,实现图像特征重用,是缓解深度网络梯度消失问题的一种有效方法,同时融合残差跨层连接还可以加速超深神经网络的训练过程。

残差网络由若干残差块组成,残差块主要包括直接映射部分和残差部分。当神经网络输入为x,学习到的特征输出为H(x)时,其学习到的残差为F(x)=H(x)-x,在网络中增添直接映射通道,将原先学习到的特征转变成F(x)+x,构成残差块[18],基础残差块见图3a。本文的残差块含2 个3×3×3 的卷积操作,且在ReLU 函数激活前进行了批量归一化(batch normalization,BN)处理,其结构见图3b。

图3 残差块构成示意图Fig.3 Schematic diagram of residual block composition

由图3 可知,本文设计的残差块通过BN 处理,将数据强制集中到统一的数据分布下,再输入到下一层,可以使中间层输出更稳定,加快模型的训练速度,缓解梯度消失问题,提高模型的泛化能力。将残差块与3D V-Net 融合,不仅能够增加网络的深度,提高肺结节检测的准确率,还能加快训练速率,提高候选结节检测模型的检测性能。

2.1.2 损失函数

损失函数用于评估模型预测结果与真实结果不一致的程度,它可以决定神经网络训练的学习方向,鲁棒性越好的模型,其损失函数值越小。原始肺结节检测网络采用的损失函数为Dice 函数,其定义如下:

式中:X为预测值;
Y为真实结果。

使用Dice 系数作为损失函数,能够提升模型训练的准确度,但同时也可能会丢失一些真实肺结节,使得模型训练结果精度偏低。为了提高模型检测的敏感度,本文采用了改进的损失函数。

为了解决医学图像数据正负样本失衡的问题,S.S.M.Salehi 等[19]提出了基于Tversky 系数的广义损失函数,该函数对Dice 系数进行了推广,Tversky 系数的定义如下:

式中:|X-Y|代表假阳性(FP);
|Y-X|代表假阴性(FN);
α和β为控制FP和FN之间平衡的超参数。

当设置超参数α=β=0.5 时,其实质为Dice 系数,当设置超参数α=β=1 时,其实质为Jaccard 系数。

由于一张肺部CT 图像中结节体素的数量远低于非结节体素的数量,这会造成数据的不平衡问题,使用正负样本失衡的数据进行模型训练可能会造成预测的结果更偏向于精度高但灵敏度低的一方。本文采用Tversky 系数作为损失函数,通过调整超参数的取值,在训练融合残差的3D V-Net 网络时平衡敏感度和准确率,提高肺结节自动检测的灵敏度。

2.2 良恶性结节分类

在良恶性结节分类阶段,为了从大量候选肺结节中准确筛选出真阳性肺结节,提高检测的灵敏度,需要从中剔除假阳性肺结节。本文采用3D VGG 分类网络,通过两个3×3×3 的卷积核替代5×5×5 的卷积核,保证在具有相同感受野的条件下增加网络深度,能够充分利用真实结节丰富的空间上下文特征,以便准确无误地获得真阳性肺结节,3D VGG 分类模型结构见图4。

图4 3D VGG 分类模型结构Fig.4 3D VGG classification model structure

如图4 所示,本研究构建的3D VGG 分类网络模型由10 个3D 卷积层、4 个最大池化层、2 个全连接层和1 个Softmax 分类层构成。其中,卷积层均采用3×3×3 大小的过滤器。最大池化层采用2×2×2的过滤器,第一个全连接层以及所有卷积层采用ReLU 激活函数,第二个全连接层使用Softmax 激活函数。第一层卷积核的个数为32,随后每一层都在前一层的基础上翻倍,最后得到的网络宽度为512。为了避免网络训练过程中的梯度消失问题,本研究设计了残差跨层连接。

3.1 实验数据

本文采用LUNA16[20]数据集对两阶段肺结节检测进行验证。该数据集剔除了最大的公开肺结节参考数据库LIDC-IDRI 中一些切片缺失、切片厚度大于3 mm,及切片间距不一致的CT,共组成888 幅含多个512×512 切片的三维肺部图像数据集。对于每个CT 扫描图像,由4 名专业放射科医生对结节大小、结节坐标等进行标注,共标记了1 186 个肺结节,肺结节直径范围为3.3~30.6 mm,平均长度为8.3 mm,结节大小偏小。得到的LUNA16 数据集的候选节点信息共有551 065 个,每个候选节点都提供相应的类别标签:非结节为0,结节为1。肺结节信息标注示例如表1 所示。

表1 LUNA16 数据集结节信息标注示例Table 1 Sample illustration of the node information annotation for LUNA16 dataset

3.1.1 数据预处理

由于肺器官的内部结构较为复杂,肺部图像预处理主要如下:1)根据肺部区域CT 值的取值范围在-500 亨氏单位(Hounsfield unit,HU)左右,过滤掉CT 图像中骨骼、金属床亮斑以及其他组织器官等无关信息,增强肺结节信息的可检测性,简化数据,以提高肺结节检测的准确度和训练速度;
2)根据肺结节坐标信息,将2D 数据堆叠成需要的3D 数据,以保留肺结节的空间信息;
3)结节数据增强,避免网络训练过拟合,提升模型的泛化能力。

预处理LUNA16 数据集步骤如下:1)生成肺结节掩膜图像。以肺结节的坐标为中心点,生成以结节直径为边长的正方体区域,最后生成包含所有结节的掩膜文件(都是3D),原始CT 图像与对应结节掩膜,如图5 所示。2)图像去噪与归一化处理。根据肺部HU 的取值范围,设置上下限,去除原始CT 图像中存在的噪声,然后将图像像素进行归一化处理至(0,1),加快网络收敛,提高运算速率。3)生成候选结节检测数据。将经过处理后的CT 图像及对应掩膜图像,分别使用线性插值和最邻近插值进行采样,并在CT 图像和对应掩膜图像上,根据设定步长生成大小为(96,96,16)的小块图像,判断并保留有效的小块CT 图像及对应小块图像的掩膜图像,小块CT 图像与对应结节掩膜图像如图6 所示;
4)生成结节分类数据。根据候选结节文件的坐标信息,以该坐标为中心,截取大小为(48,48,48)的区域作为候选结节图像,根据候选结节文件内标注的良恶性结节信息,将图像分为0(非结节)和1(结节)两类。

图5 原始数据与对应结节掩膜Fig.5 Original data and corresponding nodule mask

图6 小块CT 图像与对应结节掩膜Fig.6 Small CT images with its corresponding nodule mask

3.1.2 数据增强

训练神经网络需要大量的训练样本才能训练得到一个泛化性能较好、鲁棒性较强的模型。在训练数据量少或正负样本失衡的情况下,可以利用数据增强方式来增加训练样本的多样性,避免网络训练出现过拟合现象,提升模型的泛化性能。

肺部CT 图像数据经过预处理后,得到1 351 个有结节的图像和549 714 个没有结节的图像,结节与非结节图像数量相差特别大。为了避免网络训练过拟合,提升模型的泛化能力,从1 351 个有结节的图像中先随机选取20%的图像作为测试数据,剩下的作为训练数据,再对该训练和测试数据分别作平移、旋转及翻转操作进行数据增强,将有结节图像的数量扩大30 倍,得到40 530 个结节图像集;
从549 714个非结节图像中随机选取30%的数据,组成164 914个非结节图像集,再对164 914 个非肺结节图像进行随机采样20%的图像数据作为分类测试集,剩下的图像数据作为分类训练集。将结节和非结节训练数据和测试数据合并,得到最终分类训练集和测试集。

3.2 实验环境

本次实验使用Window10 操作系统,处理器为Intel(R)Xeon(R)CPU E5-2680 v4@2.4 GHz(2处理器),计算机内存为64 GB,整个网络模型代码都使用Python 3.8 版本进行编写,并在Tensorflow-gpu2.8.0深度学习框架下搭建,同时使用显存为11 455 MiB的NVIDIA Tesla M40 显卡,在GPU 上加速模型训练。

3.3 评价指标

为了评估肺结节检测网络的有效性和检测的准确性,本文采用敏感度(sensitivity)SEN、准确率(accuracy)ACC、受试者工作特性曲线(receiver operating characteristic curve)ROC、曲线ROC下方面积(area under the curve)AUC及混淆矩阵5 个指标,整体评估网络性能,具体定义如下,其中下标P 表示阳性结节,N 表示阴性结节:

式(3)(4)中:TP为真阳性;
FP为假阳性;
TN为真阴性;
FN为假阴性。

预测结果描述如表2 所示。

表2 混淆矩阵Table 2 Confusion matrix

候选结节检测主要使用敏感度和Dice 系数作为模型性能评估指标,性能好的模型应该具有较高的敏感度和Dice 系数。敏感度用来评估模型检测出的真实结节占全部候选结节的比例,敏感度越高,则漏检率越低;
Dice 系数用于评估预测结果与真实标签的相似度,Dice 系数越大,相似度越高。通过混淆矩阵、ROC曲线图及AUC直观评估良恶性结节分类模型性能,ROC曲线是反映特异性和敏感性连续变量的综合指标,曲线越接近左上角,模型的分类性能越好,误诊和漏诊的可能性越小。AUC是指ROC曲线下方的面积,AUC越大,分类性能越好。

3.4 参数设置

模型中仅在分类网络最后一个全连接层使用Softmax 激活函数,其余均使用ReLU 作为激活函数,并采用Adam 作为网络训练优化方法,Adam 是一种高效的随机优化方法,它结合了目前流行的AdaGrad和RMSProp 两种优化方法的优点[21],可以使肺结节检测模型拥有更好的性能。在一定范围内,不同批处理大小对实验结果影响不大,其设置主要依据数据集大小,批处理设置越大,模型分类性能相对越好;
迭代次数主要影响模型的训练速度,其设置越大,训练时长越长;
学习率控制权重更新步长,其设置太大可能导致不收敛,而设置太小导致收敛速度过慢。综合考虑,将Batchsize 大小设为16,迭代次数设为10,学习率设为0.001,以收获较为满意的实验结果。

3.5 实验结果

3.5.1 候选结节检测结果

在候选结节检测阶段,本文使用融合残差结构的3D V-Net 网络,在相同的LUNA16 数据集下,对比了其他肺结节检测网络在本阶段的模型性能,所得结果见表3。

表3 不同候选结节检测网络性能对比Table 3 Performance comparison of different candidate nodule detection networks

表3 所示实验结果表明:在候选结节检测阶段,本文提出的融合残差结构的3D V-Net 网络的敏感度为91.28%,高于其他文献所提算法的敏感度,从而验证了融合残差结构的3D V-Net 网络在肺结节检测阶段的网络性能高于其他算法的。

候选结节检测阶段训练过程中的损失函数变化情况见图7。

图7 候选结节训练过程损失函数变化图Fig.7 Variation chart of loss function during the training process of candidate nodules

从图7 所示损失函数曲线可以看出,随着训练次数的增加,loss 值的变化逐渐趋于稳定,且收敛速度较快,整个训练过程中损失很小。

本文提出的融合残差结构的3D V-Net 网络在测试集上对原始图像进行预测的结果如表4 所示。对比分析预测结果图像与金标图像可知,模型预测图像与金标图像差别不大,这一结果说明本文提出的算法检测性能较好。

表4 融合残差结构的3D V-Net 网络预测结果Table 4 Prediction results of 3D V-Net network integrating residual structure

3.5.2 良恶性肺结节分类结果

在良恶性结节分类阶段,采用融合残差结构的3D VGG 网络对结节与非结节进行分类,获得真阳性结节,在相同数据集LUNA16 下,对比其他结节检测网络在本阶段的模型性能,结果见表5。

表5 不同分类模型性能对比Table 5 Performance comparison of different classification models

表5 所示实验结果表明:本文在良恶性肺结节分类阶段采用融合残差结构的3D VGG 网络,最终获得了99.22%的分类准确率和96.60%的敏感度,相较于表中其他文献的算法,本文提出的良恶性结节分类网络在准确率和敏感度上更优。

良恶性结节分类阶段训练过程的损失函数变化如图8 所示,由损失函数曲线可看出,随着训练次数的增加,Loss 值先急剧下降,随后小幅波动,收敛速度较快,表明分类模型在训练过程中损失很小。

图8 分类阶段训练过程损失函数变化曲线Fig.8 Change curve of loss function during the training process at classification stage

图9 为分类阶段训练过程准确率函数变化图,从图中曲线可以得出,随着训练次数增加,准确率最终趋于稳定,整个过程收敛速度较快,当训练次数达30 000 时,分类准确率达0.99,随后小幅波动。

图9 分类阶段训练过程准确率函数变化图Fig.9 Variation of accuracy function during training in classification stage

使用ROC曲线直观分析分类模型性能,结果见图10。曲线越靠近左上角,模型敏感性和特异性越高,从图中可看出,ROC曲线距离(0,1)点较近,通过计算曲线下方面积,获得的AUC达99.90%,验证了本文方法在数据集LUNA16 上的分类性能。

图10 模型的ROC 曲线图Fig.10 ROC curve of the model

表6 所示混淆矩阵直观展示了分类结果,分析表中矩阵数据可知,分类模型的准确率达99.22%,假阳率只0.11%,漏检率为3.40%,准确率偏高,可能与分类数据集正负样本不平衡有关,假阳率较低,漏检率相对偏高,分类结果符合预期,这表明模型分类性能较好。

表6 分类结果混淆矩阵Table 6 Confusion matrix of classification results

在CT 中准确检测出早期肺结节是肺癌诊断和治疗的关键步骤。针对现有肺结节自动检测模型精度较低、假阳性较高等问题,本文提出了一种融合残差结构的3D V-Net 网络和3D VGG 网络的两阶段肺结节检测方法,实现了对肺结节的准确检测。在肺结节检测阶段,通过在3D V-Net 网络的基础上融合残差结构,加深网络深度,并实现图像特征的重复利用,为解决数据集正负样本失衡的问题,引入改进的损失函数,提高了模型的检测效率和敏感度;
在良恶性分类阶段,采用融合残差连接的3D VGG 网络对良恶性结节进行分类,以降低假阳性,获得真阳性结节。实验结果表明,本文方法对比目前其他检测方法,在检测准确率和敏感度方面均有所提升,可用来辅助放射科医生对肺结节进行检测。

猜你喜欢残差卷积结节基于双向GRU与残差拟合的车辆跟驰建模网络安全与数据管理(2022年3期)2022-05-23基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02肺结节,不纠结中老年保健(2021年6期)2021-08-24发现肺结节需要做PET/CT吗?中老年保健(2021年9期)2021-08-24从气、虚、痰、瘀辨治肺结节术后咳嗽中国民间疗法(2021年1期)2021-04-20基于残差学习的自适应无人机目标跟踪算法北京航空航天大学学报(2020年10期)2020-11-14基于递归残差网络的图像超分辨率重建自动化学报(2019年6期)2019-07-23从滤波器理解卷积电子制作(2019年11期)2019-07-04体检查出肺结节,我该怎么办中国生殖健康(2019年10期)2019-01-07基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20

推荐访问:卷积 结节 神经网络

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0916/655071.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!