基于改进的3DU-Net的肺结节检测算法
2020-11-06周晨芳
摘 要:针对传统方法对结节检测不全,且误检率较高的问题,提出了一种改进的3D U-Net肺结节检测算法。根据肺结节的形态大小特性,将残差网络引入3D U-Net网络框架中,并在3D U-Net的编码结构里引入了空洞卷积。利用改进的3D U-Net肺结节检测算法在中南民族大学认知科学实验室中完成一系列肺结节检测实验。实验结果表明,所提出的算法检测敏感度达到92.30%,并且降低了误诊率和漏检率。
关键词:结节检测;3D U-Net;肺癌
中图分类号:TP183;TP391.41 文献标识码:A 文章编号:2096-4706(2020)12-0066-04
Abstract:In order to solve the problem of incomplete detection and high false detection rate of traditional methods,an improved 3D U-Net lung nodule detection algorithm is proposed. According to the shape and size characteristics of pulmonary nodules,the residual network is introduced into the 3D U-Net network framework,and the hole convolution is introduced into the 3D U-Net coding structure. The improved 3D U-Net pulmonary nodule detection algorithm was used to complete a series of pulmonary nodule detection experiments in the Cognitive Science Laboratory of South-central University for Nationalities. The experimental results show that the accuracy of the proposed algorithm is 92.30%,and the rate of misdiagnosis and missed detection is reduced.
Keywords:nodule detection;3D U-Net;lung cancer
0 引 言
肺癌是危及人類生命健康的最严重疾病之一,其不仅发病率极高,而且死亡率也很高。因此,对肺癌的早期诊断的研究备受学者们的关注。肺癌的早期症状表现并不明显,甚至无症状,而轻微症状通常仅表现为咳嗽,胸痛,声音嘶哑等,容易使人与感冒混淆而被忽视。而当肺癌恶化时,患者通常表现为全身发热、咳血、呼吸困难等,并伴随着其他疾病的发生,难以治愈,严重者会致死。早期肺癌的治愈率为55%,晚期肺癌的治愈率为17%[1]。因此,及时诊断肺癌是治愈肺癌中极其重要的一环。而肺结节作为肺癌的早期表现,检测肺结节对预测肺癌有重大的意义。
1 相关研究
现有的肺结节检测包括早期的传统方法和现代的深度学习的方法[2]。传统的肺结节检测方法有阈值分割法[3]、区域生长法[4]、形态学方法、聚类法[5]等,主要着力于CT图像的基本特征来实现目标,但仍然需要具有丰富经验医师的人工干预,从而导致这些方法的泛化能力低;然而深度学习方法,特别是基于卷积神经网络(Convolutional Neural Network,CNN)的肺结节检测方法,能自动提取胸腔CT图中大量的图像精细特征,实现肺结节的有效检测,满足了医学信息处理智能的需求,因此成为肺结节检测研究领域的重要手段。
2 U-Net卷积神经网络
近年来,深度卷积神经网络在很多视觉识别任务中皆获得了卓著的成绩。在图像分类任务方面,图像的输出是单个标签,但在图像分割领域,任务不仅仅要输出图像的类别,还需要输出定位信息。普通的卷积神经网络结构在图像分割领域表现并不好,通常的思路是通过滑窗的方法,根据像素点周围的像素来对该像素进行分类,但这种网络要对每个窗体进行训练,计算量太大,冗余性太高。
2015年,Ronneberger等人[6]以全卷积网络(Fully Convolu-tional Network,FCN)为基础架构,提出了U-Net模型。该模型结构包含一个用于捕捉语义的收缩途径(contracting path)和一个用在准确定位的对称延伸途径(expansive path)。收缩路径是典型的卷积网络架构,先通过卷积和池化层进行下采样,每一次下采样特征图大小减半,通道数量加倍,对称延伸途径是上采样特征图放大阶段,通过反卷积实现,并且将反卷积的结果与收缩路径中对应步骤的特征图拼接起来,最后输出与原图尺寸相同的图片。
普通卷积神经网络中每一个卷积层的特征图都由上一层继承而来,而U-Net中的expansive path则将多级特征组合,使局部信息的准确性与语义的确定同时兼顾成为可能。这一网络仅使用少量数据,便能够训练出一个端对端网络,而且性能极佳,被广泛应用于医学图像分割领域。
由于在医学图像处理领域,立体影像数据是很常见的,比如CT、核磁共振成像(Magnetic Resonance Imaging,MRI)等,而一层一层转化成2D数据去标注是不现实的,而且用整个3D影像的全部数据去训练既低效又容易过拟合。
2018年,?I?EK等人[7]首次提出3D U-Net网络模型,该模型不仅解决了效率问题,而且解决了数据的标注问题,即对块状图分割时不要求数据全部标注,而只需要标注切片中的部分,即可进行立体分割。
由于整个3D U-Net的模型是在之前U-Net(2D)的基础上创建起来的,因此同样包含了一个编码部分和一个解码部分。编码部分用来分析三维图像序列,并进行特征提取与分析,包含四个重复的卷积层,每个卷积层里有两个卷积块,一个Batch Norm层和ReLU激活函数,而与之相对应的解码部分则与编码阶段类似,只是max-pooling换成了反卷积,即下采样变成上采样,增加特征图的尺寸大小,中间的expansive path操作也与2D U-Net相同,最后生成分割好的图像序列,即三维分割图像。
3D U-Net同样采用了数据增强(Data Augmentation)的手段,主要由rotation、scaling和将图像设置为gray,与此同时在训练数据上和真实标注的数据上运用平滑的密集变形场(smooth dense deformation field)[8],主要是通过从在一个正态分布的随机向量样本中选取标准偏差为4的网格,在每个方向上具有32个体素的间距,然后应用B样条插值(B-Spline Interpolation)[9],B样条插值法比较笼统的说就是在原本地形状上找到一个类似地形状来近似(approximation)。之后就对数据开始进行训练,训练采用的是加权交叉熵损失函数(weighted cross-entropy loss function)以至于减少背景的权重并增加标注到的图像数据部分的权重以达到平衡的影响小管和背景体素上的损失。
3D U-Net的诞生在医学影像分割,特别是对于立体图像(volumetric images)的分割,都是有很大帮助的,因为它很大程度上解决了3D图像一个个slice送入模型进行训练的尴尬局面,也大幅度的提升训练效率,并且保留了FCN和U-Net本来具备的优秀特征。
3 改进的3D U-Net卷积神经网络
肺结节区域检测是典型的3D小目标检测。用2D的卷积网络模型则需要将CT图以Z轴切片为平面圖,再送入网络模型中进行训练(包括切片图和标注图),这样不仅使得预处理过程变得烦琐,还丢失了CT图里的Z轴的空间信息,训练出来的效果也是差强人意。
肺结节检测流程图如图1所示,本文先是直接选用了3D U-Net模型进行肺结节检测实验,然后选用3D双径分类网络进行假阳性去除,最后对实验结果进行对比分析,对结果图像进行可视化研究。采用的数据集是LUNA16,其中,70%用于训练,15%用来验证,15%用来测试,采用十折交叉验证方法进行训练。基于网络输入大小以及硬件条件的限制,这里先将预处理之后的图片crop成96×96×96大小的cube,裁剪后的结果包含两部分,70%的立方体是根据标签来裁剪,但肺结节并不在立方体中心,剩余30%部分是在整个肺部随机裁剪的。
实验结果显示,3D U-Net模型的敏感度达到了89.60%,FROC(Free-Response Receiver Operating Characteristic,FROC)曲线中AUC值为0.91,相较于LUNA16比赛中其他小组的算法,取得了不错的成绩,根据上述分析发现,3D U-Net模型是端对端的U型网络结构。在收缩网络部分,包含有卷积核大小为3×3的多个卷积层,且每个卷积层后均连接着修正单元(ReLU)与一个窗口大小是2×2,步长是2的池化层。在池化层的操作下,图像皆会被下采样,而每次下采样都会损失图像中的信息。在肺部CT图像中,肺结节的大小通常在2 mm到30 mm之间,属于典型的小目标。当池化层下采样的次数越多,图像信息的丢失就越大,对于小的肺结节目标的特征就几乎得不到反映了,这样就会影响模型训练的结果,造成网络对小体积结节的检测遗漏。为此,本文主要针对这些问题改进原有的网络模型结构。
用ResNet网络[10]替换3D U-Net里的主干网络,有力联系了两个网络的优点,首先是残差模型会简化网络的训练,其次是在残差单元中的shortcut连接和网络的低层级与高层级二者间会推动信息传播而不会发生梯度丢失。设计的残差结构如图2所示。
每一个残差块(Res.block)里包含三个残差单元(Residual Unit),并在每一个3×3卷积核后面添加了BatchNorm层,进行数据归一化,提高了网络稳定性并大幅加快了收敛速度。然后借鉴Deeplab模型[11]的思想,将U-Net里加入空洞卷积层。设计出最终的改进的3D U-Net检测模型架构图如图3所示。
用串行方法构建空洞卷积(Atrous Convolution)结构块,复制Res.block的最后一个block,如图3的Res.block4,并把复制后的blocks用串行方法级联。其中,每个block内存在三个卷积,除了最后一个block,其他的block步长皆是2。其中,定义Multi_Grid=(r1,r2,r3)为block4~block7的三个卷积核的基础空洞率(unit rates)。卷积核最终的空洞率(atrous rate)等于unit rate与对应的rate的乘积。其中Multi_Grid=(1,2,4)block4中三个卷积层的rate为2,则最终的空洞率分别为(2,4,8),block5中的rate为4,最终的空洞率为(4,8,16),以此类推。此类网络结构构建的目的,引进的空洞卷积能比较轻易捕捉更深更大区域的信息。而人体内部结构相对固定,引入全局信息能提高检测的精度,并能有效地降低假阳性。
此外,损失函数用dice_coef_loss概念,其中,两个区块的类似程度以DSC代表,A与B代表两个轮廓区块所囊括的点的集合,概念见式(1)。
DSC=(A,B)=2|A∩B|/(|A|+|B|) (1)
dice_coef_loss以式(2)呈现,并运用Adam(Adaptive moment estimation,Adam)算法来训练。
dice_coef_loss=1-DSC (2)
4 实验结果与分析
4.1 评估标准
肺结节检测出来的疑似结节有两种情况,真性结节和非真性结节(包含假阳性结节和非结节),可以看成是一个二分类问题,真性结节为正样本,非真性结节为负样本。为了评估本文提出的改进的3D U-Net检验模型的可行性和稳定性,文章使用混淆矩阵来进行模型评估。二分类问题中样本只能为正类和负类。则检测出来的会有四种情况:(1)被预测为正的正样本;(2)被预测为负的正样本;(3)被预测为正的负样本;(4)被预测为负的负样本。这四类情况如表1所示。
肺结节检验系统之中,正类也就是标记的肺结节区块,负类是不包含肺结节区块在内的区块。就相当于正样本数量是定了的,而负样本是未知的。肺结节检测第一步主要是为了查全,因此选取的评估标准重点为医学较为常用的评估标准敏感度(Sensitivity),即数据中肺结节被检出的占比,即式(3)。
Sensitivity= (3)
此外,还有一个评价标准,就是在平均每张CT影像中检测出的结节的数量(Candidates/Scan)。
4.2 实验结果与分析
本文提出的改进的3D U-Net肺结节检测网络在LUNA16和天池医疗AI大赛的数据集进行实验,皆取得了突出的成效。文章提出的改进的3D U-net网络与参考文献[12-15]中提到的相关算法的比较结果如表2所示。
表2中,ISICAD和M5L采用传统方法,其中人工特征提取的方法候选结节数量很多,3D区域生长法取得了不错的成绩,Xie等和严忱君采用的是深度学习的方法,FRCNN和2D U-Net是目前比较流行的肺结节检测模型。通过表格数据对比,采用3D U-Net模型能较好地分割出肺结节,本文的改进取得了不错的效果,具有一定的理论和实际意义。
采用国际通用的模型评估标准FROC曲线来验证该模型的性能,FROC是ROC(Receiver Operating Characteristic curv,ROC)的一个变种,ROC曲线是针对二分类问题的,FROC曲线则对应多目标检测问题。纵坐标为敏感度Sensitivity,横坐标为FPPS(False Positives Per Scan,FPPS),即平均每张CT中假阳性样本的个数,这里设置为FPPS= {0.125,0.250,0.500,1.000,2.000,4.000,8.000},如图4所示,是本文的算法与LUNA16肺结节挑战赛中一些小组算法的对比结果。
由表内数据能够获悉,文章给出的方式达到了最高的敏感度,而且生成的候选结节的均数最少。由图可以看出,当FPPS略低时,3D区域生长法、3D U-Net和改进的3D U-Net表现偏好,另外三组的敏感度偏低,当FPPS大于2时,3D U-Net、FRCNN和本文的敏感度都超过了80%,但是当FPPS小于0.500时,其敏感度要低于改进的3D U-Net,综合来看,本文提出的改进的3D U-Net算法不管是哪个阶段,表现力都优于其他几组。证明了改进的3D U-Net网络在候选结节检验上获得了突出的成果。
图5为检测之后的可视化结果图,从图中可以看出肺结节的大小和给出的预测概率,从图中也可以看出,对于不同形态和大小的结节,用本文提出的检测算法都能有效的检测出来。
5 结 论
本文选用了3D U-Net作为肺结节检测实验的神经网络模型。然后根据肺结节的形态不规则,体积偏小的形态特点,以及实验训练过程中遇到的梯度爆炸模型不收敛问题,引入了残差结构优化了主干网络,融合空洞卷积加深了U-Net结构里的收敛途径,获得了更多的有效的特征信息。最后采用LUNA16数据集用来训练模型,得到的结果与其他方法进行对比。结果表明,改进的3D U-Net模型在一定情况下具有比其他方法更高的敏感度,即漏检率更低,能尽可能全的分割出肺结节。
参考文献:
[1] BROWN M S,GOLDIN J G,SUH R D,et al. Lung Micronodules:Automated Method for Detection at Thin-Section CT——Initial Experience [J].Radiology,2003,226(1):256-62.
[2] 赵清一,孔平,闵建中,等.肺结节检测与分类的深度学习方法综述 [J].生物医学工程学杂志,2019,36(6):1060-1068.
[3] LIAO X L,ZHAO J J,JIAO C,et al. A Segmentation Method for Lung Parenchyma Image Sequences Based on Superpixels and a Self-Generating Neural Forest [J].PLoS One,2016,11(8):e0160556.
[4] 苏明超,郭书军.基于区域生长算法的CT图像肺组织分割 [C]//中国电子学会第十五届信息论学术年会暨第一届全国网络编码学术年会.中国电子学会第十五届信息论学术年會暨第一届全国网络编码学术年会论文集(上册).青岛:国防工业出版社,2008:180-182.
[5] CHEN N J,LIU G,Liao Y Y,et al. Research on computer-aided diagnosis of lung nodule [C]//2014 IEEE Workshop on Electronics,Computer and Applications.Ottawa:IEEE,2014:1019-1022.
[6] RONNEBERGER O. Invited Talk:U-Net Convolutional Networks for Biomedical Image Segmentation [C]//Algorithmen-Systeme-Anwendungen.Heidelberg:Springer Vieweg,2017:3.
[7] ?I?EK ?,ABDULKADIR A,LIENKAMP S S,et al. 3D U-Net:Learning Dense Volumetric Segmentation from Sparse Annotation [C]//Medical Image Computing and Computer-Assisted Intervention——MICCAI 2016.Cham:Springer,2016:424-432.
[8] PUJOL A,VILLANUEVA J J,WECHSLER H. Automatic View Based Caricaturing [C]//Proceedings 15th International Conference on Pattern Recognition.Barcelona:IEEE,2000(1):1072-1075.
[9] LEHMANN T M,GONNER C,SPITZER K. Addendum:B-spline interpolation in medical image processing [J].IEEE Transactions on Medical Imaging,2001,20(7):660-665.
[10] HE K M,ZHANG X Y,REN S Q,et al. Deep Residual Learning for Image Recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas:IEEE,2016:770-778.
[11] CHEN L,PAPANDREOU G,KOKKINOS I,et al. DeepLab:Semantic Image Segmentation with Deep Convolutional Nets,Atrous Convolution,and Fully Connected CRFs [J].IEEE transactions on pattern analysis and machine intelligence,2018,40(4):834-848.
[12] MURPHY K,GINNEKEN B V,SCHILHAM A M R,et al. A large-scale evaluation of automatic pulmonary nodule detection in chest CT using local image features and k-nearest-neighbour classification [J].Medical Image Analysis,2009,13(5):757-770.
[13] TRAVERSO A,TORRES E L,BAGNASCO S,et al. B.318-Clinical validation of the M5L lung computer-assisted detection system [J].Physica Medica,2016,32:94.
[14] XIE Y T,ZHANG J P,XIA Y,et al. Fusing texture,shape and deep model-learned information at decision level for automated classification of lung nodules on chest CT [J].Information Fusion,2018(42):102-110.
[15] 严忱君.基于机器视觉的肺结节初筛算法研究与实现 [D].杭州:浙江大学,2018.
作者简介:周晨芳(1995—),女,漢族,湖北孝感人,硕士研究生,研究方向:医学图像处理。