基于3D CNN的肺结节假阳性筛查模型
2022-03-16杨靖祎周晓叶陈隆鑫
杨靖祎,谢 洋,周晓叶,陈隆鑫,底 涛
(1.河北医科大学第二医院 信息中心,河北 石家庄 050051;2.河北医科大学第二医院 数据中心,河北 石家庄 050051)
0 引 言
世界卫生组织/国家癌症研究署(WHO/IARC)于2020年发布了最新版的全球肿瘤报告《2020全球癌症报告》,报告显示肺癌是中国乃至全球发病率和死亡率最高的恶性肿瘤之一。肺癌的早期临床表现主要为孤立性肺结节,而结节的早发现、早诊断、早治疗可提高肺癌患者的生存质量,延长患者的生存期。肺结节的传统检测方法主要是通过影像科医生阅读CT图像,寻找可疑的结节病灶。但是一组CT图像有上百张切片,这种人工的检测方法不仅工作量巨大,而且严重依赖于医生水平。因此众多计算机科学家设计了计算机辅助检测系统(computer aided diagnosis, CAD),用于帮助影像科医生寻找可疑肺结节。
传统的CAD系统普遍遵循两阶段:候选结节检测和假阳性筛查。假阳性筛查是结节检测的关键部分。早期的学者通过外观和形态学特征检测候选结节,性能并不理想。随后的研究中增加了梯度和纹理等特征以提高性能。Torres使用前馈神经网络对候选结节进行检测,平均每个扫描假阳性个数为8.0,敏感性为80.0%。Pulagam从候选结节中提取二维和三维特征并利用SVM算法进行假阳性筛查,该算法在测试集上敏感度为94.3%,每次扫描假阳性个数仅为2.6。但是,这些以先验知识为基础,对图像特征进行分析的CAD系统,整体算法流程繁琐,有一定的局限性。
近些年,随着计算机运算能力的显著提升以及深度学习技术的迅速发展,卷积神经网络在医学图像识别领域取得了极大的成功。卷积神经网络以图像特征的识别和分类训练模型,并利用准确率等评价标准来反向指导特征的提取,从而实现端到端的映射学习。Liu等通过提取肺实质区域、获取候选结节、特征的提取和训练以及结节分类作为基本流程进行结节检测。Dobrenkii等以残差网络为基础设计了一种三维卷积神经网络,直接对3维候选结节样本进行检测。高慧明等提出一种基于多尺度卷积神经网络的肺结节假阳性筛查方法,将每个候选结节输入到不同尺度的网络模型进行训练,融合三个模型的输出结果获取最终的分类。尤堃等提出了一种基于残差网络的肺结节假阳性筛查模型,通过使用单连接路径重复利用特征并重组特征的方法进行假阳性筛查。刘一鸣等设计了一个161层的深度神经网络,对经过精细预处理的2D结节图像进行训练,取得了92.3%的准确率。上述方法利用卷积神经网络进行肺结节检测识别,其模型性能远强于传统的检测方法。
但是,CT本质上是三维体积,并且是各向异性的。而基于2D的结节检测模型需要对原始数据进行切片采样,未能考虑到结节的三维空间特征,导致假阳性率依旧很高,性能提升较为困难。尽管三维医学图像在临床实践中已经相当普遍,但是三维卷积神经网络参数量极大,并受显存大小的制约,导致3D CNN在肺结节检测的应用研究依旧处于初级阶段,研究成果较少。针对上述情况,该文以密集神经网络为基础设计了TDN-CNN网络模型,在以结节为中心的64*64*64的3D区域上训练网络。与2D模型相比,该模型虽然参数量显著增加,但是充分利用了结节的三维空间特征,提升了特征的表达能力。
1 相关工作
1.1 三维卷积神经网络
传统的2D/2维卷积神经网络主要应用于2维自然图像的处理,网络中交替地叠加卷积层和池化层,最后利用全连接层输出预测概率。2维图像,尺寸为C
*H
*W
,C
代表图像的颜色通道数,RGB图像的通道数C
为3,单通道图像C
为1。卷积层在2维图像上进行卷积,卷积核的大小为C
*K
*K
,输出的特征图也是二维的。CNN的强大之处在于它的多层网络结构可以自动学习图像特征。但是,2D CNN没有考虑到图像之间时间维度上物体的运动信息,未能充分利用三维立体数据的空间信息。CT图像的切片是身体部位的横截面图像,通常为单通道图像。有些学者将CT的切片在Z维度上进行拼接组合代替颜色通道,以适应立体数据作为2D网络的输入。例如,周芳芳设计了基于2.5D级联卷积神经网络模型用于CT图像的脏器分割。但是,这种基于2D CNN的解决方案仍无法充分利用图像的三维空间信息,尤其是对于CT图像,忽视了人体器官的空间结构。而如果使用3D卷积神经网络进行特征提取,该问题便迎刃而解。3D卷积神经网络中,输入的立体图像为C
*D
*H
*W
,卷积核大小为C
*D
*K
*K
,即卷积核在输入图像的三维空间维度上进行滑窗操作。其中,D
为输入图像的个数或视频的帧数,即为卷积核的第三维度,因此输出依然是三维图像,如图1所示。图1 3D CNN
1.2 密集神经网络
通常随着神经网络深度的增加,其性能亦随之提高。但是单纯增加网络深度,会导致梯度消失或者梯度爆炸,网络收敛困难。何凯明等提出了残差网络,在CNN中创新性地加入了残差单元,通过跳跃连接(skip connection)将上一层的特征信息转发到下一层,有效地解决了深度神经网络中的梯度消失问题,提高了优化率和训练速度。在2017年的CVPR上,Huang等提出了一种密集连接的网络模型-密集神经网络(DenseNet),在网络中引入了稠密块(dense block)和传递层(transition layer)的概念。稠密块重新定义了输入和输出的连接方式,在其内部通过密集连接将网络的每一层与后面的所有层进行连接,使得每层学习到的特征都可以被后面任一层利用。以第L
层为例,其公式如式(1)所示。X
为第L
层的输出特征图,函数H
由Batch Norm、ReLU和3*3卷积组成。第L
层的输入[X
,X
,…,X
-1]由第0层至第L
-1层网络的输出在通道维度上进行拼接组成,如果K
为输入层的维度,则第L
层的维度为K
+K
*(L
-1),其中K
为超参数-增长率。稠密块强化了特征的传递,但是由于其在通道维度上进行拼接,导致每个稠密块输出特征图的channel显著增大,网络参数冗余。因此,在每个稠密块之间添加1*1的卷积作为传递层,旨在控制特征图数量、降低参数冗余。X
=H
([X
,X
,…,X
-1])(1)
2 论文方法
2.1 TDN-CNN网络模型
该文提出的TDN-CNN模型由卷积层、池化层、稠密块、传递层和全连接层组成,网络结构如图2所示。卷积层使用7*7*7的3D卷积核,步长为2。模型的增长率为K
,卷积层产生2K
个特征映射,其余所有层产生4K
个特征映射。池化层采用3*3*3的最大池化操作(Max Pooling 3*3*3),步长为2。经过预处理的3D结节样本经过卷积层和池化层后,得到16*16*16的特征图,再依次通过稠密块和传递层,最后利用全连接层输出结节的预测概率值。稠密块由若干个包含Batch Norm、ReLU激活函数、1*1*1卷积、Batch Norm、ReLU、3*3*3卷积和dropout的组合操作组成,其中稠密块DB_1如图3所示。每两个稠密块中间是传递层,由Batch Norm、ReLU、1*1*1卷积和2*2*2的平均池化组成。模型的全连接层使用sigmoid激活函数,参数设置细节如表1所示。图2 网络结构
图3 稠密块DB_1结构
表1 模型参数设置
2.2 算法流程
根据胸部CT影像的特点,以3D密集神经网络为基础,构建了肺结节假阳性筛查模型:TDN-CNN,算法整体流程如图4所示。
图4 算法流程
算法主要包括4个步骤:
(1)提取肺实质。对LIDC数据集,选取候选数据,使用U-net模型提取肺实质并进行图像的重采样与数据的归一化;
(2)提取3D肺结节VOI(volume of interest)样本。以结节区域为中心,截取64*64*64的三维肺结节图像作为正样本数据,划分数据集,并对正样本进行数据增广;
(3)构建网络模型,进行模型训练、参数的调整;
(4)对训练好的模型在测试集上进行测试,并根据评价指标对模型进行评估。
3 实验及结果分析
该文使用公开的数据集LIDC,选取层厚小于等于2.5 mm的共888组CT图像;选取3位及以上专家共同标注的直径大于等于3 mm的结节共计1 186个。
3.1 数据预处理
肺结节只存在于肺实质中,其特征复杂,与周围的血管和胸腔等组织关联紧密。模型训练前需要对图像进行预处理,旨在缩小算法的问题空间,减少无关信息对模型的干扰。传统的阈值法提取肺实质,流程复杂繁琐,需要结合形态学方法修补边界凹陷。2015年提出的U-net网络,已被成功应用于医学图像分割领域,即使在很少的训练样本量中也能够进行精确的分割。因此,该文使用U-net网络对CT图像进行肺区的分割,提取肺实质。
U-net网络是一个全卷积神经网络,网络由下采样和上采样两个部分组成。下采样部分利用卷积和池化对输入数据进行降维和特征提取,上采样部分对浅层特征进行升维和特征放大。上采样得到的特征图通过concat与下采样部分对应层进行特征融合。数据集一张CT切片大小为512*512,一组CT有上百张切片。而且,在CT切片中,肺实质占整体图像的面积将近50%。因此,该文将2D U-net网络简化为3次下采样、3次上采样,对每张CT切片进行肺实质提取,模型如图5所示。
图5 2D U-net网络:肺实质提取模型
由于不同医疗机构使用的CT设备,导致不同医疗机构的CT影像采样间距存在不同的情况。LIDC数据集的图像来自不同医疗机构,其采样间距在0.6 mm到5.0 mm之间。CT影像反映的是人体组织在三维空间的信息,而三维模型的训练会受到空间信息特征的影响,所以三个方向的采样间距需要统一,以消除空间信息的不一致对模型性能的制约。该文对经过U-net分割后的肺实质图像在X
、Y
和Z
三个方向进行重采样。不同CT设备的采样间距不同、像素间隔不同,这些信息可以从DICOM文件中获取。像素间隔是一个向量,可以用[x
,y
,z
]分别表示X
、Y
、Z
三个方向的像素间隔,通常情况下X
和Y
方向的像素间隔相同,Z
方向与X
和Y
方向的像素间隔可能不同。假设原始图像的大小为[deep,height,width],重采样为[1,1,1] mm的像素间隔,则重采样后图像的大小就为[deep*z
/1,height*y
/1,width*x
/1]。由此可见,图像的重采样就是将原始图像按照[x
,y
,z
]的比例进行各个方向的缩放,得到大小为[deep*z
/1,height*y
/1,width*x
/1]的图像的过程。不同的CT设备的容度不同,导致不同设备采集的CT图像的最大值和最小值有较大差距。CT值的大小取决于物质的密度。骨骼密度最高,它的CT值为+1 000 HU;空气的密度最低,它的CT值为-1 000 HU。即人体的CT值范围在-1 000 ~ +1 000 HU之间,而肺结节的CT值范围是(-1 000,400)。因此,将阈值设置为-1 000和400,对重采样后的肺实质图像归一化到(0,1),以便于神经网络从中抽取有效的图像特征。
3.2 数据增广
深度神经网络的训练往往需要大量的数据,研究学者提出了多种数据增广方法,如平移、旋转、添加噪声和翻转等。因此,该文对训练集中的每个3D结节样本,在上、下、左、右四个方向,以1为步长、[1, 5]为像素范围进行平移。再对每个样本,从三个正交维度(冠状、矢状和轴位置)进行翻转。验证集和测试集不做数据增广,随机截取等量的无肺结节的样本作为负样本集,分别放入训练集、验证集和测试集中。
3.3 实验设置
(2)
3.4 实验结果
该文使用FROC(free-response ROC,FROC)曲线评估模型性能。该曲线的横坐标为平均每个CT中的假阳性样本数量(false positive per scan,FPPS),纵坐标为敏感性。竞争性指标(competition performance metric,CPM)为FROC中FPPS在[0.125, 0.25, 0.5, 1, 2, 4和8]下的平均敏感度,其反映模型的综合查全能力,值越高模型性能越优。
深度学习中,参数的设置直接决定了模型的性能表现。该文使用网格搜索调整模型的增长率K
和随机失活dropout,以探究不同超参数设置下对模型性能的影响。不同参数下,模型性能表现如表2所示。当模型的增长率K
为12,dropout为0.2时,性能达到最优,其训练过程如图6所示。训练集上,FPPS=2时敏感度达到88.9%,模型的CPM为0.84,FROC曲线如图7所示。表2 不同参数的模型性能对比
图6 模型训练损失
图7 FROC曲线
3.5 模型对比与分析
该文亦设计了具有相同结构的2D模型作为对比实验,并与文献[8-10]中的方法进行了比较,如表3所示,所有模型均使用LIDC数据集。
表3 不同模型肺结节假阳性筛查CPM指标对比
Dobrenkii等设计了三维ResNet模型,将CT图像的体素间距重采样为(0.9,0.7,0.7) mm后截取结节的VOI。文中方法将CT图像的体素间距重采样为(1.0, 1.0, 1.0) mm,在FROC中的7个代表性点的敏感度均高于Dobrenkii设计的模型。尤堃等设计了单连接路径 3D CNN模型,并融合了密集连接的思想,CPM值为0.747。虽然显著低于文中模型,但该模型的参数量为199 661,与文中模型参数量相比在计算量上有其自身优势。高慧明等设计了3个尺度不同的3D CNN模型,每个模型的CPM介于0.730到0.773之间。但是,采用AdaBoost加权投票机制融合3个模型的输出结果,其CPM达到0.827。虽然该方法的CPM得分接近文中模型,但是数据预处理繁琐,需对同一个结节样本提取3种不同尺度,模型训练复杂。并且,已有学者证明,对于多尺度网络模型将全局池化层的输出在通道维度上进行拼接再连接至分类层性能表现优于加权投票机制。2D模型虽然与3D模型具有相同的网络结构,但是其忽略了结节的3维空间特征,CPM得分显著低于3D模型。
4 结束语
该文提出了一种基于3D密集神经网络的降低肺结节假阳性率的方法,用于从大量候选结节中筛查真实结节。实验结果表明,该方法能够有效解决肺结节检测系统中候选结节筛查阶段假阳性率较高的问题。与2D模型相比,该方法虽然增加了参数量,但是模型充分利用了结节的三维空间特征,提升了模型特征的表达能力。自Transformer架构问世以来,其不仅成为自然语言处理领域的主流模型,也为计算机视觉领域带来了巨大的革新,在图像的分类、检测和分割上都取得了不错的效果。因此,在未来的研究工作中,将考虑引用Transformer进行结节的检测工作。