APP下载

基于改进深度卷积神经网络的病理图像有丝分裂检测算法研究

2018-09-26刘振丙潘细朋杨辉华

计算机应用与软件 2018年9期
关键词:白化分类器卷积

齐 莹 刘振丙 潘细朋 杨辉华,2

1(桂林电子科技大学电子工程与自动化学院 广西 桂林 541004)2(北京邮电大学自动化学院 北京 100876)

0 引 言

据世界卫生组织(WHO)统计在女性中乳腺癌是导致癌症死亡的第二大常见癌症,所以乳腺癌的早期预测也是尤为重要[1]。有丝分裂检测就是在乳腺癌早期预测的一个重要过程[2]。

近年来,对于乳腺癌病理图像中的有丝分裂检测已有一些计算机辅助方法。比如Chen等[3]提出了一种深度级联网络,他们将不同的两个卷积神经网络模型进行级联,可以深层训练数据但该模型遇到耗时较大等问题。Wang等[4-5]研究将CNN提取的特征与人工手工标记特征进行融合,可以充分利用各特征,最终有丝分裂检测的准确率达到了0.84。Abdulkadir等[6]首先利用CNN进行特征提取,然后再将提取的高维特征进行降维,使分类效果更加准确。Dan等[7]使用五层的卷积神经网络,包含卷积层和最大池化层,最后采用全连接层进行训练。但是由于网络参数较多,消耗时间较大,需要利用GPU进行加速处理。Albarqouni等[8]提出一种多尺度卷积神经网络模型已成功应用到医学背景下,在有丝分裂检测比赛的数据上也取得不错的效果。Pourakpour等[9]提取CLBP和GLCM等纹理特征,利用SVM分类器对这些纹理特征进行分类。这些有丝分裂的计算机辅助检测方法各有优点,但也存在训练时间较长等缺点。

尽管这些检测方法已经达到不错的效果,但离实际应用还有一些差距,而且有些网络计算过程复杂[8,11-12]。本文在考虑网络复杂性的基础上,提出了一种基于深度卷积神经网络算法,在训练之前,先将图像进行ZCA预处理,再利用改进的卷积神经网络提取高维特征同时进行GPU加速,最后利用Softmax进行分类,可以更快、更准确地将有丝分裂核与非有丝分裂核进行区分。因此,本文提出的计算机辅助方法可以进一步实现乳腺癌的早期分级预测工作。

1 整体算法框图

本文提出的有丝分裂检测算法分为四个步骤:获取候选集、ZCA白化、改进深度卷积模型训练和Softmax分类。具体算法流程图如图1所示。第一步,将获取的乳腺癌切片病理图片进行处理筛选出候选集,即有丝分裂小块与非有丝分裂小块;第二步,采用ZCA白化方法对候选集小块进行预处理;第三步,采用改进的卷积神经网络模型对预处理后的候选集图片进行训练,逐层提取数据的高维特征;第四步,利用Softmax分类器实现有丝分裂的检测,得到最终的分类结果。其中基于ZCA白化和改进深度卷积模型融合是整个算法的核心部分。

图1 深度卷积神经网络算法流程图

2 算 法

2.1 获取候选集

图2所示为一张乳腺癌细胞显微镜下的病理图像。利用人工标记数据,可以通过分割将整张乳腺癌切片细胞分割成多个正负类的样本,即有丝分裂核和非有丝分裂核。通过旋转等处理手段扩充样本。如图3(a)表示分割后的有丝分裂核,如图3(b)表示分割后的非有丝分裂核。

图2 乳腺癌显微病理图片

(a) 有丝分裂核 (b) 非有丝分裂核图3 获取候选集

2.2 ZCA白化预处理

ZCA白化是常用的白化处理方法之一[15]。通过使用ZCA白化可以保证数据各维度的方差相同,其主要作用是去除数据之间的相关性,且尽量使处理之后的数据接近原始输入数据。对于含有m个样本的数据集{x(1),x(2),…,x(m)},假设每个样本的维度为n,即x(1)∈Rn,对其进行ZCA白化的具体计算步骤如下:

1) 白化处理前,先要对数据亮度和对比度归一化。对于每个像素点x(i)减去图像灰度均值,然后再除以标准差。为使分母不为0,会在分母中加入一个很小常数e,计算公式如下:

(1)

2) 计算训练样本的协方差矩阵,计算公式如下:

(2)

3) 对式(2)进行SVD分解,得到U向量。利用UTx得到数据集经过旋转后的结果xroi,即:

[V,D]=eig(Σ)

(3)

(4)

(5)

5) 将xPCA白化,i左乘上一个特征向量矩阵U,得到最终的ZCA白化结果,其计算公式如下:

xZCA白化=UxPCA白化

(6)

通过ZCA白化使得x数据空间映射到xZCA白化空间,这使得特征向量各维度方差相等,降低了数据间的相关性。

2.3 模型搭建

本文提出的改进深度卷积神经网络模型结构详细介绍如下。两种改进的网络模型分别是基于LeNet网络和AlexNet网络,其区别在于AlexNet的网络层数加深,并利用GPU进行加速计算。

2.3.1 改进LeNet网络结构

本文主要以CNN模型为基础进行深度卷积神经网络的改进。主要结构由卷积层(conv)、池化层(pooling)以及全连接层构成。卷积层是对图像的每个点都进行卷积运算,能够充分提取图像的特征;池化层就是对图像进行二次采样,得到新的图像特征,有最大池化(max-pooling)、平均池化(Average Pooling)等,其目的是可以减少过拟合;而全连接层则是整理特征形式便于输入分类器。具体网络流程如图4所示。

图4 算法1网络流程图

本文中所有卷积层激活函数都采用ReLU函数,即S(z)=max(0,z)。另外在训练时加入了Dropout的优化方法,降低了模型的过拟合趋势,提高了模型的泛化能力。

算法1中网络模型各层参数结构如表1所示。

表1 模型参数表

2.3.2 改进AlexNet网络结构

由于本文所研究的数据是显微下的病理图像,成百上千的细胞,形态多样,有丝分裂核的各个时期和非有丝分裂核,因此这种图像不容易区分目标细胞,考虑传统的图像识别分类方法需要进行非常复杂的特征提取,利用CNN能够自行学习图片特征的优势。本文设计一种改进AlexNet模型网络模型。

改进的AlexNet总共包括8层,其前5层是conv,后面3层是full-connected。具体网络流程如图5所示。

图5 算法2网络流程图

算法2中网络模型的具体步骤如下:

(1) 由Input输入候选集数据大小为227×227×3。

(2) 第一层首先经过96个卷积核大小为11×11,步长为4,得到的数据大小为55×55×96,通过ReLU激活函数,数据大小仍为55×55×96,然后经过max-pooling,大小为3×3,步长为2,再经过归一化最后输出数据大小为27×27×96的特征图。

(3) 第二层采用卷积核大小为5×5,步长为1,卷积后得到特征图数据大小为27×27×256。后面过程与第一层一模一样,最后输出数据大小为13×13×256。

(4) 第三层和第四层只进行卷积和ReLU,卷积核大小变为3×3,卷积核的个数设为394个,输出特征图数据大小为13×13×394。

(5) 第五层与第一层的处理一样,只是最后没有归一化,处理后输出数据大小为6×6×256。

(6) 最后经过三层的全连接,通过softmax分类器得到分类结果。

2.4 Softmax分类器

Softmax分类器是一种常用的回归分类器,它可以将分类问题转化为概率问题[18]。首先构造假设函数,计算每个样本被分到两种类别中的概率,然后通过调参,使正确标签所对应概率最大。这种分类器的分类准确率高,还可以充分逼近复杂的非线性关系,同时计算量相对较小,训练速度也较快,所以在本文两种改进模型全连接层之后都采用Softmax分类器进行分类。

3 算法实验与仿真结果分析

3.1 实验数据与分析

实验环境为:Python 3.5和tensorflow 1.4版本,采用服务器GPU加速,服务器型号为DGX-1,显卡型号为p100以及MATLAB 2014b环境下进行仿真与实验的对比。本实验我们选择对40倍显微镜下的显微病理细胞图片中的有丝分裂核和非有丝分裂核进行分类,扩展后的有丝分裂核和非有丝分裂核各69 870张,其中训练集69 870张,测试集30 805张,并且分类结果与其他分类方法进行了对比,其中所有乳腺癌病理组织显微图片均来自于ICPR2012有丝分裂检测大赛官网。

3.2 参数及性能评价指标

在乳腺癌病理图像中,为了方便对有丝分裂检测效果的分析,实验采用了预测精度(Accuracy)、准确率(Precision)、召回率(Recall)和综合评价指标(F-measure)进行实验效果的评估分析。指标的计算公式分别如下:

(7)

(8)

(9)

(10)

式中:TP是检测为正类样本实际上也是正类样本的个数;FP是检测为负类样本实际上是正类样本的个数;FN是检测为负类样本实际上也是负类样本的个数;TN是检测为正类样本实际上是负类样本的个数。

3.3 仿真对比结果与分析

将所有候选集的三维数据作为输入,送入上述设计的卷积神经网络结构中。全连接层将最后一个pooling层得到的特征平面构成一个特征向量,作为图像的特征表达以及Softmax分类器的输入,最终得到图像的分类结果。表2给出了本文提出算法1的分类精度(Accuracy),另外为了评价本文提出算法的效果,选取了常见的图像分类方法LSVM[19]以及其他学者提出的CNN模型方法[20]作为对比算法与本文算法1的进行结果比较。由对比结果可以看出,利用算法1模型训练得到分类精度效果最好,达到了0.924 0,比LSVM和传统的CNN算法要好。

表2 分类精度对比结果

如图6绘制出了算法1的均方误差曲线,可以看出本算法能够在短时间内的得到收敛,误差逐渐减小并趋于稳定。图7的ROC曲线也可以看出算法会在短时间内收敛。

图6 均方误差曲线

图7 ROC曲线

接下来,表3给出了有丝分裂核与非有丝分裂核检测准确率(Precision)、召回率(Recall)和综合评价指标(F-measure),同时在对比LSVM和传统的CNN算法等分类方法。通过对比算法1与其他方法,可以看出算法1实验结果在精确度和综合指标F值都有更好的效果,相比其他方法的结果,算法1有丝分裂核与非有丝分裂核检测Precision和F-measure的平均值分别达到了0.927 8和0.921 5,同时还能保证召回率(Recall)两类的平均值为0.923 8。

表3 分类评价指标对比结果

算法1基于的LeNet模型与算法2基于的AlexNet模型均是图像分类当中常见的模型,而AlexNet模型是基于多GPU并行加速的深层神经网络,对于本实验的数据集来说,数据量还是比较大的,使用AlexNet模型训练可以获得更高的精度。实验所用到算法1和算法2改进的模型对比见表4,其中总层数只计算卷积层和全连接层。

表4 模型结构对比结果

表5中给出算法1与算法2的精度(Accuracy)和损失率(Loss),可以看出,算法2得到的Accuracy更高为0.964 4,Loss更低为0.075 9。算法1和算法2的检测识别时间分别为543.19和115.68 s,远远小于训练时间,相较于实际医学专家的人工检测更是在保证精度的前提下快速完成识别任务。一方面解决了该检测对工作人员的专业要求,另一个方面解决了人工耗时较大的问题。

表5 有丝分裂检测时间对比结果

采用算法2训练模型的测试集和验证集的损失率(Loss)和精度(Accuracy)随迭代次数的增长而改变如图8中的曲线所示。本文选取训练集的百分之十作为验证集,可以看出,测试集的效果要比验证集稍微差些,但也是不错的。整体的损失率在随迭代次数的增加而不断减小,精度在不断提升。

图8 损失函数曲线

4 结 语

由于有丝分裂核形态复杂以及多样性,本文提出了一种基于ZCA白化和改进深度卷积神经网络的计算机辅助有丝分裂检测算法,并且在有丝分裂大赛的数据集中得到进一步验证。首先对原显微病理图像进行处理,获取正负类样本候选集并进一步扩增;然后对候选集细胞图像进行ZCA白化预处理;接下来将处理后的细胞图像输入改进的深度卷积神经网络模型中训练,最后利用Softmax分类器得到分类结果。通过实验对比分析发现,相较于传统算法,本文提出的模型在有丝分裂检测识别上具有很高的精度,且适用于复杂背景、边界模糊的染色乳腺细胞图像中。在未来的工作中,我们会进一步探索更优的分类算法,并在正负样本不平衡的数据集中实现更好的检测效果。

猜你喜欢

白化分类器卷积
学贯中西(6):阐述ML分类器的工作流程
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于朴素Bayes组合的简易集成分类器①
运用红外相机技术首次记录白化小麂
白化黄喉拟水龟人工培育研究①
基于Surfer的瞬变电磁法扇形超前探测白化文件的精确快速生成方法
卷积神经网络的分析与设计
从滤波器理解卷积
一种自适应子融合集成多分类器方法
基于傅里叶域卷积表示的目标跟踪算法