A Pulmonary Nodule Detection Model Based on Progressive Resolution and Hierarchical Saliency

paper:https://arxiv.org/abs/1807.00598

摘要

       胸部CT上肺结节的检出是肺癌早期诊断的重要步骤,对于患者是至关重要的。虽然在文献中已经发表了一些计算机辅助结节检测方法,但是这些方法仍然有两个主要的缺点:在发现候选结节的过程中遗漏了真正的结节,而对非结节的结节识别则不那么准确。
本文提出了一种将渐进式分辨率和层次显著性相结合的肺结节自动检测算法。具体来说,我们设计了一个基于3D渐进分辨率的密集扩张FCN,即渐进分辨率网络(progressive resolution network, PRN),用于检测肺内的结节候选,并构建了一个层次化显著的密集扩张的3D CNN,即层次化显著网络(HSN),同时从这些候选人中鉴别出真正的结节,并估计结节的直径。我们在基准肺结节分析2016 (LUNA16)数据集上评估了我们的算法,并获得了最先进的检测分数。结果表明,该算法能有效检测胸部CT上的肺结节,并能准确估计其直径。

        关键词:肺结节检测;胸部CT;深度学习;卷积神经网络(CNN);渐进分辨率;层次化的特点

1 介绍

       肺癌是所有与癌症相关的男性和女性[5]死亡的主要原因。肺癌患者5年平均生存率仅为16%左右;然而,如果在该病的早期诊断出[2],这个数字可以达到大约54%。由于肺部恶性结节可能是原发性肺肿瘤或转移灶,早期发现肺部结节对于患者的护理至关重要。在胸部CT扫描中,肺结节通常是指肺[3]上直径小于3cm的斑点。在文献中已经提出了许多自动肺结节检测方法。

      他们中的大多数在每个可疑的病灶中提取手工制作的特征并训练分类器,以确定病变是否为肺结节。Nithila等人[9]采用基于强度聚类、滚动球和主动轮廓模型(active contour model, ACM)的算法检测血管结节,分别计算这些结节的统计特征和纹理特征,利用粒子群优化(PSO)技术优化的反向传播神经网络(BPNN)改进检测。Wu等人首先对[12]进行了阈值化、区域生长和形态学操作分割肺结节,提取每个结节34个视觉特征,利用支持向量机(SVM)剔除假阳性结节。尽管这些方法普遍存在,但其准确性可能有限,由于手工特征提取和分类的难处理的优化。

        近年来,深度学习技术被广泛应用于许多医学图像分析任务,包括肺结节检测。它们比传统方法有明显的优势在统一网络中的联合表示学习和模式分类中,因此能够在很大程度上解决传统方法的缺点。Hamidian等人[6]使用3D完全卷积网络(FCN)生成一个评分图来识别候选结节,并使用另一个3D深度卷积神经网络(DCNN)用于结节和非结节分类。Dou等人[4]也实现了FCN生成候选结节,并将两个残块合并到3D DCNN中用于结节检测。虽然这种计算机辅助检测(CADe)系统已经产生了很好的结果,但是它们仍然有两个主要的缺点:(a)以前的fcn类深度神经网络通常检测的结节候选较少,这降低了随后的结节和非结节分类的复杂性
但可能会导致遗漏真正的结节;(b)使用传统的3D DCNN来区分结节和非结节组织仍然不够准确,因为他们之间的视觉差异非常微妙。为了解决这两个缺点,我们提出一种新的算法来检测肺部结节在胸部CT扫描。这项工作的主要贡献包括:(a)设计一种基于3D渐进分辨率的密集扩张FCN,称为渐进分辨率网络(PRN),用于检测肺内的结节候选,(b)设计一个具有分层显著性的密集扩张的3D CNN,即分层显著性网络(HSN),同时从这些候选对象中识别出真正的结节,并估计结节的直径。我们在基准肺结节分析2016 (LUNA16)数据集[1]并且取得了比LUNA16挑战赛排行榜前五名更高的成绩。

3. 方法

      提出的肺结节检测算法(见图1)由三个部分组成步骤:肺分割,基于prn的结节候选检测和基于HSNbased从这些候选人中鉴别出真正的结节。我们现在深入研究每一个步骤。

3.1数据重采样和肺分割

      为了规范胸部CT扫描的可变空间分辨率,我们重新取样将每个扫描变为均匀体素1.0×1.0×1.0 mm3的大小。在检测候选结节之前,肺的分割也是必要的,因为肺外器官和组织如胸骨可能对检测造成极其不利的影响。分割过程包括:(a)使用OTSU算法[10]逐层对每个重采样的CT扫描进行二倍化;(b)利用形态学闭合来填补空洞,并用直径为5的圆盘结构元件进行形态学扩张,以制作尽可能覆盖肺组织的肺掩膜(lung mask);(c)将此mask应用于再次采样的CT扫描以获得肺的体积(volume of lung)。

3.2 基于prn的候选结节检测

       我们在肺体积上滑动32×32×32的窗口和提取窗口内每个位置的体块作为PRN的输入,用于检测候选结节。提出的PRN模型(见图3)由双路编码器和解码器组成。编码器提取和传输特征的侵略性分辨率,解码器产生结节候选。
我们第一次放大每个输入容量64×64×64的patch,然后将patch及其放大后的拷贝分别输入到两个编码器路径中。每个编码器路径始于一个3×3×3与修正线性卷积层单元(ReLU)激活函数,后面是四个PRN街区。每个PRN块由一个类似于密集块[7]的3D密集扩张块(DDB)和一个向下过渡单元组成。DDB包含三个卷积层与内核大小3×3×3的5×5×5和3×3×3,分别和扩张率的2,也可以

      它可以在不损失分辨率[13]的情况下,降低复杂程度,聚合多尺度上下文信息。每一层都将前面所有的feature map作为输入。过渡单元有一批标准化层,一个3×3×3卷积层ReLU激活函数和一个2×2×2的步幅max-pooling层2。三维卷积层中的滤波器个数在每个PRN块中都是一个固定的值。这个值最初是32,从上面的PRN块到下面的块增加了16步。解码器有一个激进的反体积路径,这与编码器路径相似,除了(1)所有块都是逆序列,(2)最后卷积3×3×3层有sihmoid激活函数,而不是ReLU。每个输入路径的feature map也被连接并复制到解码器路径上的相应位置。译码器的输出是二值化的,阈值为0.8输出中的连接卷被检测为候选节点。

3.3 基于hsnt的结节与非结节鉴别

      提出的HSN模型(见图3)由四个后续HSN块组成,一个3×3×3卷积层,一个2×2×2 max-pooling图层两个1×1×1卷积层。
每个HSN块以三个体积块作为输入,根据检测到的结节候选中心将其裁剪在胸部CT扫描上。
这些patch,其原始大小32×32×32岁24×24×24和16×16×16,然后分别调整到32×32×32,然后通过0进行填充和反馈到3D转换层。。
过渡层的三个输出连接为3D DDB的输入,以便进一步处理。回归层使用平均绝对误差作为损失函数,用线性函数代替s函数。
3D DDB和3D过渡层的结构与PRN相同。类似地,过滤器的数量被初始化为32,并随着32步的增加而增加。
为了提高算法的正则化能力,在最大池化层的输出上,采用丢包的概率为0.5(dropout)。最后两个1×1×1卷积层平行输出层,候选人结节进行分类和评估结节直径,分别。

      为了减轻模型的过度拟合,我们对模型进行了数据增强。在训练和测试中增加阳性样本的数量。具体来说,我们通过旋转结节沿Z轴,从0、90、180和270,然后左右翻转,为每个结节生成5个副本。在训练阶段,我们周围出现一块32×32×32每个结节作为正样本,随机出现负样本,包括胸膜,气管组织和血管,为保证阳性样本的比例,共5倍的增增拷贝,阴性样本为1:10。
我们将每个模型中的偏差值初始化为0,并通过从标准法线采样来初始化其他参数分布。我们选择的是小批量随机梯度下降法
作为优化器,批大小为16,动量为0.9。我们设置了学习在20个epoch后,速率降低到0.01,降低到0.001。我们将学习率设置为0.01,20个epoch后降低为0.001。我们随机选取20%的训练数据形成验证集,当验证集的准确率超过20个时期没有提高时,我们停止了训练。在测试阶段,我们肺上滑动32×32×32窗口在肺癌和将窗口内的每个容积块输入训练过的PRN,以检测候选结节。
然后我们根据检测到的结节候选中心裁剪了3个同心圆斑块,加起来是五倍,对经过训练的HSN进行真正的结节识别和直径估算。结节候选人的真实性取决于多数投票和其直径由估算值的平均值决定。

4. 测试和结果

      我们使用10倍交叉验证对LUNA16数据集上提出的肺结节检测算法进行了评估。图4显示了两个示例案例,其中P为真结节的概率,D为结节直径。结果表明,我们的方法能够检测到小结节,直径小于5mm,能准确估算出结节直径。检测结节直径与真直径的平均差值为1.34 mm。

      与挑战记录的比较。接下来,我们比较了我们的方法是进入LUNA16挑战赛排行榜前五名表1,其中得分计算为平均灵敏度在7操作FROC曲线的点:1/8,1/4,1/2,1,2,4,8 FPs/scan, 95%置信区间的计算使用bootstrapping与1,000 bootstrap的bootstrapping计算。它结果表明,我们的方法得到了0.958的分数,高于当前的分数最好的挑战记录,据我们所知,是迄今为止最好的表现
在此数据集上实现。

       计算复杂度大约需要18到23个小时去训练提出的PRN和HSN模型,耗时约3分钟胸部CT (Intel Xeon E5-2640 V4 CPU,
NVIDIA Titan X GPU, 512gb RAM, ubuntu16.04, Python 3.5.2, Tensorflow1.5.0和Keras 2.1.3)。由于培训过程可以离线进行,
我们的肺结节检测方法可以在三分钟内分析一次扫描,可用于临床常规工作。

5. 总结

       本文提出了一种基于PRN模型的肺结节候选检测方法胸部CT扫描和HSN模型可以识别出那些可以扩散的结节。
我们的结果表明我们的肺结节检测方法在LUNA16数据集上的得分为0.958,这比目前最好的挑战记录还要高,据我们所知,这是迄今为止在这个数据集上取得的最好的性能。

猜你喜欢

转载自blog.csdn.net/pursuit_zhangyu/article/details/82755268