基于VGG16的急性淋巴细胞白血病血液细胞显微图像人工智能辅助诊断分类研究
2019-07-25张海涛刘景鑫赵晓晴胡笑含李慧盈
张海涛,刘景鑫,赵晓晴,胡笑含,李慧盈
1. 吉林大学 计算机科学与技术学院,吉林 长春 130012;2. 吉林大学中日联谊医院 放射线科,吉林 长春 130033;3. 吉林大学第一医院 放射线科,吉林 长春 130021
引言
临床上,医生会通过血常规中正常的白细胞与非正常的白细胞所占总细胞数量比例进行判断是否患病[1-2]。传统诊断中,临床上通过血常规检查结果对患者是否患有白血病进行人工判断,通过血常规检查可以了解到患者的血细胞数量是否处于正常数量[3-4]。纯人工的方式,费时又费力,故而当前医院中更为普遍的分类计数方式是通过借助自动血球计数仪集合血液图片人工镜下检查进行操作[5-6]。这种自动化血球计数仪的临床应用减轻了临床检验人员的劳动量,促进了血液学实验室诊断和治疗检测水平的提高,但仍存在分类精度不够高的问题,容易将形态差异较小的正常与非正常白细胞给区分错[7-9]。
针对这种不足,医学影像分类逐渐走向智能化处理,如传统方法中使用FCM聚类算法[10],Mean-Shift聚类[11],决策树算法[12],朴素贝叶斯分类器[13]、随机森林算法[14]等方法对医疗影像进行分类。传统方法在对医学影像进行分类处理时一般具有鲁棒性高、处理效率快、容易实现等特点。但是对于医疗影像中所表现出来全部的特征,传统方法所获取的并不多,故而对于医疗影像的处理逐渐走向利用神经网络去获取图像中高纬度的病理特征[15-16]。基于人工智能的方法能更好地学习医疗图像中所蕴含的信息,其中有使用PCA(主成分分析)和LVQ(学习矢量量化)神经网络相结合的方法[16],前馈反向传播神经网络的方法[17],使用ResNet V1 50,ResNet V1 152和ResNet 101[18]进行分类的方法,以及以AlexNet和LeNet为网络原型构建CNN训练平台,对LeNet网络进行删减优化,获得一轻量高效的新结构——CCNet的方法[19]。这些基于人工智能的方法更有利于学习图像的特征,并且能大幅度地提高分类准确率,在计算机图像分类领域中已经得到了广泛的应用。
因此,本文引入此思想对白细胞进行分类,利用VGG16卷积神经网络针对急性淋巴细胞白血病(Acute Lymphoblastic Leukemia,ALL)患者的血液细胞显微图像进行辅助分析,分类出白细胞是否为患病细胞。本文中从基于像素的角度分类识别出不同显微图像中的纹理特征,不仅能在一定程度上极大的节省人力的投入,而且能为医护人员提供更高准确率的分类结果[20-21]。通过实验发现,相对于其他的方法,基于VGG16的网络模型能更好地学习小样本量的数据,并在一定时间内较快地收敛,大大减少了实验的资源开支。
1 基于VGG16的ALL血液细胞显微图像分类方法
由于受到医疗成像设备的影响,故而对于所采集到的数据会和实际试验中所需要的样本有所不一致,故而针对这种情况,本研究中将整个实验给分为了两部分,分别是:数据预处理阶段和VGG16卷积神经网络分类识别阶段。
1.1 数据预处理
在数据预处理阶段,我们一共完成了两项工作,分别是将RGB,即红(Red)绿(Green)蓝(Blue)颜色空间映射到HSV颜色空间和目标区域的提取。其中颜色空间的映射转换目的是为了提高处理时的敏感程度,而目标区域的提取则是为了尽可能地排除白细胞以外的各种非目标区域的影响从而保证分类识别的高效性。
1.1.1 图像色彩空间转换
一般情况下,图像的颜色空间都是RGB模型,一般以一种三维坐标的模型形式表示,图1显示出了RGB模型。HSV既色调(H:hue),饱和度(S:saturation),亮度(V:value),由A.R. Smith在1978年创建的一种颜色空间,也称六角锥体模型(Hexcone Model)。其中 H:用角度度量,取值范围为 0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;S:取值范围为0.0~1.0,值越大,颜色越饱和;V:取值范围为0(黑色)~255(白色),如图2所示。
图1 RGB颜色模型
图2 HSV颜色模型
由于RGB是加法原色模型,以原色组合的方式定义颜色,而HSV以人类更熟悉的方式封装关于颜色的信息,例如:什么颜色?颜色深浅度多少?明暗程度如何等,故而在计算机图形应用处理中更多地采用HSV模型,从而需要将一般的RGB图像给映射到HSV空间上。其映射计算公式如(1)~(3)所示:
其中max等价于r,g和b中的最大者,而min等于这些值中的最小者。
1.1.2 目标区域提取
由于原始细胞图像中所含有的背景等无关信息较多,为了更好地提取白细胞的特征,而避免无关因素的干扰,从而在此部分完成白细胞目标区域提取的功能。采用超像素的思想标记出ALL血液细胞的轮廓图,再根据所标记的轮廓将原始图像进行分割从而得到目标影像图,操作示意过程,如图3所示。
图3 ALL血液细胞目标区域提取
在完成目标区域的提取后,在对神经网络进行输入前还需要对数据进行归一化处理,是预处理模块中的一项基本且必不可少的工作。由于原始数据集中的不同特征往往具有不同的量纲单位,或是数据的值域区别较大。在这样的情况下,数据值将会对数据分析的结果产生较大影响。而对数据进行归一化处理,能在一定程度上消除特征之间量纲和取值范围的影响,从而解决数据特征之间的可比性。归一化公式如下:
1.2 VGG16卷积神经网络分类识别
牛津大学在2014年提出来了VGG卷积神经网络的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为当时最流行的卷积神经网络模型。该网络模型在图像分类和目标检测任务中都表现出非常好的结果。而在其变形中VGG16的表现又尤为突出,故而本文采用VGG16卷积神经网络模型。
1.2.1 VGG16卷积神经网络模型
VGG网络是卷积神经网络的一种,探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3×3的小型卷积核和2×2的最大池化层,VGG Net成功地构筑了16/19层深的卷积神经网络,本系统中采用的是VGG16网络模型,其中16表示除pooling layer(池化层)外使用conv layer(卷积层)的层数(图4)。其主要拥有的特点有:① 将卷积层提升到卷积块的概念:卷积块有2~3个卷积层构成,使网络有更大感受野的同时能降低网络参数,同时多次使用ReLu激活函数有更多的线性变换,学习能力更强;② 在训练时和预测时使用Multi-Scale做数据增强:训练时将同一张图片缩放到不同的尺寸,在随机剪裁到224×224的大小,能够增加数据量。预测时将同一张图片缩放到不同尺寸做预测,最后取平均值。
图4 VGG16卷积神经网络宏架构图
1.2.2 模型优化算法
卷积神经网络中有许多优化算法,其中比较常用的就是梯度下降优化算法。本文采用的则是随机梯度下降算法(Stochastic Gradient Descent,SGD),其具有的优点有:每次更新时对每个样本进行梯度更新,速度快,可以随时增加新的样本相对于非随机算法,SGD能更有效地利用信息,特别是信息比较冗余的时候,计算公式为:
在深度学习模型训练完成后,需要对其正确率以及损失值进行评估。本系统中损失函数的计算采用log对数损失函数(逻辑回归),其计算过程如下,
2 实验结果与分析
本文所使用的数据是由意大利米兰大学提供的公开血液样本显微图像数据集——ALL_IDB2[22]。该数据集由2005年9月收集的108幅图像组成,约包含39000个血液元素,重点针对ALL,用于评估和比较图像分割和分类算法。
对于数据集中的每个图像,都是使用光学实验室显微镜和佳能PowerShot G5相机,在300至500的不同放大倍率下拍摄的,所有图像均为TIF格式,分辨率2592×1944。数据集中部分样本图,见图5。
图5 ALL_IDB2中部分白细胞显微图像
从原始数据图中我们不难发现,图片里不仅含有我们所需要的白细胞区域,同时还带有大量我们所不需要的背景信息,故而在2.1.2的目标区域提取部分我们引入了超像素的思想对目标区域进行了提取(图3)。
使用“ALL_IDB2”数据集进行训练和验证(其中训练集和验证集的比例为8:2),从准确率和损失函数值两个方面给出测试结果,表2显示了100轮迭代后的最终准确率和损失值,图6和图7分别展示了100轮迭代训练集和验证集准确率和损失值的变化图。
表2 100轮迭代的准确率和损失值
图6 100轮迭代准确率变化对比图
通过图6和图7可以看到本文所采用的VGG16卷积神经网络模型在100轮较小的迭代次数中很好地“学习”到了ALL血液细胞显微白细胞图像的特征,在训练集和验证集上分别达到了98.79%和98.05%的高准确率,以及0.1767和0.5020的低损失值,这很好地说明了VGG16卷积神经网络模型能分类出ALL患者的血液细胞是否为患病细胞。
图7 100轮迭代损失值变化对比图
3 讨论与结论
本文将人工智能的思想应用到了医学辅助诊断当中,提出了一种基于VGG16卷积神经网络的ALL血液细胞显微图像分类的方法。针对所获取的较小样本量(一共260张原样本图像)的数据集,我们将传统方法中超像素的思想应用到了数据预处理当中,为后面卷积神经网络的训练输入打下了更好的基础,相对于Othman等[23]在2017年利用前馈反向传播神经网络对五类白细胞进行分类,在试验中他们首先将原始的白细胞显微图像进行分割得到含有16个主要特征点的100张细胞图像,再将其作为输入对神经网络进行训练,最后的平均准确率达到了96%,我们所提出的基于VGG16的深度学习模型具有更高的分类准确率。而在相比于Habibzadeh等[18]通过计算机辅助诊断(CAD)系统和血液学规则来评估白细胞差异计数,使用了ResNet V1 50,ResNet V1 152和ResNet 101分别对四类主要的白细胞(中性粒细胞,嗜酸性粒细胞,淋巴细胞和单核细胞)进行分类,以及中国科学技术大学和解放军福州总医院全军检验医学研究所则提出了“基于卷积神经网络的外周血白细胞分类”的方法[19],虽然我们平均准确率相比较他们的实验结果分别差了1.65%和1.37%的精度,但是在时间消耗上我们却在更短的时间内实现了收敛。我们下一步的工作则是对于不同深度学习网络的比较,同时进一步做出对于深度学习模型的改进研究,旨在将白细胞的分类研究在保证低消耗的同时又能保证高的分类准确率。
医学图像高速准确的分类对于医疗临床诊断与精准治疗有着重要的影响,有必要将先进的计算机计算技术与具体的临床医疗和学术研究相结合起来,高效的人工智能图像分类技术能极大程度的帮助医生实现病灶区域的判断,进一步节省了大量的人力工作。未来的医学影像分类应当朝着一种更加智能化,高效化的方向发展,在充分利用计算机性能的同时也应更好的结合医学领域中的先验知识,发展出更新的技术,更好地为医疗影像分类所服务。