刘一璟,张旭斌,张建伟,周哲磊,冯元力,陈为,2*
(1.浙江大学计算机科学与技术学院CAD&CG 国家重点实验室,浙江杭州310058;2.浙江大学附属第一医院,浙江杭州310006;3.浙江大学数学科学学院,浙江杭州310027)
肺癌是一种高致死率的恶性肿瘤[1]。通过CT图像正确判断肺结节的良恶性有助于早期发现,尽早治疗。为辅助医生对肺结节恶化阶段与风险因子的评估,对肺结节良恶性进行自动分类非常重要[2]。
对肺结节良恶性进行自动分类的方法已有不少,现有的基于图像的方法一般通过检测[3-4]、特征提取[5-8]、分割[9-11]以及标记结节类别[12-14]来实现。OROZO 等[8]通过计算肺结节图像的Daubechies 波变换提取特征,并将特征送入支持向量机,分离出恶性结节;MEHDI 等[15]提出了称为Ipris的新影像组学方法以捕捉结节外观从内到外的纹理变化,使用支持向量机并利用Ipris 特征对肺结节进行分类;FARAG 等[16]分别使用了Gabor 滤波器、多分辨率局部二值模式与有向距混合局部二值模式来提取肺结节特征,利用支持向量机和k最邻近2种分类器对肺结节进行分类。
也有一些基于深度学习的方法给出了较好的结果。CIOMPI 等[17]提出了基于多流多尺度二维卷积网络的分类框架,通过分析任意数量二维截面图来学习肺结节的三维表示;ZHAO 等[18]构建了一个LeNet与AlexNet的混合二维卷积网络,通过训练此网络进行肺结节的良恶性分类;QIANG 等[19]提出了一种基于ELM算法的深度监督自动编码器结构,使用2个该结构模型,并利用肺结节的CT图像与PET图像,将模型混合得到分类结果。
尽管基于深度学习的方法通常表现良好,但由于肺结节在形态上的变化范围较大,而这些方法大多尺寸固定,较难提升分类性能。此外,大部分肺结节尺寸较小,多次池化操作后易丢失其细节形态特征;且由于肺结节CT图像中存在大量无关的背景信息,常用的深度网络难以捕捉关键特征。
针对以上问题,本文提出了一种基于DenseNet的新颖的网络:DenseNet-centercrop。该网络在DenseNet 结构中引入中心剪裁操作,在不同稠密块间建立间接跨连接,增加了大量多尺度特征。图1展示的为DenseNet-centercrop中一个稠密块的结构。DenseNet-centercrop为一个端到端的肺结节良恶性分类网络,不需要肺结节的分割标注,较完整地保留了DenseNet 原本的结构,从而很大程度上保留了参数效率高、特征复用度高、轻量化等DenseNet的优点,中心剪裁的引入使其更适用于肺结节分类,DenseNet-centercrop可以自然地继承DenseNet中的瓶颈层、压缩过渡层结构,参数进一步减少而网络性能不受影响。
图1 DenseNet-centercrop中一个增长率k=3的稠密块结构Fig.1 The architecture of a dense block with a growth rate of k=3 in DenseNet-centercrop
DenseNet (HUANG 等[20])中的稠密连接机制在一个稠密块中完成,当此过程结束后,稠密块中的所有层产生的特征图在通道数维上被合并,然后由过渡层传输到下一个稠密块。
给定一个有Lk层的稠密块Bk,其中第l层将以以下方式产生输出xkl:
其中,[·]操作表示将特征图在通道数上合并,变量中的上下标k和l分别表示所在稠密块的编号与所在层的编号,是3个连续操作的组合函数:批量正则化(BN)、线性整流单元(ReLU)和一个3´3´3卷积(Conv)。
稠密连接后,稠密块Bk把所有的特征图由过渡层传递至下一个稠密块Bk+1:
其中,xk+10表示稠密块Bk+1的输入,Tk(·)表示稠密块Bk与Bk+1间的过渡层,其由一个批量正则化层,一个1´1´1卷积层和2´2´2最大池化层组成。
在DenseNet中,过渡层被引入用于连接2个相邻的稠密块,这意味着稠密连接机制实际上独立地存在于每个稠密块中,通向浅层特征图的连接在经过过渡层时会被切断,导致在深稠密块中不存在通往浅稠密块的跨连接。本文引入中心剪裁操作来解决此问题。给定张量x0,中心剪裁将切割出每个通道上三维特征图的中心部分,将输出张量记为,则的宽高深均为x0的一半,通道数与x0相同。在中心剪裁之后,xc0会被传输到下一个稠密块中,建立起2个稠密块的跨连接,在下一个稠密块中,xc0仍然会被中心剪裁,并依此类推。在中心剪裁的迭代中,不同稠密块之间都建立起了间接的跨连接。
在预处理后,肺结节位于样本图像的中心,本文将中心剪裁用于稠密块的所有特征图,不仅可以便捷快速地去除无关的背景信息,而且保证了卷积与池化始终保持在样本图像的肺结节区域,且无须额外的参数和计算。此外,将中心剪裁引入DenseNet,可以在单网络中产生大量的多尺度特征,这有别于使用多个平行网络来产生多尺度特征的结构,如MCNN(SHEN 等[21])等。
1.3.1 结构
DenseNet-centercrop的定义如下:
在式(2)中,DenseNet通过过渡层Tk将传入稠密块Bk+1,在2个稠密块中增加一个中心剪裁分支,将中心剪裁与Tk的输出在通道数维上合并后传入稠密块Bk+1:
其中,C(·)为中心剪裁操作为稠密块Bk+1的输入。图2为此方法的展示。
1.3.2 继承DenseNet
为了减少模型的参数,DenseNet-centercrop 使用DenseNet中用于压缩模型的结构。
瓶颈层。在经过数个DenseNet-centercrop 稠密块的传递后,特征图的数量会变得相当大。因此本文将1´1´1卷积引入DenseNet-centercrop,在3´3´3卷积之前作为瓶颈层用于控制输入特征图的数量,从而削减网络参数量。将含有瓶颈层的DenseNet-centercrop 称为DenseNet-centercrop-B,这里的瓶颈层对应BN-ReLU-Conv(1´1´1)的序列,在实验中,瓶颈层输出2k个特征图,k为增长率。
图2 DenseNet-centercrop 在DenseNet的过渡层处加入新的分支以引入中心剪裁操作Fig.2 Centercrop operation of DenseNet-centercrop add a new branch at the transition layer of DenseNet
压缩过渡层。类似于DenseNet,在DenseNetcentercrop 过渡层中压缩特征图的数量。如果过渡层接收到m个特征图,则输出[θm]个特征图,0<θ£1为压缩因子,控制压缩的比率,如果θ<1,过渡层将对输入特征图进行压缩。这里称θ<1的DenseNet-centercrop为DenseNet-centercrop-C,在实验中将θ设为0.8。若瓶颈层和压缩过渡层都被用于DenseNet-centercrop,则称为DenseNetcentercrop-BC。
对DenseNet-centercrop 进行了一系列肺结节良恶性分类实验。首先,通过实验调整DenseNetcentercrop的参数配置,然后,比较DenseNet与DenseNet-centercrop 当前最佳方法的表现。实验以准确率和AUC(area under roc curve)作为评估指标。
将LIDC-IDRI 作为肺结节良恶性分类数据集。LIDC-IDRI 包含1 012个胸腔CT扫描,并给出了肺结节的位置信息及良恶性标注。
由4位有丰富经验的胸腔放射科医生对肺结节进行良恶性评估,评估的分数为从1到5的整数,分数越高则肺结节为恶性越明显。每个肺结节的标签有3类:良性、恶性和不确定。若肺结节的平均评估分值高于3,则将其划为恶性;平均评估分值低于3,则划为良性;等于3 则划为不确定。最终得到2 637个肺结节样本,其中有1 361个良性样本,640个为恶性样本,636个为不确定样本。不确定样本没有用于实验。
数据集中的CT图像分辨率存在差异,为了消除差异,每个CT 都用样条插值进行预处理,处理后每张CT图片在三个维度上都有固定的0.5 mm/voxel分辨率,根据位置标注,以肺结节为中心从被处理后的CT图像中提取尺寸为64 mm×64 mm×64 mm的数据作为模型输入,肺结节的直径在3~30 mm,因此,每个肺结节都可以完整地包含在样本内。
为了提高网络的泛化能力,将常用的数据增强方法引入训练集。包含步距在[-2,2]内的随机平移、随机翻转以及增加噪声,噪声为随机整数,遵循[-76,78]均匀分布。在训练样本送入网络前进行增强与归一化处理。
数据集包含样本的总数为2 001,随机并均匀地将其分为5个子集用于训练和测试模型。
首先,调整DenseNet-centercrop的参数,包括稠密块的数量、稠密块中层的数量以及增长率k。稠密块的数量n在{2,3,4,5}中调整,层的数量l在{2,4,8}中调整,增长率k则在{8,12,16}中调整。
然后,给出在固定参数配置下DenseNet,DenseNet-centercrop,DenseNet-centercrop-BC的五折交叉验证结果,同时给出每个模型的参数量。最后,与其他方法进行广泛比较。
网络使用无穷范数下的适应动量估计(Adamax)(KINGMA 等[22])进行训练,动量参数设置为β1=0.9,β2=0.99,初始学习率为0.004 5,每60轮次迭代后学习率减半。为了改善过拟合问题,使用正则系数为8×10-4的l2范数,参数正则化项被加入损失中。为了进一步提高网络的泛化能力,每个3×3×3卷积层后都会增加dropout层,并将dropout的概率设置为0.2。将focal loss (LIN 等[23])选为损失函数,并设置α=0.64,γ=2.45。这里α代表恶性样本的损失权重,1-α为良性样本的损失权重,γ为对简单样本的权重衰减率。
在相同的4个子集上训练不同参数配置下的DenseNet-centercrop,然后在同一个子集上评估模型的性能。测试集包含126个恶性样本和274个良性样本,训练集包含514个恶性样本和1 087个良性样本。
稠密块数量。固定增长率(growth rate)为k=12,不同稠密块数量下的分类表现见表1,稠密块数量分别设置为{2,3,4,5},其中,第一个稠密块的层数固定为2,其余稠密块的层数固定为4。当稠密块数量为4时,模型取得了较高的准确率和AUC值。
表1 DenseNet-centercrop在不同稠密块数下的表现Table1 Performance of DenseNet-centercrop with different dense block numbers
稠密块层数。固定增长率k=12,稠密块数量n=4,前2个稠密块的层数分别固定为2和4,针对剩余2个稠密块的层数进行实验,层数在{2,4,8}中选定,如表2所示,当4个稠密块层数分别为(2,4,8,4)时,DenseNet-centercrop 拥有最 好的表现。
表2 DenseNet-centercrop在不同层数配置下的表现Table2 Performance of DenseNet-centercrop with different layer number configurations
增长率。固定稠密块数量n=4,层数配置为(2,4,8,4),调 整DenseNet-centercrop和DenseNetcentercrop-BC中的增长率k后的实验结果如表3所示,DenseNet-centercrop 在增长率为12时拥有较好的表现,而DenseNet-centercrop-BC 在增长率为16时得到较优的结果。
通过五折交叉验证评估在固定参数配置下DenseNet-centercrop,DenseNet-centercrop-BC,DenseNet,DenseNet-BC 在肺结节良恶性分类中的性能。数据集被随机均匀地分为5个子集,在每次验证中,一个子集被选作测试集,模型则在剩余的4个子集上进行训练。最后,将本文提出的网络模型与当前最好方法进行了比较。
表3 DenseNet-centercrop与DenseNet-centercrop-BC 在不同增长率下的表现Table3 Performance of DenseNet-centercrop and DenseNet-centercrop-BC with different growth rates
DenseNet和DenseNet-BC的参数配置与对应的DenseNet-centercrop和DenseNet-centercrop-BC相同,稠密块数n=4,各自层数为(2,4,8,4),增长率分别为k=12和k=16。
表4 DenseNet与DenseNet-centercrop对 比Table4 Comparison between DenseNet and DenseNetcentercrop
表5 DenseNet-centercrop与现有方法对比Table5 Comparison between DenseNet-centercrop and other methods
表4为DenseNet-centercrop与DenseNet的结果比较,DenseNet-centercrop与DenseNetcentercrop-BC 较拥有相同参数配置的DenseNet和DenseNet-BC 在精度上分别提升了4.9%和3.25%,其中DenseNet-centercrop-BC的分类精度和AUC分值最高。本文模型与其他方法的对比结果如表5所示,由表5知,DenseNet-centercrop-BC的分类精度与AUC分值最好,精度较现有最好方法提升了0.37%~7.22%,AUC分值高达0.9313。
DenseNet-centercrop 以清晰、直观的方式改进了DenseNet,在稠密块之间增加了新的分支以引入中心剪裁操作,提高了DenseNet 在肺结节良恶性诊断中的适用性,这也导致了两者间明显的性能区别。
中心剪裁有效性。1.2节指出了中心剪裁操作对于DenseNet的重要性。简单来说,中心剪裁在不同稠密块之间建立了间接的跨连接并且丰富了多尺度特征。通过DenseNet和DenseNet-centercrop的对比实验,验证了中心剪裁的有效性。DenseNetcentercrop与DenseNet的唯一不同在于是否含有中心剪裁操作,从表4中可以看到,DenseNetcentercrop 在分类精度上较DenseNet有明显提升,在表5中,DenseNet-centercrop 超过了当前的最好方法,表明中心剪裁在肺结节分类任务上对于DenseNet 性能提升的重要性。
模型紧凑性。尽管DenseNet-centercrop 引入中心剪裁的方式是直观清晰的,但在引入中心剪裁后,不可避免地增加了DenseNet的参数数量。在表4中,DenseNet-centercrop较DenseNet的分类精度提升了4.9%,同时参数量也扩增了149%左右,这在一定程度上影响了DenseNet的参数高效性,但在引入瓶颈和压缩过渡层结构后,DenseNetcentercrop-BC 在提升DenseNet-BC 性能的同时,仅将其参数量扩增了52%,且其表现优于DenseNetcentercrop。
提出了一种新的卷积网络DenseNet-centercrop用于解决肺结节诊断性分类。DenseNetcentercrop 充分利用了肺结节CT图像的特点,并自然地继承了DenseNet良好的性质。在LIDC-IDRI数据集上的实验表明,DenseNet-centercrop 较DenseNet 学习到更准确的模型,且参数量无明显增加,在肺结节良恶性分类上超过了现有的最好方法。
衷心感谢浙江大学睿医人工智能研究中心对本文工作的支持和付出!