基于同步深度监督的多尺度肺结节分类

2019-09-13 03:38张小龙王三虎
计算机应用与软件 2019年9期
关键词:池化分类器尺度

张 丽 强 彦 张小龙 王三虎

1(太原理工大学计算机科学与技术学院 山西 太原 030024)2(宾夕法尼亚州立大学信息科学与技术学院 宾西法尼亚州 尤尼弗西蒂帕克 16802)3(吕梁学院计算机科学与技术系 山西 吕梁 033000)

0 引 言

肺癌已成为全世界发病率与致死率最高的恶性肿瘤之一[1]。肺癌死亡率逐年增高的最主要原因是其早期的病变特征不易被发现,一经确诊,治愈率很低。计算机辅助诊断(CAD)系统[2]能通过帮助放射科医师做出正确的分类决策并降低手动读取扫描所产生的成本,显著提高基于计算机断层扫描(CT)的筛查程序的可行性。本文应用基于同步深度监督的多尺度肺结节分类方法显著提高了CAD系统决策的准确率。

1 相关工作

计算机辅助诊断方法在肺癌早期筛查中发挥着重要作用。Li等[3]提出了一种改进的随机森林(RF)算法用于肺结节良恶性分类,在LIDC数据集上达到了0.90的准确率,这是传统的计算机辅助诊断方法。近年来,深度学习已经成功应用于语音识别、图像识别[4-6]等领域,在医学图像处理中深度学习技术也得到广泛的应用[7-8],其中卷积神经网络(CNN)在肺部医学图像处理中取得一定的研究成果,使用CNN的一个显著优点是它们不需要从图像中手工提取任何类型的特征,而是直接从数据中学习辨别特征。Shen等[9]使用2层卷积神经网络在不同尺度的多个结节上成功地对恶性肺结节进行分类。Ciompi等[10]使用现有的预训练CNN(称为OverFeat[11],具有8个加权层)对周围结节进行分类。Setio等[12]在不同的结节视图(轴向、冠状、矢状和六个对角线平面)上使用9个独立的CNN(每个有三个卷积层)进行分类,以确定结节的存在。通过将CNN输出与完全连接的层融合来获得最终的分类结果。

尽管目前的CNN模型在肺部医学图像处理中取得一定的研究成果,但针对肺结节占肺部CT影像面积小且结节大小不一的特点,选择适当的网络架构提取特定输入数据特征仍是一个巨大的挑战。AlexNet[13]由Hinton提出并在2012年ImageNet竞赛中成功使用,与其他结构复杂的深度CNN架构相比(例如GoogLeNet、VGG等),AlexNet是一种结构简单的CNN架构,易于训练和优化,但它并不是针对医学图像的网络模型。针对肺部结节的特征,本文改进了典型的AlexNet模型以适应肺部医学图像的分析与处理。但是改进的AlexNet模型并不能直接处理肺结节的多尺度现象,并且容易产生梯度消失、过拟合等现象。Chen等[14]提出了空间金字塔模型(PSR)来捕获局部特征的绝对和相对空间关系,在遥感图像分类中表现出优异的性能。He等[15]提出了空间金字塔池化策略,用于物体检测和分类任务。Lee等[16]提出深度监督网络,通过对隐藏层使用监督功能,在MNIST、CIFAR-10、CIFAR-100及SVHN等数据集中均取得良好的分类效果。鉴于此,本文提出了基于同步深度监督的多尺度肺结节分类方法。

2 方 法

本文充分考虑肺结节的图像特征,改进了AlexNet架构,减小了卷积核尺寸,舍弃了部分池化层,使其能够作为一种简单有效的医学图像分类模型。在该网络模型中为每个隐藏层引入“伴随”目标函数,为隐藏层提供集成的同步监督,以减少分类错误并提高隐藏层学习过程的直接性和透明度。为了处理多尺度肺结节现象,本文将空间金字塔池化作为一种有效的多尺度池化操作添加到网络架构中,以允许该模型能够处理多尺度信息并有效提取对肺结节分类有强影响的特征。整体模型架构如图1所示。

图1 整体模型架构图

2.1 改进的AlexNet模型

AlexNet主要由卷积层、池化层、整流线性单元(ReLU)层和完全连接层组成。AlexNet较传统神经网络的优势是因为其使用了ReLu激活函数和DropOut正则化技术。如式(1)所示,ReLU具有半波整流器功能,其可以显著加速训练阶段并防止过度拟合。AlexNet通过引入多种权值组合的DropOut方法控制过拟合,在训练过程中,通过将多个输入神经元或隐藏神经元随机设置为零来减少神经元间复杂的互适应。

f(x)=max(x,0)

(1)

传统的AlexNet卷积神经网络模型主要用于分辨率较高、图片尺寸较大的图片识别。受限于肺部ROI图像的大小,原AlexNet模型的卷积核过大,不适合处理肺部医学影像数据,因此要针对本文中数据源的特点,对AlexNet模型进行针对性改进。改进后的AlexNet模型对比如表1所示。

表1 AlexNet模型改进前后对比

续表1

2.2 同步深度监督策略——SDS

改进的AlexNet架构是一种有效的端到端肺部医学影像数据分类框架,但当前框架存在三个明显的问题。第一个问题是在整个分类过程中,中间层的不透明性使得训练过程难以观察。第二个问题涉及学习特征的鲁棒性和判别能力,特别是在网络的后一层,会严重影响性能。第三个问题是在梯度“爆炸”和“消失”的情况下,训练效果差。为了更好地处理当前改进的AlexNet架构中存在的问题,将同步深度监督策略纳入到改进的AlexNet架构中。这种方法可以同时最小化分类错误并提高隐藏层学习过程的直接性和透明度。SDS的核心思想旨在为隐藏层提供集成的同步监督,这与仅在输出层提供监督并将该监督传播回早期层的标准方法形成对比。SDS为每个隐藏层引入“伴随”目标函数,这些伴随目标函数可以被视为学习过程中的附加约束。图2表示SDS的执行过程。

为了更好地理解融合SDS策略的AlexNet架构,下面给出了一个例子。假设输入样值Xi∈Rn表示原始输入数据,yi∈{1,2,…,K}表示样本Xi所对应的标签。假设改进的AlexNet架构中总共有M个层,其权重组合是W=(W(1),W(2),…,W(M))。改进的AlexNet架构的每个隐藏层中的分类器,相应的权重是w=(W(1),W(2),…,W(M-1))。在改进的AlexNet架构中,权重参数和滤波器之间的关系分别为:

Z(m)=f(Q(m)),Z(0)=X

(2)

Q(m)=W(m)×Z(m-1)

(3)

式中:m指网络中的特定层;W(M),m=1,2,…,M是要学习的网络权重;Z(m-1)为第m-1层的特征图,Q(m)为先前特征图上的卷积响应;f()为Q上的池化函数。本文网络架构的总目标函数如下式:

F(W)=P(W)+Q(W)

(4)

式中:P(W)和Q(W)分别为输出目标和总伴随目标,其定义如下:

(5)

(6)

式中:M表示网络总层数,w(out)是指输出层的分类器权重。改进的AlexNet架构的最终组合目标函数定义如下:

(7)

式(7)中输出层L(W,w(out))的总损失为:

(8)

在式(7)中,作为隐藏层的伴随损失l(W,w(m))为:

(9)

式(8)和式(9)都是预测误差的铰链损失,可以看出,改进的AlexNet架构不仅学习卷积核W*,而且在每个隐藏层中强制执行约束,以直接进行良好的标签预测,并强烈推动每个单独的层具有辨别力和敏感性。注意,对于每个l(W,w(m)),w(m)直接取决于Z(m),其取决于W1,W2,…,Wm直到第m层。在训练过程中,常把式(7)中的第二项设置为零。这样,在输出层产生良好分类结果的总体目标不会改变,并且伴随目标只是作为代理或正规化。为了实现该目标,通常在式(6)的第二项中设置阈值r。该伴随函数的工作机制是当隐藏层的(伴随目标)总值达到或低于r时,整体功能和伴随目标函数的铰链损失消失,并不在学习过程中发挥作用。平衡参数αm为输出目标和伴随目标间的平衡参数。

总而言之,通过改进每个隐藏层中的分类器,同步深度监督(SDS)将隐藏层的特征质量同步执行优化,舍弃弱影响冗余特征,有效解决了梯度消失现象,减少过拟合,具有较好的分类性能。

2.3 多尺度空间金字塔池化策略——MSPP

本文使用肺部影像公开数据集LIDC-IDRI[17],其中标注的肺结节大小范围为3~30 mm,像素级别的范围为6×6~60×60像素,为保证大规模数据下批量训练及数据的原始性,将图片调整为32×32、48×48、64×64像素3个尺度。如图3所示。

(1) 三个尺度的良性结节 (2) 三个尺度的恶性结节图3 多尺度ROI图

常用的CNN都需要输入的图像尺寸是固定的,这是由CNN的结构决定的。

在以往的肺结节分类任务中,往往采用特定大小ROI作为网络输入,但这种做法降低了分类结果的准确度。也有采用多尺度ROI作为输入,但需要设计多个网络模型,这增加了训练的复杂度。

本文使用了空间金字塔池化策略,用来处理多尺度卷积特征图以生成固定长度的池化表示。即在最后一个卷积层conv4后加入MSPP层。MSPP层对特征进行池化,并产生固定长度的输出,将此输出作为全连接层的输入。空间金字塔的输出是一个k×M维向量,M代表金字塔块的数量,k代表最后一层卷积层的卷积核的数量。这个固定维度的向量就是全连接层的输入。本文使用四个尺度的图像输入到同一个深度网络,当输入图像处于不同的空间尺度时,带有相同大小卷积核的网络就可以在不同的尺度上抽取特征,最后生成固定维度的向量。MSPP网络结构如图4所示。

图4 MSPP网络结构图

如图4所示,将最后一层卷积后产生的特征图输入空间金字塔池化层中,该金字塔层由4层组成,都使用全局池化进行特征映射。第1层为1×1,将特征映射的整个区域r11汇集到R1中。第2层为2×2,将特征映射区域r21、r22、r23、r24汇集到R2中。同理,将第3层和第4层将特征映射区域分别汇集到R3、R4中。因此,每个特征图通过空间金字塔池合并为30个单元。由于前一层具有64个特征图,因此空间金字塔池化层的输出被连接以形成30×64维向量,然后,将该矢量送入全连接层以进行后续的分类。

将MSPP策略纳入改进的AlexNet-SDS架构,可以使网络模型适用于多尺度图像同时输入到同一个网络中,它能在输入尺寸任意的情况下产生固定大小的输出,并将卷积特征汇集在任意比例区域中以生成固定长度表示。

3 实验结果及分析

3.1 数据集描述

本实验基于来自LIDC-IDRI数据库,包含1 010组医疗记录和1 018套胸部CT图像,共有244 527个胸部CT图像,每个图像由4位经验丰富的放射科医师进行标记。每组数据中的标记信息以XML格式存储,包含轮廓坐标和肺结节的恶性程度。放射科医师将肺结节的恶性程度M量化为1、2、3、4、5五个等级,分别表示极不可能、适度不可能、不确定、适度怀疑、高度怀疑。

3.2 实验方案

为了提高准确性,选取至少有三个医师同时标注恶性度的结节,并取其平均值。去除了平均值为3的结节,若平均值低于3,则认为该结节属于良性结节;若平均值高于3,则认为该结节属于恶性结节。共得到1 265个结节,其中良性结节779,恶性结节486。为了增强数据集,将预处理后的ROI图像分别进行90°、180°、270°旋转及水平和垂直翻转。使用10折交叉验证,经过大量实验调整,将初始学习率设置为0.3,并使用动态学习率;动量和权重衰减分别设置为0.9和0.000 5。平衡参数αm设置为0.001。在训练期间增加了L2范数权重衰减缓解过拟合。在实验中分别使用两种分类器,具有径向基函数核的SVM分类器和RF分类器。

3.3 评价标准

在肺结节分类实验中,通常使用准确性、灵敏度、特异度、ROC曲线等作为评价指标[18]。评估分类指数的公式如表2所示,其中:TP代表真阳性,TN代表真阴性,FP代表假阳性,FN代表假阴性。ROC曲线指受试者工作特征曲线,是反映敏感性和特异性连续变量的综合指标,曲线下面积越大,诊断准确性越高。最后实验结果是在重复运行基础上由平均值和标准差的形式给出。

表2 评价指标计算公式

3.4 模型性能比较

为了评估本文所提出的方法的性能,与最近发表的论文中使用基于LIDC数据集的肺结节传统分类方法及深度学习分类方法进行比较,结果列于表3和图5中。

表3 基于LIDC数据集的肺结节分类不同算法比较

图5 不同模型的ROC曲线图

从表3可以看出,本文提出的方法精度为93.68,与其他方法相比有更好的肺结节分类性能,同时也说明改进的AlexNet网络融合SDS策略能有效提高肺结节分类性能,其精确度能达到92.07。本文提出的方法与传统的分类方法(Improved-RF)相比,精确度提升了8.82;与其他深度网络(Setio-CNN,Overfeat)相比,精确度分别提升了7.22、11.65。

从图5中可以看出,不同诊断方法的结果存在一定的差异性,本文方法的ROC曲线较其他方法更靠近坐标左上方,AUC值最大,在肺结节良恶性诊断上具有明显的优势。

3.5 不同分类器同步监督结果比较

不同分类器同步监督结果比较如图6所示。

图6 不同分类器性能比较

可以看出,两种分类器均能达到较好的效果,但RF分类器的分类精度更高。两个分类器的整体性能表明加入同步监督策略可以使分类结果更加准确。这归功于分层同步监督策略选择强影响特征,消除了许多弱影响冗余特征。

3.6 多层次池化结果比较

为了研究MSPP层数对本文方法的影响,保持其他参数不变。设置MSPP层的数量分别为1层、2层、3层和4层。当MSPP层为1层时,设置局部空间块为1×1,即得到1个块。当MSPP层为2层时,第1层块数保持不变,设置第2层局部空间块为2×2,即第2层得到4个块。当MSPP层为3层时,第1~2层块数保持不变,设置第3层局部空间块为3×3,即得到9个块。当MSPP层为4层时,第1~3层块数保持不变,设置第4层局部空间块为4×4,即得到16个块,结果如图7所示。

图7 多层次池化结果比较

可以看出,随着训练次数的增加,当金字塔层数为4层时分类精确度最高;金字塔为3层时的精度与4层很接近;但是金字塔层数为1时,精度明显降低,最高只有89.61%。由此证明,金字塔层数对提高模型精确度有着至关重要的影响。

4 结 语

本文提出了一种基于同步深度监督的多尺度肺结节分类方法,该方法改进了经典的AlexNet模型使其更适用于医学图像分类,融合了同步深度监督策略,解决了梯度消失现象,减少了过拟合;应用SPP策略,解决了不同尺度图像不能输入同一模型进行训练的难题,实现了多尺度肺结节ROI图像端到端的分类诊断,提高了肺结节分类精度。通过实验证明,本文方法优于当前几种比较流行的深度分类方法以及传统分类算法。在下一步工作中,尝试在3D-CNN模型中融入同步深度监督策略,从而实现更精确的肺结节恶性度分类。

猜你喜欢
池化分类器尺度
基于高斯函数的池化算法
学贯中西(6):阐述ML分类器的工作流程
卷积神经网络中的自适应加权池化
基于朴素Bayes组合的简易集成分类器①
论社会进步的评价尺度
一种自适应子融合集成多分类器方法
用于手写汉字识别的文本分割方法
宇宙的尺度
9
室外雕塑的尺度