基于深度特征学习的图像自适应目标识别算法
2018-07-23张骞予谢红薇刘爱媛
张骞予,管 姝,谢红薇,强 彦,刘爱媛
(1.太原理工大学 计算机科学与技术学院,太原 030024;2.山西大医院,太原 030000)
近年来,图像识别技术引起学术界的关注,广泛应用在交通安全、电力监测、医学辅助诊断等领域。在医学辅助诊断方面,以乳腺肿瘤识别为例,传统图像识别技术首先通过滤波去噪对图像进行预处理,再通过图像分割得到感兴趣区域,提取图像的细节特征,如纹理特征、灰度特征、形状特征等,结合分类器,如BP神经网络、支持向量机、决策树等,以实现肿瘤良恶性分类。
CHANG et al[1]结合BP神经网络和遗传算法对乳腺肿瘤进行分类;相比只用BP神经网络进行分类,训练集ROC曲线下面积从0.91提高到0.93,测试集ROC曲线下面积大约为0.83.虽然优化效果并不明显,但是仍然比只用BP神经网络达到的效果好。MAGLOGIANNIS et al[2]将支持向量机用于乳腺癌诊断,并与贝叶斯分类器及人工神经网络在灵敏度、特异性和准确性方面进行对比研究;研究证明,SVM相对于其他两种具有更高的优越性。ELOUEDI et al[3]提出了基于决策树和聚类的乳腺癌混合诊断方法,并采用威斯康星州乳腺癌数据库进行实验。结果表明,聚类方法能有效提高乳腺癌良恶性的分类效果。然而,在实际应用中,图像分割难以将乳腺肿瘤与乳腺组织完全区分,特征选取主要依赖于人工手动设计特征[4-5],感兴趣区域分割、特征选取等都直接影响到分类结果的好坏。
因此,本文提出一种基于深度特征学习的图像自适应识别算法,如图1所示。在卷积操作后,结合批量归一化(batch normalization,BN)[6]与参数化线性修正单元(parametric rectified linear unit,PReLU)[7]方法,构建自适应卷积神经网络模型CNN-BN-PReLU,避免了传统算法中人工手动设计复杂的特征提取过程,对图像的平移、扭曲、缩放、旋转具有高度不变性[8]。
图1 基于深度特征学习的图像自适应目标识别算法Fig.1 Image adaptive target recognition algorithm based on deep learning features
1 深度卷积神经网络
1.1 本文卷积神经网络结构
深度卷积神经网络(convolutional neural network,CNN)是一个多层的神经网络,其最大的特点是通过局部连接和权值共享来减少训练参数。在CNN中,乳腺图像可以作为网络最底层的原始输入,再依次传输到下一层,每层通过一个滤波器来提取到图像数据的最显著特征,输出结果是图像的分类识别结果。这种多层的学习模式可以帮助发现数据的复杂结构,提高图像的识别准确率。
图2为本文所采用卷积神经网络模型的结构示意图。它主要由3个卷积层(C1,C3,C5)、3个池化层(S2,S4,S6)和1个全连接层(F7)组成。网络的输入为227×227像素大小的乳腺钼靶图像,包含每个图像块的R通道信息、G通道信息及B通道信息。
图2 本文所用卷积神经网络结构图Fig.2 Structure of the convolution neural network used in this paper
C1层拥有16个尺寸为3×3的卷积核,步长为2,该层由16个特征图组成,每个特征图的大小为113×113;S2层是池化层,池化区域大小为3×3,步长为2,该层由16个大小为56×56的特征图组成;C3层拥有16个4×4的卷积核,步长为1,卷积后将得到16个大小为53×53的特征图;S4层中池化区域大小为3×3,步长为2,由16个大小为27×27的特征图组成;C5层拥有16个5×5的卷积核,步长为1,由16个大小为23×23的特征图组成;最后输出层为全连接层,包含2个神经元,每个神经元对应一种乳腺肿瘤类别。
1.2 卷积层
卷积层是CNN的核心部分,主要是通过卷积核来作特征提取。该层通过卷积核对上一层的特征映射图作卷积运算,然后通过激活函数f进行输出,以此得到图3中各个卷积层的输出特征映射图。卷积层操作可以定义为
(1)
式中:hi和yj分别表示输入特征映射图和输出特征映射图;cij是卷积核;*表示2维卷积运算;bj表示偏置。cij和bj是随着网络训练来逐步学习到的参数。
图3 卷积操作后的特征映射图Fig.3 Feature map after convolution operation
1.3 池化层
池化层是在上一层卷积特征映射后进行一个下采样操作的过程,它是将输入图像分割成不重叠的矩形,对于每个矩形取最大值或平均值作为下一层的特征值。池化操作不仅能够极大地降低特征向量的维度,还能够有效地防止过拟合[9]。图4所示为经过S2,S4,S6层池化后得到的特征映射图。池化操作采用最大池化(Max pooling),其定义如下:
图4 池化操作后的特征映射图Fig.4 Feature map after pooling operation
(2)
2 优化方法
2.1 批量归一化算法
批量归一化(BN)算法本质上是一种可学习的归一化方法,它使每一层拥有服从相同分布的输入数据,从而可以使用较大学习率进行训练,加快训练速度,克服协方差偏移的影响。BN算法对每个神经元引入两个可学习参数,进行变换重构。具体公式如下。
1) 归一化处理(近似白化处理)
(3)
2) 变换重构
(4)
每一个神经元都有一对这样的参数γ和β.γ和β需要利用反向传播算法进行训练求出。这样当γ和β满足式(7)时,也就能够恢复出原始层所学习的特征。
(5)
3) BN网络层的前向传播过程为:
(6)
(7)
2.2 提高分类精度方法—参数化线性修正单元
针对ReLU[10]神经单元在训练时可能会死亡和输出具有偏移现象的情况,采用参数化线性修正单元PReLU来取代ReLU作为神经元的非线性激活函数。PReLU可以自适应地从数据中学习参数,具有错误率低、收敛速度快的特点,能够在额外计算成本忽略不计的情况下提高识别的准确率。PReLU函数的数学表达式为
(8)
式中,aj表示第j个通道上用来控制负激活部分的一个变量,可以改变在不同信道上的斜率,从而进行非线性激活。
3 实验数据集描述
3.1 实验数据集
实验所用数据来源于南佛罗里达大学的公共乳腺癌数据库DDSM[11],包括1 431个病例,每个病例均有左右乳房各两张图片及相关的病灶信息。乳腺钼靶X线摄影图像原有大小大约为3 000×5 000,病灶区都有2位放射学专家进行标记。因原始数据库中图像包含过多的多余信息,为了简化训练过程,先对感兴趣区域(ROI)进行提取且剪裁为227×227,将该区域作为卷积神经网络模型的输入,其中选择良性图片634张、恶性图片599张,将数据集分为训练集和测试集,并且通过五折交叉验证来评估CNN模型分类效果。
3.2 数据增强
因乳腺肿瘤与普通乳腺组织很难分辨,现有的训练图像很少且图像质量较差。在这样的图像中训练CNN模型,网络收敛较慢,识别效果也相对较差。如图5所示,通过对训练集中乳腺图像分别旋转90°,180°,270°,使训练数据扩展为3 099张。这样一种数据的增强不仅可以使CNN更容易提取肿瘤特征,而且旋转后的肿瘤特征也会维持不变。
图5 数据增强Fig.5 Data augmentation
4 实验结果与分析
实验通过训练时间和识别率来评价不同网络的优化性能,并针对不同参数(网络层数、卷积核数目等)配置,作出系统评估。研究采用开源深度学习框架CAFFE[12],该框架是基于Ubuntu14.04操作系统和Inter(R)Core(TM) i7-4790 CPU@3.60 GHz对CNN进行训练。
4.1 不同网络层数的选择比对
卷积神经网络作为一个多层感知器,网络层数是决定网络分类效率的重要因素。网络层数太多,会造成训练参数增加、训练速度缓慢、训练时间过长等问题,还容易出现过拟合现象。但如果网络层数太少,网络无法发现数据的复杂结构、提取准确数据特征,会使得网络分类准确率不高。因此,不同网络层数对于网络识别效率有着重要影响。为了选择合适的网络层数,使用逐层增加卷积流的形式,一个卷积流包括一个卷积层和一个池化层,在随机梯度下降法基础上,从1个卷积流开始实验,实验结果如图6所示。从图6中可以看出,对于DDSM数据集,随着卷积流数目的增加,分类准确率会逐渐上升而后呈下降趋势。卷积流个数为3时,识别准确率最高。在选择好卷积流数目后,选用1个全连接层进行分类,全连接层神经元个数为2.
图6 识别准确率随卷积流数目变化曲线Fig.6 Recognition accuracy rate with the number of convolution flow curve
4.2 不同卷积核个数的选择比较
为了验证卷积核个数对网络性能的影响,假设每个卷积层有n个卷积核,卷积层位置为i,第一层卷积核数目固定为16,其中n={16,32,64}、i={2,3}.则共有9种不同的配置,分别为{16,16,16}、{16,16,32}、{16,16,64}、{16,32,16}、{16,32,32}、{16,32,64}、{16,64,16}、{16,64,32}、{16,64,64},具体网络参数见1.1节图2.本网络模型训练迭代5 000次,每1 000次迭代保存一次被训练的模型。初始学习率设为1.0×10-3,学习率衰减方式为Poly,p=0.5.如图7所示,当3个卷积层中卷积核数目分别为{16,16,16}时识别效果最好。
图7 9种不同配置的识别精度Fig.7 Recognition accuracy of 9 different configurations
4.3 网络优化前后实验对比
本文分别采用批量归一化算法和参数化线性修正单元PReLU对卷积神经网络进行优化,并命名4个模型:
1) CNN-ReLU,卷积层激活函数采用ReLU(即未优化前模型);
2) CNN-PReLU,卷积层激活函数采用PReLU(即仅采用PReLU优化的模型);
3) CNN-BN-ReLU,卷积层中卷积操作后先通过BN算法进行批量归一化处理,再通过ReLU进行非线性输出(即仅采用BN算法优化的模型);
4) CNN-BN-PReLU,卷积层中卷积操作后先通过BN算法进行批量归一化处理,再通过PReLU进行非线性输出(即同时采用两种方法优化的模型)。
如表1所示,分别对以上4种模型在DDSM数据集实验的训练时间、识别准确率、敏感度、特异度及AUC 5方面进行评估分析,其中敏感度和特异度分别反映CNN网络的误诊率和漏诊率。ROC曲线直观地反映了不同CNN网络的分类性能。AUC是ROC的曲线下面积,AUC值越接近于1,说明分类效果越好。图8为4种模型的ROC曲线图,横坐标为特异度(Specificity),纵坐标为敏感度(Sensitivity)。
表1 不同CNN模型实验结果对比Table 1 Comparison of experimental results of different CNN models
图8 不同CNN模型的ROC曲线对比图Fig.8 Comparison of ROC curves for different CNN models
由图8可以看出,CNN-BN-PReLU模型最接近点(0,1),即识别效果最好。
表1结果显示:在同等训练条件下,CNN-BN-PReLU模型在识别准确率、敏感度、特异度及AUC分数上均明显优于其余3种模型CNN-ReLU,CNN-PReLU和CNN-BN-ReLU,该模型相比于优化之前的CNN-ReLU模型准确率提高了8.5%,达到了较好的识别效果。在训练时间上,由于CNN-BN-PReLU模型加入PReLU,时间耗费略高于CNN-BN-ReLU,但是仍然比CNN-ReLU减少了约71.83%,比CNN-PReLU少了约68.25%.同样可以看出,虽然分别用一种方法优化后的网络模型CNN-PReLU和CNN-BN-ReLU在各个指标上均有显著提升,依旧没有同时采用两种方法改进后的CNN-BN-PReLU模型识别性能高。
4.4 自适应网络模型确定
BN算法作为一个网络层应用在CNN中,BN层作用在激活函数前后的识别性能不同。为了选择最优自适应网络结构,针对该问题进行实验比对,将在卷积操作后先通过激活函数PReLU进行非线性输出,再通过BN算法进行批量归一化处理的卷积神经网络模型称为CNN-PReLU-BN模型。结果如表2所示。表2的实验结果表明,两种模型的训练时间基本相同,但CNN-BN-PReLU的准确率、敏感度、特异度及AUC值分别高于前者3.5%,5%,5%及0.03,即在网络参数和训练参数均保持一致的情况下,BN作用在PReLU之前的表现性能更优。因此本文选择CNN-BN-PReLU模型作为自适应卷积神经网络模型。
表2 BN算法作用在PReLU前后的识别性能对比Table 2 Comparison of recognition effect of BN algorithm before and after PReLU
4.5 与经典网络模型的对比
在同一数据集上,比较本文方法CNN-BN-PReLU与两种经典卷积神经网络模型LeNet-5[13]和AlexNet[14]的性能。LeNet-5是LECUN et al首次提出应用于手写数字识别的卷积神经网络,网络包含2个卷积层、2个池化层和2个全连接层。AlexNet包括5个卷积层、3个池化层和3个全连接层。在此对比试验中,保留网络基本结构不变,将全连接层输出改为Softmax[15]函数,且输出类别为2类。
从表3和图9可以看出,与两种经典卷积神经网络模型相比,本文方法在准确率、敏感度、特异度以及AUC值方面具有更高的优越性,分别达到了90.50%,96.00%,87.00%和0.91.此处所用LeNet-5和AlexNet网络参数较少,结构并不适合该乳腺图像肿瘤目标识别问题,因而效果欠佳。实验表明,相比于应用比较广泛的LeNet-5和AlexNet模型,本文方法能有效地提高识别准确率,降低乳腺肿瘤的误诊率和漏诊率。
表3 与经典卷积神经网络模型的识别效果对比Table 3 Comparison with the recognition effect of classical CNNs
图9 与经典CNN模型的ROC曲线对比图Fig.9 Comparison of ROC Curve with Classical CNNs
5 结论
卷积神经网络具有自主学习深度特征的能力,它降低了传统方法中图像分割和人工设计特征进行特征提取的复杂性。利用这一特性,提出基于深度特征学习的图像自适应识别算法。该方法采用批量归一化算法和参数化线性修正单元对卷积神经网络结构进行改进。首先通过大量对比实验,详细地介绍了网络层数与卷积核个数的设计与选择,为卷积神经网络的构建提供了参考。其次通过实验验证同时采用批量归一化算法和PReLU改进后的CNN-BN-PReLU模型在训练时间、识别准确率敏感度、特异度及AUC值上得到了显著的改善,有效地提高了网络的识别精度、降低了漏诊率及误诊率。最后对批量归一化算法作用在PReLU前后的网络性能进行比较,结果证明批量归一化算法作用在PReLU之前时,识别效果达到最优,因此确定CNN-BN-PReLU模型为自适应卷积神经网络模型。将本文模型与两种经典卷积神经网络模型进行比较,表明CNN-BN-PReLU得到了更高的识别准确率,并能显著缩短训练时间。
在今后的工作中,一方面继续探索比较不同的深度卷积神经网络模型如VGG,GoogleNet与ResNet等用于医学图像识别的能力;另一方面对CNN结构和训练参数的选择进行优化和完善,同时利用并行化方式对网络进行训练,进一步提高肿瘤识别的准确率,使之更好地应用于实际。