APP下载

基于NRU网络的肺结节检测方法

2021-02-22徐麒皓

计算机工程与应用 2021年4期
关键词:残差神经元卷积

徐麒皓,李 波

武汉科技大学 计算机科学与技术学院,武汉 430081

肺癌作为人类健康和生命威胁最大的恶性肿瘤之一[1],在我国的发病率和死亡率增长最快。早期诊断是提高患者生存率的关键[2],但是由于肺结节的直径小,早期的肺癌结节很难检测到。计算机断层扫描(CT)与其他医学诊断技术相比具有更高的准确性,因此被广泛用于检测肺结节。检查CT 会花费医生的大量时间和精力,并且医生的诊断水平不一致,因此很容易出现误诊。为了提高诊断的准确性,目前已有计算机辅助诊断(CAD)系统来辅助肺癌检测[3-4]。医生可以将结果作为判断的参考,这项技术加快了检测速度,并在一定程度上降低了误诊率[5]。

肺癌的自动检测过程分为两个步骤:(1)提取所有可疑候选结节;(2)将提取的结节分为两类(阳性和假阳性结节)。第二步中的分类对象来自第一步中的识别结果,因此所有阳性结节都应在第一步中进行识别。在候选结节的提取过程中,之前的研究已经优化了基于形状的CAD系统。

传统的CAD是基于阈值调整和形态学检测的图像检测技术,在实践中通常忽略了低密度的毛玻璃不透明区域[6]以及靠近外部组织的边缘结节。传统的CAD 特征分类技术对范围过大的肺结节无法保持良好的检测率,导致基于形状的CAD 系统对结节检测的准确性降低。与基于形状的CAD系统相比,U-Net神经网络在医学图像分析过程中可以实现精确的像素级定位[7],在原始图像中根据是否有结节对所有像素进行分类,然而小结节在检测过程中很容易被忽略。为了解决这个问题,本文提出一种U-Net网络的改进方法NRU(Noisy Residual U-Net)。该方法在训练过程的隐藏层中添加了与神经元相关的特殊噪声,利用残差网络中跳跃层连接结构的特性,噪声影响随着隐藏层深度的加深而不断增加,有效提升了肺结节的识别精度。与传统的U-Net 相比能够更准确地识别小结节,漏诊率极低。

1 数据集

本文神经网络使用Lung Nodule Analysis 2016(LUNA16)[8]和阿里巴巴天池竞赛数据集[9]进行训练。LUNA16 数据集来自肺部图像数据库协会[10],它包含888个CT和1 186个阳性结节。图1显示了数据结节直径分布的直方图,大多数结节直径为4~8 mm,平均直径为8.3 mm。阿里巴巴天池竟赛数据集包含800 个CT,包括1 244个阳性结节。图2显示了结节的直径分布直方图,平均结节直径为10.0 mm。

图1 LUNA16数据集结节直径分布

图2 阿里巴巴天池竞赛数据集结节直径分布

由于训练数据中结节的直径范围较大,使用上述数据训练的神经网络在面对各种大小的结节时都可以得出很好的结果。上述数据集中的切片大小和数量是不固定的,大多数CT切片为512×512像素,故本文将图像处理为512×512像素。

2 方法

本文提出的NRU肺结节检测网络创新点主要有两方面:一方面利用神经网络对输入图像分析的不连续性,通过在隐藏层中添加与神经元相关的特殊噪声来实现误导;另一方面通过添加残差网络的捷径对传统的特征提取方法进行优化,能够保留更多高层特征图中的低分辨率信息,提升了对小结节识别的灵敏度。

2.1 预处理

预处理通过提高图像质量来提升系统的整体精度。为了在降噪后去除背景的干扰,采用阈值法[11]和形态学相关方法对图像进行处理,得到真实的肺图像[12]。

2.2 NRU原理

NRU 是在U-Net 的基础上改进的。原始U-Net 模型虽然易于训练,但由于缺乏深度,在一定程度上影响了预测结果的准确性。NRU网络通过叠加残差块来增加整个网络的深度,每个块包含“捷径连接”和“标识映射”,每个残差块用下式表示:

其中,Xl和Xl+1表示第l个残差块的输入和输出,ω为残差块的权值,k为每个残差块包含的加权层数。函数H是一个恒等映射H(Xl)=Xl,与传统结构不同的是将线性整流函数(ReLU)和批量归一化(BN)作为权重层的“预激活”,具体残差块设计如图3所示。

图3 残差块

NRU和U-Net之间的区别在于NRU将特定噪声添加到卷积和反卷积层中,卷积层公式如下:

式(3)中,Y表示截断正态分布随机张量[13],其形状与x相同。Y是一个外部定义平均值为0 且标准偏差为α的常数。Y的概率分布如图4 所示,可以通过调整α大小来调整卷积层中的噪声幅度。以Y×(g(x))2作为噪声输入,将Y×(g(x))2与σ(g(x))相加得到输出值f(x)。

NRU的反卷积层操作表示如下:

图4 中间期望与截断正态分布概率的关系

使用带泄露修正线性单元(Leaky ReLU)[14]函数作为激活函数σ,如图5 所示,它可以改善神经网络传递的梯度并防止神经元死亡。为了避免由噪声引起的输出结果的不确定性,在测试和使用神经网络的过程中,应将式(3)和(5)中的截断正态分布的标准偏差α设置为0。与U-Net相比,NRU计算量略高于U-Net。

图5 NRU输入g(x)和输出 f(x)之间的关系

Leaky ReLU 的输入输出关系如图 6 所示,NRU 中输入g(x)和输出f(x)之间的关系如图5 所示,数据分布(直线)和数据分布范围(虚线)由式(3)和(5)中截断正态分布的标准偏差α控制,这种函数关系类似于ReLU 激活函数[15]。噪声函数的幅度与(g(x))2正相关,g(x)的绝对值越大,噪声对f(x)的影响就越大,神经元置信度越低。神经网络通过将神经元的绝对值降到最低来保证输出受到的噪声影响最弱,也可以通过限制模型空间并将神经元限制在较小的范围内,对神经网络具有一定的正则化效果。这种通过向隐藏层添加随机噪声的方法也可以将其视为数据增强[16]。

图6 Leaky ReLU激活函数

当Y的标准偏差增加时,会导致模型鲁棒性增强的同时神经网络的有效容量变小,训练速度变慢。因为α越小神经网络越容易拟合,类似于丢弃正则化[17]公式(3)和(5)不能在最大池化层之前使用,通过设置一个合适的α值,以使神经网络收敛更快而不会过拟合[18]。由于在训练过程中添加到隐藏层的噪声会增加神经元的数量,故训练时在隐藏层之后直接用最大池化使隐藏层输出的平均值高于测试的最大值,如图7所示。由于使用不同的数据分布会导致神经网络的性能低下,为了获得更好的性能,在构建NRU 时不能将噪声添加到最大池化前的卷积层中。

图7 在Max Pooling后向隐藏层添加或不添加噪声的效果

2.3 网络结构

在图8 中,除了卷积层(蓝色箭头)和池化层(红色箭头)外,每个隐藏层都进行了批量归一化,使用Leaky ReLU作为激活函数。所有黄色或绿色箭头表示的卷积和池化层都会添加噪声,这种神经网络的显著特点是同时具有跳跃连接和非跳跃连接。在U-Net 网络中隐藏层被池化的次数越多,其面积就变得越小,如图8 所示。每个神经元包含的信息来自输入图像神经元中较大的区域,也就是隐藏层神经元所包含的信息是底层神经元中包含高级特征的概括。如图9 所示网络中神经元的黄色部分被较小的神经元高度概括,而右边的神经元则包含更多高级特征。

通常神经网络对小结节的识别取决于隐藏层中包含的基本特征,而对大结节的识别则取决于高级特征[19]。出现这种情况的原因如下:

(1)在合并过程中,神经网络丢失部分信息容易导致小结节上的信息丢失,并最终导致网络的判断结果出错。在识别小结节的过程中仅需要分析原始图像中的小区域,因此神经网络对小结节的识别必须依赖于底层特征。

(2)在大结节的识别过程中对原始图像的高级特征进行分析。因为相对较大的结节会导致收集信息量增加,在池化过程中丢失的信息对判断结果的影响很小,所以神经网络对大结节的识别必须依赖高级特征。

NRU 结构与U-Net 相同,如图8 所示,该结构具有跳跃式连接,可以跳过池化并传输更完整的信息,以便神经网络对较少的图像特征进行操作。在神经网络的非跳跃式连接中,神经元通过与隐藏层的有效合并对原始图像中更大范围的数据进行分析,并根据从中提取的高级特征进行操作。这也意味着神经网络可以直接保存原始图像的高级特征并进行判断,同时也体现出对高级特征的过度依赖,导致神经网络无法很好地识别小结节。

图8 NRU网络

图9 隐藏层的池化过程

神经网络的语义信息独立地保存在每一个神经元内,特别是在隐藏层中每一个神经元都可以作为数据的一个语义特征,神经网络对输入图像的分析是不连续的,因此通过这个特点可以在原始图像上添加一种特定噪声来实现误导。模型通过反向传播学习得到的数据拥有非直接的特性,对小结节的识别主要通过NRU 网络在训练中逐层增加特定噪声,噪声的影响随着隐藏层的加深不断增大,能够使得网络在每一级的上采样过程中,将编码器对应位置的特征图在通道上进行融合。通过底层特征与高层特征的融合,网络能够保留更多高层特征图蕴含的低分辨率细节信息,从而提高了小结节的识别精度。

神经网络在识别小结节时倾向于使用跳跃层连接,而在识别大结节时倾向于使用非跳跃层连接,以免因过度依赖高级特征而错过小结节诊断。本文所设计的NRU网络系统能够满足这一需求。该网络的跳跃层连接等于跳过了部分隐藏层,这使得此连接传输的信息受噪声影响较小且具有较高的置信度。同样由非跳跃层连接的隐藏层发送信息受噪声的影响很大且置信度较低,因此NRU 可以很好地识别小结节更多地取决于跳跃层连接类型的信息。大结节由于信息量大且易于识别,导致噪声对信息的影响很小,因此非跳跃式连接中的隐藏层在识别大结节时仍然可以很好工作。

2.4 损失函数

利用损失函数来度量模型预测值与真实值之间的差别程度。在本实验中采用了Dice相似系数作为损失函数,Dice相似系数是一个相似性度量函数,其定义如下:

其中,X表示预测值,Y表示真实值。|X∩Y|表示两个集合的交点,|X|∪ |Y|表示两个集合的全部。可以得出两个样本越相似,系数值越接近1,Dice系数越大的同时损失越小,模型的鲁棒性越好。

3 实验

NRU 使用轴切片代替整张图片作为输入,从而极大减少了计算开销。输入图像的大小为512×512×7,但训练时使用的是从原始图像中截取的64×64×7 图像。如果图像太大会导致计算量随之增加,同时训练速度变慢甚至出现无法训练的情况。用小图像训练后,理论上训练速度可提高64 倍。基于U-Net 架构的网络对输入图像大小没有严格的限制,可以根据输入图像的大小调整每个隐藏层的大小。

本文采用平移和旋转两种方法对样本数据进行增强[20],由于在处理图像时均是以结节中心作为中心进行剪切,使得结节出现位置过于单一。因此在截取时将图像中心坐标于横向或纵向随机平移0~10 个单位,得到一系列既含有结节且结节不在中心处的新图像。同时为了获取不同成像条件下的结节图像,又对图像进行旋转操作,进一步扩充样本。

对于坐标为(x,y)的点,平移操作后的坐标为(x′,y′),其表达式如式(8)所示;旋转操作后的坐标为 (x″,y″),表达式如式(9)所示:

式(8)中k1、k2分别为图像在横向或纵向上平移的单位数量,这里k1、k2取 -10~10 之间的整数,Δx、Δy是横向、纵向像素点的单位间距。式(9)中θ为图像逆时针旋转的角度,本文选取θ值为90°和180°。使用该方法扩增后样本量如表1所示,对3~5 mm 的小结节扩大4倍,对5~10 mm 的中结节扩大3倍,对大于10 mm的大结节扩大3倍,提高了测试的准确性。

表1 扩增后样本数量

实验使用TensorFlow建立一个神经网络,在NVIDIA GTX 1080Ti GPU上运行。共进行了2万次训练,每批16 张,每100 次后设置一个检查点。在这个实验中,将阿里巴巴天池竞赛数据集和LUNA16 数据集进行数据混合后平均分成10份。使用两个评估标准来分析检测网络结构的性能,第一种使用Dice相似系数来评估预测结果,当Dice系数的预测值和实测值都大于50%时判别为命中。第二种使用自由响应接收机工作特性(FROC)对结节检测性能进行了分析。

3.1 NRU性能影响评估

改变噪声幅值α可以对训练结果产生影响,将α训练为[0.050、0.075、0.100、0.125、0.150]时FROC 曲线如图10所示。当FROC曲线的横坐标大于150时,灵敏度趋于稳定且阈值β≤0.3,当α=0.100 时,神经网络具有最佳性能。

3.2 U-NET和NRU的性能比较

图10 α 值对应的FROC曲线

在设计NRU 实验的同时创建了3 个基于U-Net 结构的控制实验。它们的区别如表2 所示,训练数据、神经网络通道数和NRU配置相同。其中U-Net1代表没有任何正则化的U-Net网络,U-Net2代表通过传统正则化方法优化的U-Net网络,U-Net3代表使用另一种噪声作为正则化方法的残差U-Net网络。通过比较这3个实验来证明NRU比U-Net对结节识别更敏感。

表2 四种不同网络的实验结果比较

3个实验的卷积和反卷积层对应于式(3)和(5)的运算被式(10)代替:

由于加入残差块可以加深网络的深度,NRU 网络的训练参数比普通U-Net 网络多,如表3 所示,NRU 网络分割效果明显高于其他U-Net网络,其分割效果提高了约8%,可以看到传统U-Net1分割误差较高。

表3 四种不同实验比较

图11 四类神经网络的FROC曲线

图12 不同网络实验结果比较

经过神经网络训练后对NRU 和3 个U-Net 网络进行图像测试,并计算出4个网络的FROC曲线,如图11所示。图12 列出了NRU 和3 个U-Net 在测试集上生成的5组图像的比较结果,为了清楚地对比结果,仅截取了结节及其周围区域的图像。原始图像列是输入图像,真值列是用于训练U-Net 的标签,后4 列表示每个神经网络对相应图像的识别结果。

从图11 中可以看出,在相同的横坐标下NRU 的灵敏度是4个网络中最高的。在图12中正则化残差U-Net网络(U-Net2、U-Net3 和NRU)训练中生成的图像质量要好于非正则化残差U-Net网络(U-Net1),在这些网络中NRU 在对小结节的灵敏度方面具有很大的优势,实验数据集的结节根据其直径分为3类,如表4所示。

表4 数据集结节直径分布

NRU 的高灵敏度不会随着训练集的改变而改变,NRU 相比于其他U-Net 网络训练和测试的时间更长。NRU 和其他3 个U-Net 网络的平均训练时间以及每个CT的平均测试时间如表5所示。

表5 U-Net和NRU网络比较

如图13 所示,在小结节检测中NRU 比其他U-Net更为敏感。在U-Net使用正则化方法之后,由于特殊的网络结构以及添加噪声后的正则化效应,使NRU 仍然具有很高的灵敏度。

图13 四种网络对结节识别的灵敏度和置信度

为了证明该方法在不同数据集上的鲁棒性,分别在阿里巴巴天池竟赛数据集和LUNA16 数据集上对神经网络进行了训练和测试,如图14 和图15。它们在不同大小结节识别的灵敏度是由每次扫描相同数量的假阳性(每次扫描200 FP)获得的。

图14 天池数据对结节识别的灵敏度和置信度

4 讨论

图15 LUNA16数据对结节识别的灵敏度和置信度

由于肺结节大小的差异很大(直径范围从3 mm 到30 mm),现有效果好的检测系统大都采用多尺度体系结构。这些方法需要用不同大小的结节作为输入,并将每个图像进行分割以去除无关区域,这样可以减少神经网络在判别中不受无关区域干扰从而提高准确性。肺结节分割过程缓慢且耗时,并且很多在肺部外组织附近分割结节会导致整体效果不佳。由于数据集中的图像来自不同扫描设备,导致大多数CT 图像的像素间距有差别,从而也会影响训练结果。先前很多研究在预处理中统一所有图像的实际像素体积为1 mm×1 mm×1 mm,这种方法通过降低具有较小原始像素间距的图像分辨率促使小结节的区分难度增大,最终会导致漏诊率的增加。因此本文没有使用这种方法,取而代之选择原始大小的图像进行训练。

本文通过灵敏度来评估神经网络性能,即阳性结节的检出率。在实际检测中,许多假阳性结节通常会伴随阳性结节一起检出,但是假阳性结节的误诊不会影响检测系统的性能评估。神经网络需要尽可能地识别所有阳性结节,因此使用灵敏度作为评价标准。

为了从大量候选结节中快速准确地区分出真阳性肺结节,本文设计了一个基于残差单元的三维卷积神经网络筛查假阳性肺结节,在输出中将残差路径变为连接路径,即将残差单元的输入通过池化操作后,与经过特征提取函数的输出在通道维拼接成新的特征。与残差路径相比,单连接路径重复利用原特征的同时,通过拼接的方式提供了更大的特征空间。与密集连接路径相比,单连接路径的卷积核通道维度不会随着层数增加而变大,从而降低了参数冗余,提高了参数利用率。该模型综合了ResNet重复使用特征、收敛速度快的特点,以及与DenseNet 重组新特征的能力。与2D CNN 相比,该模型的肺结节假阳性筛查方法不仅可以省略数据切片步骤,而且能够充分利用空间信息。与其他基于3D CNN的方法相比,该模型具有参数少、训练快的特点。

由于FROC 曲线的横坐标数值范围与LUNA16 竞赛中使用的横坐标数值范围不同,导致无法计算每条FROC 曲线的兼容性指标(CPM)。然而本文具有直观的灵敏度比较,仍可以通过FROC曲线比较神经网络的性能。虽然NRU有良好的检测性能,但仍然存在局限性:

(1)由于NRU使用正则化方法会增加训练的难度,准确来说NRU 在相同的训练规模下比U-Net 训练时间增加了12%。

(2)当噪声α的标准偏差较大时,神经网络可能不会收敛。解决方案是在训练开始时将α设置为较小的数值,然后逐渐增加该值。

(3)可以用其他尺寸图像训练神经网络来作为数据增强的一种方式。通过使用64×64×7、80×80×7、96×96×7、112×112×7等多尺度图像进行训练以增强神经网络的鲁棒性(长度和宽度都必须是16的倍数)。

5 结束语

为了解决检测肺癌候选结节漏诊的问题,本文在传统U-Net网络的基础上添加残差网络的“捷径连接”,并在每个隐藏层上加入特殊的噪声分布并进行改进,得到用于肺结节检测的NRU 网络,使其对底层特征更加敏感。本研究开发的肺癌候选结节检测系统在测试集中的灵敏度超过98%,尤其对小结节检测的效果更加明显,并且在降低肺结节诊断系统的漏诊率方面可以发挥重要作用。

由于在系统的检测过程中仍然存在漏诊的情况,未来的研究将进一步优化检测系统,以提高对小结节和毛玻璃结节的灵敏度。可以使用本文所用的候选结节检测网络配合基于残差单元的三维卷积神经网络假阳性结节筛查系统创建一个肺癌检测集成软件。

猜你喜欢

残差神经元卷积
基于双向GRU与残差拟合的车辆跟驰建模
《从光子到神经元》书评
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
跃动的神经元——波兰Brain Embassy联合办公
基于傅里叶域卷积表示的目标跟踪算法
基于二次型单神经元PID的MPPT控制
平稳自相关过程的残差累积和控制图