基于密集网络改进的肺结节良恶性分类模型
2018-07-19戴垚均闫士举宋成利上海理工大学医疗器械与食品学院上海200093
戴垚均,闫士举,宋成利(上海理工大学医疗器械与食品学院,上海 200093)
肺癌是发病率和死亡率居高不下的恶性肿瘤之一,早期检出至关重要。低剂量CT是检测早期无症状肺癌的有效方法,可发现90%的病灶[1]。肺部病变常表现为肺结节,准确鉴别其良恶性非常重要。计算机辅助诊断良恶性肺结节模型的鲁棒性好,且准确率高,其对良恶性肺结节的诊断分为两类。一类是基于从图像中提取量化特征(直方图特征[2]、尺度不变特征转换特征[3]、局部二进制模式特征[4]及梯度方向直方图特征[5]等),之后采用传统机器学习算法(支持向量机及随机森林等)对肺结节进行良恶性分类;但上述特征均由人工设计,难以对图像进行全面、深层次解析。另一类则直接基于图像本身或图像的某种变换图谱,采用层次更深的神经网络对肺结节进行良恶性分类,如Song等[6-7]采用LeNet[8](4层)卷积神经网络结构、Hussein等[9]采用基于AlexNet[10](8层)卷积神经网络结构、Nibali等[11]基于ResNet[12](18层)卷积神经网络结构等,但此类方法并未针对肺结节良恶性分类这一特定应用对现有模型进行有效改进,不能充分挖掘图像的深层次有用信息。本课题组提出基于DenseNet[13](161层)改进的卷积神经网络,结合DenseNet具备残差结构、网络较深、能够融合浅层与深层特征进行分类的优势,针对肺结节良恶分类这一特定问题对DenseNet的网络结构进行改进,将原有损失函数Cross Entropy Loss替换为Focal Loss[14],使得网络能够着重学习难以分辨的肺结节,以期提高准确率。
1 原理与方法
1.1 数据 本文所用数据集来源于公开的肺部图像数据库联盟(Lung Image Database Consortium, LIDC),其内包含1 018组CT序列,每组序列对应一个XML注释文件,由4名高年资放射医师完成注释,包括肺结节(最大径>3 mm)的坐标和恶性程度评分(1~5分)。
选取层厚≤3 mm[15-16]的CT序列作为研究对象,共计888组、1 186个肺结节,由3名及以上医师同时标注,取其均值作为总评分,>3分为恶性结节,<3分为良性结节,=3分为良恶性无法确定,予以舍弃。最终共获得1 030个肺结节的图像数据。
1.2 原理
1.2.1 中间密度投影(median intensity projection, MIP) 卷积神经网络输入的是二维图像,但肺结节为三维结构,故采用MIP[9]对三维肺结节的外接立方体I分别沿x、y、z轴进行投影(图1),每个轴投影获得的MIP图像φ为:
(1)
其中med代表取中位数运算。将计算获得的3张二维MIP图像拼接为1个三维张量Ф,Φ=[φ(x,y),φ(y,z),φ(x,z)],可视Ф为一张三通道的红绿蓝(red green blue, RGB)彩色图像,并能被输至卷积神经网络中进行训练。
1.2.2 数据集划分及扩充 对三维肺结节数据行MIP处理后,获得1 030张RGB三通道图像(图2)。采用十折交叉验证方法,将1 030个肺结节图像随机分为10组,对其中9组加椒盐噪声、高斯噪声、均值滤波、中值滤波、高斯滤波及双边滤波,随机旋转后将图像扩充50倍作为训练集;以剩余的1组作为测试集。重复上述步骤10次,获得交叉验证结果。
1.2.3 损失函数计算 为在神经网络迭代训练中不断调整参数、达到最优模型,需定义1个损失函数作为优化目标。
假设共有n张图像,令Di={xi,yi},i∈(1,…,n),其中Di代表数据集中第i个样本,xi代表第i张图像,yi代表xi的良恶性。以其中1个训练样本图像x为例,神经网络进行正向传播,计算获得神经网络最后一层全连接层(fully connected laye, FC)的输出向量v,v={v1,…,vk},k∈(1,2),向量v1与v2分别对应肺结节的良性与恶性特征。采用SoftMax为神经网络分类器,预测概率计算公式为:
(2)
图1 基于密集网络改进的肺结节良恶分类流程图 图2 训练与测试流程图 (ILSVRC2012:2012大规模视觉识别挑战赛[17]数据;Modified DenseNet+Focal Loss:基于密集网络改进的肺结节良恶性分类模型)
神经网络常采用Cross Entropy Loss损失函数,n个样本的损失函数L计算公式为:
(3)
Focal Loss损失函数计算公式为:
L=-α(1-p((k|x)))rlogp(k)
(4)
式(4)中,超参数α由训练样本中的正负样本比例决定,由于本课题组在图像扩充时保持正负样本数量一致,故此处α取1。
当神经网络对正确类别预测概率值较大(如当概率值>0.6)时,损失函数获得的损失值较小,权重在反向传播时获得的偏导数也较小,故权重调整幅度不大;而当神经网络对正确类别预测概率较小时,损失函数获得的损失值较大,权重在反向传播时获得的偏导数也较大,故权重调整幅度较大(图3)。因此,神经网络即可着重学习“难以分辨”的肺结节。
1.2.4 残差结构 当网络层数较深时,训练会产生梯度消失[12]。本课题组采用残差结构[12]构建网络,见图4,其中x代表前置层输入,不采用残差结构时,串联的网络相当于拟合函数y=F(x);采取残差结构后,神经元拟合函数优化为y=h(x)=F(x)+x,代表残差结构网络拟合的函数功能为串联网络与输入x相加。进行误差反向传播时,由于F(x)对x的偏导数不会恒定为数值-1,保证了输出y对输入x偏导数不会恒等于0,可减轻由层数递增导致的梯度为零的问题(图4)。
残差结构还能将浅层与深层图像特征拼接,重复拼接可使网络最后一层FC层与肺结节图像的各层图像特征间接相连,可有效融合图像的浅层与深层特征,以对肺结节进行良恶性分类,充分挖掘图像蕴含的有用信息,有望提高准确率[13]。
1.2.5 模型微调 卷积神经网络需大量图像数据进行训练,而筛选后的肺结节图像数量较少,难以充分优化网络权重,本课题组采用模型微调的方法予以解决。首先采用大规模开源数据[2012大规模视觉识别挑战赛[17](Large Scale Visual Recognition Challenge 2012, ILSVRC2012)]对模型进行预训练,然后对预训练后的模型进行参数微调。此法不仅能有效提升神经网络模型分类的准确性,还可大幅度加快损失函数的收敛速度。本研究后续实验均采用预训练模型微调参数的方法。
1.2.6 网络输入结构改进 由于肺结节图像本身较小,放大操作图像可影响神经网络对微小肺结节良恶性分类的学习,故尝试缩小神经网络输入尺寸。参数微调需各层数据张量尺寸相同,故本研究共尝试4种改进方法,如图5中1×3×224×224代表批处理数量为1,输入特征图像通道数为3,输入特征图像长度为224像素、宽度为224像素;均可保证后续网络输入仍为1×96×112×112,与后置层张量尺寸保持一致,可在后置层上进行参数微调。
2 结果
2.1 超参数γ的选择 采用Ubuntu14.04、NVIDIA GeForce GTX 1080显卡、Intel Xeon E5-1620 v4 3.5 GHz 处理器。当超参数γ取不同数值时,Focal Loss中损失函数对分类概率的函数曲线会发生变化(图3)。γ=1、2、3、4、5时,模型对肺结节良恶性进行分类的准确率分别为89.41%、89.93%、88.64%、89.57%、89.33%,其中γ=2时模型对肺结节良恶性分类的准确率最高。
2.2 选择网络结构 采用DenseNet原始结构及4种改进网络结构以相同数据进行训练,未改进版本、改进版本1、2、3、4对应模型分类肺结节良恶性的准确率分别为87.76%、88.52%、89.34%、88.94%、89.93%,其中第4种改进版本的准确率最高(图5)。
图3 Focal Loss损失函数图 图4 残差结构示意图 (ReLU:线性整流函数;identity:恒等变换)
2.3 MIP实验 观察5种MIP方案对肺结节进行良恶性分类准确性的影响,包括A方案(不采用MIP)、B方案(采用MIP,直接将3个面放缩至112×112大小进行拼接)、C方案(采用MIP,用图像均值作为填充值,填充为正方形后放缩至112×112,之后进行拼接)、D方案(采用MIP,用0像素值作为填充值,填充后放缩至112×112,之后进行拼接)、E方案(采用MIP,用4096像素值作为填充值,填充后放缩至112×112,之后进行拼接),见图6。由于层厚及扫描层数的关系,肺结节在不同方向的投影尺度相异。为后续输入神经网络的便利性,从CT中截取肺结节立方体时,保持肺结节的横断面为正方形;而为进行三通道拼接,需对肺结节进行矢状位与冠状位缩放。方案A、B、C、D、E对肺结节良恶性进行分类的准确率分别为89.19%、89.93%、89.54%、88.63%、89.32%,即采用直接将3个面放缩至112×112大小进行拼接的策略时,准确率最高。
2.4 模型诊断肺结节良恶性的效能
2.4.1 同一方法不同变量对肺结节良恶性进行分类的准确率 采用DenseNet方法,以不同变量分别进行8组测试实验,观察模型对肺结节良恶性进行分类的准确率,每组实验均训练50轮。其中采用MIP、改变输入尺寸及Focal Loss训练网路的准确率较高(表1、图7)。
表1 不同变量下肺结节良恶性分类结果
2.4.2 不同方法对肺结节进行良恶性分类的准确率 本课题组提出的网络结构具有残差结构,可构建较深的网络,且不发生梯度消失,较好地融合了浅层与深层的图像特征,其对肺结节良恶性分类的准确率、敏感度、特异度及曲线下面积(area under roc curve, AUC)均较高(表2)。对改进前、改进后DenseNet分别进行10组测试实验,对获得的2组测试集分类准确率进行假设检验分析,改进后DenseNet对肺结节良恶性分类的准确率高于改进前DenseNet(P=0.017,图7)。
表2 不同方法诊断恶性肺结节的效能
图5 DenseNet及其4种改进版本示意图
图6 不同方案MIP示意图 A~E.分别为采用A、B、C、D、E方案的轴位图; F~J.分别为采用A、B、C、D、E方案的矢状位图; K~O.分别为采用A、B、C、D、E方案的冠状位图; P~S.采用B、C、D、E方案的拼接图
图7 改进前与改进后的DenseNet分类ROC曲线对比
3 讨论
现有的深度神经网络方法虽能自动提取肺结节图像特征,但多采用浅层网络(小于50层)或既有网络对肺结节进行良恶性分类,未观察深层网络肺结节的良恶性,也未对肺结节良恶性分类问题进行适应性改进。
本课题组以MIP进行图像处理,可更全面地观察肺结节的三维信息;并采用旋转、滤波等图像处理方法对肺结节图像进行适当的数据扩充,使神经网络能获得更好的训练。本课题组还对密集网络的结构进行了适应性改进,使模型具备深层网络(161层),融合浅层与深层特征学习肺结节分类,输入尺寸更适应肺结节图像,并将图像检测领域的Focal Loss函数添加至肺结节良恶性分类中,使网络可针对性地学习难以分辨的肺结节,提升了模型对肺结节进行良恶性分类的准确率。今后可构建三维卷积神经网络对肺结节进行良恶性分类,而对于其他影像学设备的图像,如PET图像,也可考虑将之输入网络进行辅助学习。