基于ResNet50网络的乳腺癌病理图像分类研究

2019-05-07 09:23刘晓芳徐文龙
中国计量大学学报 2019年1期
关键词:残差卷积病理

王 恒,李 霞,刘晓芳,徐文龙

(中国计量大学 信息工程学院,浙江 杭州 310018)

据美国癌症协会(ACS)公布的数据显示,女性癌症患者中乳腺癌患者占最高比例,且具有年轻化的趋势[1]。癌症的早发现以及早期病变时的及时诊断和治疗,对于患者的康复具有很大的帮助,所以病理图像的准确定性和分类识别具有重要的研究意义。

病理图像是指为了医疗或医学研究,对人体进行病理检查而得到的病理图像信息。根据医学图像性质和应用特点,有针对性地研究高效的检测和分类方法一直是研究人员关注的课题[2-3]。在传统机器学习乳腺癌病理图像研究领域,基于人工提取的图像形状和纹理特征,Wang等人[4]使用支持向量机(SVM)对68幅图像的分类准确率为96.19%。Zhang等人[5]基于人工设计特征的单类核PCA方法,对361幅图像分类,达到92%的精度。2015年,Spanhol等人[6]发布了BreaKHis数据集,使用无参数阈值邻接统计(PFTAS)提取出6种特征描述子,然后分别使用SVM、随机森林(RF)和二次判别分析(QDA)三种传统机器学习算法进行分类,识别率达80%~85%。但是上述研究方法存在数据集小或者数据集不同造成的实验结果不具有可比性、人工设计特征或提取特征的复杂性、跨专业领域的障碍性等问题,严重影响了计算机辅助治疗在实际中的应用。

近年来,深度学习技术作为一类多层神经网络学习算法,可通过深层非线性网络结构学习特征,并且通过组合低层特征形成更加抽象的深层表示(属性类别或特征)。它将传统机器学习的人工设计或者提取特征环节进行自动化,实现了复杂函数逼近和表征输入数据分布式表示,从而可以学习到数据集的本质特征[7]。卷积神经网络及其变体网络对于图像的处理有着卓越的效果[8-10],奠定了深度学习在识别乳腺癌病理图像的应用基础[11-12]。2015年BreaKHis数据集[6]公开之后,众多研究学者针对该数据集进行了研究探讨:Spanhol等人[13]使用AlexNet网络,识别率比传统机器学习算法高出6%,但是识别率仍然较低,不能满足临床需要;Bayramoglu等人[14]取得约83%的准确率,采用的是基于放大倍数独立CNN方法,该方法同样存在精度不足问题;Wei等人[15]以GoogleNet为基础框架,将类和子类的乳腺癌标签作为先验知识,构建BICNN模型,达到97%分类正确率,但是该方法存在模型复杂、计算量大、训练时间消耗过长等问题。以上问题的存在使得CAD无法更好的满足临床应用。

为了提高癌症分析的效率和准确率,本研究通过深度学习技术,构建病理图像癌症识别模型。通过现有的常规图片识别模型进行迁移学习,对模型进行预训练和微调,从而提升模型对于医学图像的特征提取能力,得到具有表征意义的特征图。通过对特征图的分类,获得更好的精度,达到可应用于临床计算机辅助诊断的要求,给医生精准的判断建议,有效防止医生因疏忽而出现误诊、漏诊等过失。

1 技术路线

针对传统机器学习在病理图像诊断方面的性能不足、人工提取特征的复杂性高,以及常规深度学习在网络深度较大时会出现网络退化等缺点,本文提出了一种基于ResNet50网络的乳腺癌病理图像自动分类模型。该模型主要分为源数据的预训练、迁移学习、目标数据的微调训练、模型性能的检验等内容,模型流程图如图1。

图1 模型流程图Figure 1 Flow chart of model

首先在源数据上预训练得到模型的权重参数,其次用得到的模型权重参数初始化新模型的残差网络层,然后在目标数据集上进行微调训练得到最终模型,最后在测试集上检验模型的性能。下文将对上述内容中的技术原理进行详细介绍。

1.1 ResNet50卷积神经网络

深度学习中网络深度遇到的主要问题是梯度消失和梯度爆炸,传统解决方案是数据的初始化(normalized initializatiton)和(batch normlization)正则化[16]。这样解决了梯度的问题,深度加深了,但是带来了网络性能退化的问题[17]。ResNet50是在现有训练深度网络的基础上,提出的一种具有易优化、计算负担小等优点的残差学习框架。残差用来设计解决退化和梯度问题,使得网络的性能在深度增加的同时也得以提升。ResNet50中包含了49个卷积层和1个全连阶层,其中,第二至五阶段中的ID BLOCK x2代表的是两个不改变维度的残差块,CONV BLOCK代表的是添加维度的残差块,每个残差块包含三个卷积层,所以有1+3×(3+4+6+3)=49个卷积层,结构如图2。

图2 ResNet50结构图Figure 2 Structure diagram of ResNet50

图中的CONV是卷积操作,Batch Norm为批正则化处理,Relu为激活函数,MAXPOOL和AvgPOOL是二种池化操作,第二至五阶段代表残差块。由于ResNet50神经网络输入数据的尺寸为224×224×3,所以需要在输入数据前对图像进行预处理,将尺寸为700×460×3数据裁剪为指定尺寸batch_size×224×224×3。图像经过残差块的不断卷积操作,图像像素矩阵的通道数Channel越来越深,再经过扁平层Flatten,将图像像素矩阵尺寸变成batch_size×2048,最后输入全连接层FC中,经softmax层输出对应类别概率。

ResNet50结构中包含跨层连接,它通过快捷连接shortcut将输入跨层传递,然后与经过卷积后的输出相加,达到充分训练底层网络的效果,使正确率随着深度的增加得到显著提升。ResNet50残差块结构如图3。

图3 ResNet50残差块结构图Figure 3 Structure of residual block for ResNet50

shortcut连接相当于直接执行了同等映射,不会增加额外的参数和计算复杂度,模型相当于退化为一个浅层网络。此时要解决的问题是学习恒等映射函数H(x)=x,但是很难直接去拟合这样一个潜在的函数。假设残差网络的输出为H(x),经过卷积操作后的输出为F(x),则H(x)=F(x)+x。F(x)=(ω3δ(ω2δ(ω1x))),其中ω是卷积操作,δ代表激活函数。此时只要F(x)=0,就构成了前述的恒等映射函数H(x)=x,所以问题转换为学习一个容易拟合的残差函数F(x)=H(x)-x。实验表明只有不低于两层的残差块才能起到提升作用,本文中ResNet50中选用的是三层残差块。

1.2 softmax分类器

(1)

(2)

其中1(yi=j)为指示性函数,其取值与括号内的真值保持一致,即yi=j成立时函数值为1,否则为0。最后通过adamoptimizer优化器最小化误差函数。

1.3 迁移学习

迁移学习的基本思想是通过在一个现有的大型数据集上预训练一个CNN,然后使用该预训练好的CNN的权重作为初始化权值,迁移到目标数据集上进行训练和微调(fine-tuning)[18]。迁移学习可行是因为CNN的前面几层学习是低级语义特征(比如边缘信息,颜色信息等),这样的特征在不同的分类任务中都是不变的。后几层学习的是数据集的特定特征,也称为高层语义特征。

迁移学习和微调过程如下。在实验过程中,我们在数量级达到TB级别的ImageNet上对模型进行预训练,得到一个模型。并用该模型参数代替传统随机初始化模型参数,对softmax层之外的所有层进行初始化,然后添加针对处理本课题的softmax层。由于预训练的源数据ImageNet与目的数据BreaKHis差异性较大,所以用目的数据对整个网络进行微调。同时为确保在微调过程中网路权重不会因目的数据集的差异较大而扭曲过快,将学习率设置较小。这样不仅能有效防止过拟合,还能加快收敛速度,提高模型精度,有效地解决了深度学习应用于医学图像分类缺乏大规模标记数据集的问题。

2 实 验

2.1 选用的数据集

目前对于肿瘤良性恶性的诊断手段中,活检是唯一可以确切诊断的方法。在活检技术中,最常见的是细针穿刺、核心穿刺活检、真空辅助和外科(开放)活组织检查(SOB)。该过程包括收集细胞或组织样品,将其固定在玻璃显微镜载玻片上,用于随后的染色和显微镜检查。

本文中使用的BreaKHis数据集是2015年由Spanhol等人和巴西巴拉那的P&D实验室(Pathological Anatomy and Cytopathology)合作建立的,样品由SOB方式收集,从乳房组织活检切片产生样品,用苏木精和曙红(HE)染色。同时为保持原始组织结构和分子组成在光学显微镜下可观察,采取标准石蜡法的制备方法,然后使用显微镜与三星数码彩色相机耦合从乳房组织载玻片获得数字化图像,并由P&D实验室的病理学家标记。病理图像样例如图4。

图4 肿瘤病理图像Figure 4 Tumor pathological image

BreaKHis乳腺癌病理图像数据集共有7 909个图像样本,分别为5 429幅恶性肿瘤图像,2 480幅良性肿瘤图像,固定大小为700×460像素,模式为RGB三通道图像,来源于82位病人.数据集的具体分布如表1。

表1 数据集的具体分布情况

本实验中将数据集整体混洗打乱后,划分为训练集(60%)、验证集(20%)和测试集(20%)三个部分,并且采取相同的预处理操作,以保证验证和测试结果的准确性。首先为确保数据适合模型的输入尺寸,用tf.image.resize_image_with_crop_or_pad函数将图像裁剪为224×224,然后使用tf.image模块的per_image_standardization函数对图像像素值进行标准化操作,最后将数据分成大小为batch_size的批次,方便后续模型的训练。

2.2 硬件及软件平台

实验中所用的计算机硬件配置为:64位Windows10操作系统,2.80 GHz Intel i7 CPU,基于Pascal架构NVIDIA GeForce GTX1050显卡。软件方面:使用pycharm Community 2017.2.1作为开发平台,选择Google的深度学习开源框架TensorFlow作为程序框架,版本为1.30,前端为Keras2.0.8,程序使用Python3.6编写设计。

2.3 实验结果及分析

本实验中使用正确率ACC和灵敏度Sensitive作为模型的评价指标,假定Nall代表所有的验证图像数目,Nr代表正确分类的图像数目,则ACC的表达式为

(3)

ACC的值越大,代表模型的预测和真实情况越接近,模型的性能越好。

考虑到对患者恶性肿瘤漏查后果的严重性,本文将选择灵敏度Sensitive来评价模型的这一能力.假设Nmag代表测试样本中恶性肿瘤的数目,Nrp代表被正确预测的恶性肿瘤数目,则Sensitive的表达式为

(4)

Sensitive的值越大,就代表模型的漏查率越低,模型的性能就越好。

神经网络中超参数的取值对模型的性能有很大的影响.实验中设定学习率固定为0.000 1,批大小为32,优化器选择adamoptimizer,迭代次数8 000次,得到模型在验证集上正确率如图5。

图5 模型在验证集上的正确率变化曲线Figure 5 Accuracy rate curve of the model on the verification set

由图5可知模型迭代5 000次时开始收敛,迭代到7 000次时最终稳定在98%左右。相对于应用于同一数据集的其他深度学习神经网络,本文提出的方法具有更快的收敛速度。将模型在包含1 580个样本的测试集上进行测试后,得到的正确率ACC达到97.4%。同时在测试集中的1 083个恶性肿瘤样本中平均有1 061个样本被正确识别出,达到98%的灵敏度。该实验结果达到了应用于实际的高正确率和对恶性肿瘤的高灵敏度要求,为计算机辅助治疗应用于实际医疗中奠定了基础。

为增加实验对比性,选择其他方法处理相同数据集与本文的方法进行比较,来检验模型性能。表2为实验对比结果,其中,PFTAS+QDA/SVM/RF是文献[6]中采用的方法,Single-Task CNN是文献[14]中基于放大倍数独立的卷积神经网络算法;AlexNet是Spanhol等人在文献[13]中采用的网络模型;BiCNN是文献[15]以GoogleNet作为基础网络结构的分类方法。

表2 不同算法在BreaKHis数据集的表现

Table 2 Performance of different algorithms in the BreaKHis dataset

方法模型精度/%PFTAS+QDA/SVM/RF80~85Single_task CNN83AlexNet88BiCNN97本文方法97.4

由表2对比结果可知,相对于传统机器学习本文模型具提取特征简单、精度高等优点。相对于其他深度学习算法,本文中的模型具有收敛速度快、精度高的优点。与精确度同样达到97%的BiCNN方法对比,本文方法迭代8 000次,远远小于BiCNN迭代55 000次的计算消耗和时间消耗。在实验过程中,模型的数据没进行数据增强扩充,在较少数据集同样达到很高的性能,表明本文方法在乳腺癌病理图像的分类识别过程中提取到的特征,更具有区分性,因而识别率更高,且具有较好的泛化性。

3 结 论

本文结合病理图像诊断目前发展的最新技术,提出基于ResNet50的深度学习网络模型,实现对病理图像的高精度识别分类。模型中的残差块有效克服了网络退化等问题,在网络深度加深的同时,保证了性能不会下降。针对公开标记的医学图像数据集较少的难题,本文使用迁移学习的手段,避免了过拟合问题的出现。本模型具有深度更大、收敛更快、精度更高、易泛化等优点,为计算机辅助诊断应用于实际临床诊断中做了可行性论证,为早期发现与早期治疗乳腺癌提供了有效指导。

猜你喜欢
残差卷积病理
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
病理诊断是精准诊断和治疗的“定海神针”
开展临床病理“一对一”教学培养独立行医的病理医生
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
基于深度卷积的残差三生网络研究与应用
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法