龚 安 吕秀明
(中国石油大学(华东)计算机科学与技术学院 山东 青岛 266580)
根据世界卫生组织下属的国际癌症研究所(IARC)发布的报告[1],乳腺癌是全世界妇女的高发病率和死亡率最常见疾病,患者占25.2%,发病率为14.7%,位居女性癌症发病之首,每年夺去数百万人的生命。癌症的早期诊断对患者及时得到治疗具有重大意义。目前在临床上,组织病理图像分析是乳腺癌诊断时最广泛应用的方法,也是对组织学图像进行准确分类时医生制定治疗方案的重要依据。
传统乳腺癌病理分析主要是通过病理专家在显微镜下通过人工对病变组织和细胞学特征进行分析,确定其病理类型,但这种分析方法存在世界病理学家短缺、结果主观性强、组织病理图像复杂等问题,因此需要开发更准确、更高效组织病理图像分析方法缓解这一难题。在所有的组织病理学图像分析中,最重要的是分类任务。近年来,深度学习在图像识别和分类领域的广泛应用和取得的显著成果,为深度学习在乳腺癌病理图像分类研究奠定基础,从而促使许多学者在这一方面进行了很多研究,并取得了一系列重要的研究进展。
目前基于计算机辅助诊断的乳腺癌病理图像分类方法主要包括两种:(1) 基于人工特征的传统乳腺癌病理图像的分类方法,这一方法常采用图像分割技术提取图像的形态和纹理等相关特征,如基于细胞核分割方法,然后使用支持向量机(SVM)[2]、随机森林(RF)[3]和主成分分析(PCA)等在内的传统分类器完成2级或3级分类。Zhang等[4]使用一种基于人工提取特征的PCA方法,实现对361幅乳腺癌病理图像分类,准确率达到92%。Wang等[5]利用形态和纹理特征将乳腺癌病理图像分为正常和恶性,但不能进一步区分具体类型。Kowal等[6]针对细胞核分割,比较和测试了多种不同的算法,这些实验均在 500个包含良恶性肿瘤的图像数据集上进行,最终分割准确率达到96%~100%。但上述分类算法基本上是针对小型数据集,因缺乏统一标准,使算法和准确率都不具可比性。更重要的是,该方法存在需要较高专业知识、提取特征时间长和提取高质量特征难等缺点,模型泛化能力差,以上问题严重制约了传统机器学习算法在乳腺癌病理图像分类中的发展。(2) 目前较为流行的基于深度学习的乳腺癌病理图像分类方法,避免了人工提取特征的缺点,可以学习更加泛化地特征表示。Spnahol等[7]发布了一个名为BreaKHis的乳腺癌病理图像数据集,以及2015年BC分类数据集公开,不仅克服了小数据集的问题,还使更多实验结果之间具有可比性。在BreaKHis数据集上,Spanhol等[8]使用AlexNet模型采用不同的融合策略对乳腺癌病理图像中的良恶性肿瘤进行二分类,相对于传统机器学习分类方法,其分类准确率提高了6%。Bayramoglu等[9]在BreakHis上采用基于放大倍数独立的深度学习方法进行乳腺癌良恶性分类,其识别率约83%。Rakhlin等[10]提出了一种融合三种模型的方法,取得四类分类的准确率为87.2%,二分类的准确率为93.8%,二分类高于多分类。Pimkin等[11]使用基于DenseNet169和DenseNet201两种模型结合方法实现分类,实验结果表明组合后分类精度优于单一DenseNet模型。Yan等[12]提出了利用 Inception_v3和LSTM 结合的混合卷积神经网络对乳腺癌组织病理学图像分类的方法,取得四分类准确率达91.3%。
结合上述研究发现,目前乳腺癌病理图像多分类还是一个很大挑战:(1)经过染色的高分辨率图像存在类间相似性高、类内差异性大、染色不均匀等问题。(2)数据集小,缺乏已标记的大型公开数据集。(3)大部分研究对乳腺癌的两种基本类型(良性和恶性)进行分类,对多级分类的准确率还不高。所以针对以上问题,本文采用数据增强的预处理方法减小类内差异,增加类间差异,提高多分类性能。使用六个预训练网络提取多网络特征,提高分类器准确性和鲁棒性。同时针对BreakHis数据集疾病的多样性,简单的良恶性分类已经不能满足诊断需求,通过模型融合方法训练SoftMax分类器,实现放大因子不变的八类乳腺癌分类,提高了分类精度。实验表明,使用本文方法,分类准确率得到提高,可以更好地满足临床需要。
提出的基于卷积神经网络的乳腺癌病理图像识别方法如图1所示,主要包括三个部分:数据预处理、图像特征提取及模型融合、图像分类。(1) 首先把数据集划分为训练集、验证集和测试集,对部分数据集进行预处理。(2) 将训练集的部分数据分别输入到六个预先训练卷积神经网络来训练分类器,即在大规模数据集ImageNet上进行预训练的CNN网络(AlexNet、VGGNet16、VGGNet19、Inception_v3、ResNet50、DenseNet161),然后通过验证集损失率选出最优的两个网络ResNet50和Inception_v3,实现多网络特征的模型融合,再将融合后的网络在训练集和验证集上迁移学习微调。(3) 最后利用SoftMax分类器实现在不同放大倍数下乳腺癌病理图像的八分类研究。
图1 乳腺癌病理图像识别方法模型流程
近年来,以卷积神经网络(Convolutional Neural Networks,CNN)[13]为基础结构的深度学习算法逐渐受到图像分类领域研究者的重视。CNN能自主学习数据集的图像特征,避免了传统算法中的人工设计的局限性、特征提取的复杂性,成为乳腺癌病理图像研究中深度学习算法的关键,并应用于多种医学研究[14],例如医学图像识别、医学分割等方面。目前在医疗领域,只采用单网络提取特征很难得到全面图像信息,泛化能力差,所以本文利用六个不同网络具有的独特优势提取特征,最后选取最优模型通过双网络融合进行分类研究。
2012年,AlexNet[15]首次证明了CNN学习到的特征可以超越手工设计的特征,打破了计算机视觉研究现状。Spanhol 等[8]使用AlexNet模型,比LeNet[16]准确率提高了8%。沿着改进网络层数,提高分类准确度的思想,VGGNet[17]网络使用3×3多个卷积核叠加,扩大空间感受野,增加了其深度,提取详细局部特征信息。在其他人一味增加网络深度时,GoogleNet[18]率先提出了卷积核的并行合并(Bottleneck Layer),其中Inception_v3采用因子分解初始模块,增加网络的非线性和宽度,消除了表示瓶颈,Vang等[19]提出了基于Inception_v3模型的乳腺病理图像分类方法。
随着CNN网络层数的加深,分类准确率虽然提升了,但梯度消失和梯度爆炸等问题却接踵而至,ResNet[20]网络的出现解决这一难题。它使用一种跳跃连接方式叫做“shortcut connection”,没有引入额外的参数,也不影响原始神经网络的复杂度,整体神经网络依然可使用现有的深度学习进行反馈训练求解,如图2所示。将卷积神经网络输入设为x,期望输出为H(x),若已经学习到较饱和的准确率,为了保证后面的层次中不会出现精度下降,要解决的问题就是学习恒等映射函数H(x)。经过卷积操作后的输出为F(x),则H(x)=F(x)+x。当F(x)=0时,就变成了上述所说的恒等映射函数H(x)=x,所以ResNet将学习目标转换为学习残差函数F(x)=H(x)-x,实验证明F(x)比H(x)更容易优化。本文使用的是ResNet50模型结构,能提取多层特征信息,适用于乳腺癌病理图像复杂性高、颜色分布不均匀、不易提取等问题的,如Koné等[21]利用Resnet50模型对乳腺癌病理图像分类,取得81%的四分类。
图2 残差学习基本单元
DenseNet[22]网络与ResNet思路差不多,核心思想在于建立不同层之间的密集连接,通过特征在channel上的连接来实现特征重用,进一步减轻了梯度消失问题,并大大减少了参数数量。
在图像识别领域,特征提取是关键,只有对输入图像进行准确、全面的特征提取才能确保分类识别的准确性。传统人工特征提取常采用图像分割等技术提取图像相关特征,但是存在提取时间长、模型泛化能力差等缺点。本文提出一种利用CNN进行自动提取图像特征方法。第一步,将输入原始图像经过卷积层和池化层进行特征提取,由于提取特征维数高、包含大量冗余特征或无关特征,所以进一步进行特征提取。第二步,使用主成分分析(PCA)经过降维得到更具表达能力的新特征,通过降低维数来减少过拟合,从而提高分类结果。但直接计算非常困难,通常会用SVD分解来解决这个问题。利用SVD可以很容易分解出高维数据的特征值和其相应的特征向量。
PCA降维的具体流程如下:
(1) 计算特征平均值构建协方差矩阵;
(2) 通过SVD分解求解该协方差矩阵的特征值以及特征向量;
(3) 所求特征值从大到小排序,依次选取主成分,选择前K个主成分,将对应于前K个特征值的特征向量组成特征向量矩阵P;
(4) 利用数据转换合成主成分,即Y=PX。
只利用单个网络提取的特征提取,会大大降低分类性能,所以为组合多方位信息,本文使用多网络提取不同特征进行模型融合,达到比训练单个模型更好的分类结果。模型融合的方法:一是集成学习,就是采用多个网络模型通过集成策略进行模型组合,最后综合判断输出的结果;二是特征融合,就是使用多网络不同特征提取方式,提取图像多种不同类型特征。本文采用的是特征融合。特征融合一般包括并联和串联两种形式,即add和concat方式。concat是以合并通道数的方式来融合特征,而add是以增加通道下的信息量的方式来融合特征,通道数不变。
融合关键是选择最优模型,ResNet50和Inception_v3网络在验证集损失率最小,所以本文选择这两个网络进行融合,具体模型融合方式如图3所示。将两网络提取的特征向量组合为一个新的特征向量,即concat方式,以合并通道数的方式来融合特征,得到不同尺度特征图的语义信息,然后作为新的特征输入到分类器进行分类。由于每个输出通道的卷积核是独立的,以单个通道的输出为例,假设两路输入的通道分别为X1,X2,…,Xc和Y1,Y2,…,Yc,该方式的输出通道如式(1)所示。
图3 模型融合
concat的单个输出通道为(*表示卷积):
(1)
为保证这两个神经网络在合并前的输入尺寸一致并符合全连接层的二维矩阵输入要求,添加没有数据参数的GlobalAvgPool2D层,将ResNet50和Inception_v3网络的输出尺寸均被调整为(28 440,2 048),特征融合后输出尺寸为(28 440,4 096),可以看出融合后的网络可以学习到更多的特征,后边添加两个完全连接的层,每个层接一个ReLU和丢失层(Dropout),丢失率为0.5。
本文使用的数据集存在类别间图片数量不均衡的问题,当数据倾斜时,损失函数更容易受到多数类样本的影响,从而导致模型更关注多数类,所以采用加权SoftMax损失函数[23],这是深度学习中经常使用的一种不平衡性处理方法。具体表达公式如下:
(2)
式中:s表示源数据;l(f(x),y)表示CNN网络预测值和真实值的交叉熵损失函数;w(x,y)表示类别y的样本的权重参数,对于该参数,将大样本乘以较小权重,小样本乘以较大权重。权重参数计算方式具体如下:
(3)
(4)
通过权重参数w(x,y)的限制,少数类和多数类得以反向传播更新参数的过程中占据平等的地位,使得分类器在预测阶段不会倾向于多数类。
随着深度学习的发展,迁移学习[24]也得到广泛的应用,就是把已经在ImageNet训练好的模型参数迁移到新的模型上。源数据集是ImageNet,该数据集有1 400多万幅图片,涵盖两万多个类别。在该数据集上预训练模型,一是可以防止因数据集过小而出现过拟合现象,二是可以加快并优化模型的学习效率。迁移学习的方式有好几种,本文采用的是微调策略。在特征提取阶段,由于目标数据集乳腺癌图像和源数据集ImageNet的差异以及深层特征表达能力,所以采用固定前几层权重参数,重新训练后几层深层权重参数,将全连接层(1 000个神经元)的最后一层去掉,添加类别数为乳腺癌病理图像的八类全连接层来训练分类器。在模型融合阶段,使用冻结融合网络相关权重,只微调训练最后分类器方法实现乳腺癌病理图像分类方法。
图像分类是识别过程中的最后一步,通过在模型上提取到的图像特征,应用SoftMax分类器对各个输出类别进行概率预测,进而实现乳腺癌病理图像分类。
SoftMax函数常用于多分类神经网络输出,通过函数作用,多分类的输出值映射在(0,1)区间内和为1的概率分布。选取概率最大(也就是值对应最大的)结点,作为预测目标。如式(5)所示。
(5)
式中:Zi表示每个神经元的输出;Yi表示映射后的softmax值。
实验的计算机配置和环境如下:CPU处理器为Intel(R) Core(TM) i7-6700K CPU @ 4.00 GHz×8;GPU处理器为NVIDIA GeForce GTX TITAN X;内存(RAM)为16 GB;操作系统为64 bit Windows 10专业版;编程语言为Python;网络模型使用基于PyTorch深度学习框架实现。
采用的是国际乳腺癌病理图像数据集BreakHis[7],该数据集共有7 909幅图像样本和8个子类,来源于82位病人,分别为源于58位病人的5 429幅恶性肿瘤图像,24位病人的2 480幅良性肿瘤图像,该数据集图片大小固定为700×460像素,包含4个放大倍数,分别为40倍、100倍、200倍、400倍,如表1所示,可以看出存在类别间数量不均衡问题。
表1 乳腺癌病理图像数据集数据
数据集的类型共8类,其中良性肿瘤包括腺病(A)、纤维腺瘤(F)、叶柄状肿瘤(PT)、管状肿瘤(TA),恶性肿瘤包括浸润性癌(DC)、小叶癌(LC)、粘液癌(MC)、乳头状癌(PC),放大400倍的8种乳腺癌病理图像如图4所示。
图4 放大400倍数的乳腺癌病理图像
大多数医学图像数据集少且分布不均匀,这会降低CNN训练效果,导致过度拟合。为了训练好模型,本文对图像进行预处理达到数据集扩增效果。首先随机把原始乳腺癌病理图像按照6∶2∶2比例划分为训练集,验证集和测试集,因为组织染色不同造成病理图像不同区域具有明显的不均衡现象,所以对图像进行归一化和均衡化处理。为了提高模型泛化能力,对训练集和验证集进行随机镜像、旋转90°、180°、270°,以病理学家标记的感兴趣区域为中心来裁剪不同网络的所需大小、按照0.8比例进行缩放等预处理方法将训练数据扩充为原来的12倍,6万多幅图片,为了保证模型对真实数据的识别能力,测试集没有进行数据增强操作。预处理后图片如图5所示。
图5 预处理图像
在模型融合前,用训练集和验证集损失率评价模型性能,判断模型在迭代过程中的过拟合情况从而选 出最优的模型进行融合。模型融合后,从患者级别和图像级别两个方面评价模型的分类性能。对于图像级别的分类,不考虑与患者相关的图像,在这个实验中,图像被分成八个等级,并且图像包含40、100、200、400的放大系数。从患者的层面计算识别率,Nnp表示每一位患者病理图像的数量,Nrp表示每一位患者被正确分类的图像数量,Np为患者总数量,如式(6)所示。
(6)
则患者级别的识别率如式(7)所示。
(7)
仅从图像级别而不考虑患者级别来计算识别率时,令Nall表示测试集中病理图像的数量,Nr表示其中被正确分类的图像数量,则图像级别的识别率如式(8)所示。
(8)
本文基于PyTorch深度学习平台进行网络结构的搭建和模型训练。训练时,批大小设为 32,学习率为0.000 1的小批量随机梯度下降作为优化算法(SGD),首先设置迭代次数为100,寻找训练集和验证集损失率最小的两网络进行模型融合,然后设置迭代次数为1 000,对融合后网络进行测试。实验表明,这样的训练方式有效地加快收敛速度。
本实验采用迁移学习方法,减少预训练卷积神经网络模型所需的训练数据、计算成本等。本实验对预训练模型和原始模型的准确率进行比较,如表2所示。
表2 准确率比较
可以看出,经过预训练的卷积神经网络模型,能够达到较高的准确率。
为了选出最好的模型进行融合,通过训练集和验证集的损失率评价模型的性能,六个模型训练集和验证集的损失曲线如图6所示。
图6 损失率
可以看出无论在训练集还是验证集,ResNet50网络和Inception_v3网络的损失率是最小的,具有较好的学习性能。所以选择这两个网络进行模型融合,然后将训练集和验证集的85%送入融合后网络进行微调,冻结融合网络相关权重,训练最后的分类网络层。训练得到的损失率如图7所示。
图7 模型融合损失率
可以看出,网络融合后进行训练,验证集的损失率下降到0.29。经过实验数据发现损失率在前20次迭代过程中下降最快,30~40次迭代过程中趋于缓慢,40~100次迭代过程中不能下降问题。
最后将测试集送入融合后网络检测及预测。为了检验该方法的可行性和准确性,同时把测试集送入六个单网络模型中进行分类识别,迭代次数为1 000,批大小为32,对比实验结果如表3所示。同时选用对应文献中结果进行对比,如表4所示。
表3 不同放大倍数下图像和患者级别的识别率结果对比(%)
表4 与文献方法识别率结果对比(%)
由表3可以看出网络模型融合后相比单个模型,在不同放大因子下图像和患者级别的准确率均得到提高,图像级别的最高准确率达到94.18%,患者级别的最高准确率达到94.12%,弥补了单网络模型不足,还可以看出放大倍数不同则准确率也不同。表4与文献[7-8,24]做对比,文献[7]用PFTAS方法特征提取,然后分别用三种机器学习方法QDA、SVM、RF进行分类,文献[8]用AlexNet网络采用不同融合方法在不同放大倍数下二元分类,文献[24]用一种新的深度学习模型CSDCNN,取得93.2%的平均准确率,可以看出本文方法准确率不仅高于传统机器学习方法,准确率还超过了现发表文献的二元分类的准确率,对乳腺癌的分类研究做出一定贡献。
本文提出一种基于卷积神经网络方法实现在不同放大倍数下对乳腺癌病理图像八分类。数据集预处理后,通过六个预训练模型使用基于迁移学习方法进行训练,通过实验发现,验证集损失率最小的神经网络具有较好性能,有利于融合,最后融合网络使用微调方法训练分类器实现多级分类。通过图像级别和患者级别评估该方法性能,考虑了不同放大因子影响,与单一模型、传统机器学习、现有深度学习方法相比,测试准确率最高。本文提出的方法也可应用到其他类型癌症的分析中。虽然近年来乳腺癌病理图像分类准确率在不断提升,但距离实际临床应用差强人意,未来研究工作可在用生成对抗网络丰富医学图像数据、提高标记数据可用性等方面开展。