基于深度学习的人血涂片图片疟疾分类识别技术研究
作者: 王圣琪 胡天寒 许晶淼 韩子卓
关键词:疟原虫;分类识别;卷积神经网络;ResNet50
中图分类号:TP183 文献标识码:A
文章编号:1009-3044(2023)32-0027-04
0 引言
疟疾是由疟原虫寄生于人体引起的一种传染病。2018年11月发布的最新世界疟疾报告指出,相较于2016年,2017年的疟疾病例总人数增长了200万左右。疟疾病例总数增多,表明了对于防控疟疾需要实施一套完整的体系,包括对于疟疾传播的防治和及时提供抗疟药物进行有效治疗[1]。疟原虫主要有5类:恶性疟原虫(P. falciparum)、间日疟原虫(P. vivax)、三日疟原虫(P. malariae)、卵形疟原虫(P. ovale)和诺氏疟原虫(P. knowlesi),大部分疟疾是由恶性疟原虫和间日疟原虫诱发的[2-3]。
伴随着计算机技术的进步和医疗技术的发展,深度学习方法可以帮助人们分类疟疾,其中卷积神经网络(Convolutional Neural Networks, CNN),可以自动对疟疾进行分类识别,更好更方便快速诊断并治疗疟疾。在2015年的IEEE 国际计算机视觉与模式识别会议上,何恺明等人提出了深度残差网络(ResNet)[4]。该网络使用残差结构,避免网络退化现象,神经网络的“深度”第一次达到了100层。在2018年,Rajaraman等人[5]使用的预训练模型是以卷积神经网络为基础的,进行图像特征提取后,评估了其对被感染和未感染细胞进行分类的能力。在文献[5]中,明确表述了在提取被感染细胞和未感染细胞特征方面,预训练卷积神经网络ResNet-50与使用其他的预训练卷积网络相比,性能更为出色。本文使用ResNet-50卷积神经网络架构对细胞图像进行分类,将感染的血涂片图像和未被感染的正常血涂片图像分成两类。
1 研究内容
1.1数据集的选取
本文采用来自Lister Hill 国家生物医学交流中心(LHNCBC)的数据集,他们细心收集和标记了公开可用的健康和受感染的血涂片图像的数据集。将受恶性疟原虫感染的150个病人的薄血涂片和50 个健康病人的薄血涂片使用吉姆萨染液进行染色,进行显微镜观察,同时使用内置摄像捕捉获取后,利用幻灯片阅读器标记,得到如下数据集,其中包含感染疟原虫的和未被感染疟原虫的(健康的)血细胞图像都为13779张。图1是被寄生虫感染的细胞图像,图2是未被寄生虫感染的细胞图像。
1.2 图像预处理
在训练和测试模型的过程中,将使用大量图像数据用作支撑。使用图像预处理的方法,以此来使图像数据进一步优化,使获得的信息真实性和可靠性进一步提高。以下使用图像缩放、图像增强和灰度化3种预处理方法。
1)图像缩放:是指通过增加或减少像素来使图像的尺寸发生变化。将初始图像的大小通过缩放变换为125×125像素。如图3是未经过缩放处理的图像,图4是经过缩放处理后的图像。
2)图像增强:从训练数据集中载入现有图像,并且应用转换操作,例如旋转、裁剪、翻转等,使图像的视觉效果得到改善,有目标地提高图像整体或局部的清晰度,从而使图像变得更容易进行分析处理。由于这些随机转换,获取的图像不一样。
旋转:是指图片按照一个中心或者某一点进行一定角度的变换。如图5是未经旋转的图像,图6经过旋转处理图像。
裁剪:是将图片中的一部分单独剪切提取出来的操作。图7未经裁剪的图像,图8经过裁剪处理的图像。
翻转:是指在目标图像平面或者空间按照一定角度进行旋转。图9是未经翻转的图像,图10为经过翻转处理的图像。
3)灰度化:是使彩色图像通道中的R、G、B三个分量的数值互等的过程,称之为灰度化图像。OpenCV 以BGR或蓝、绿、红的顺序读取图像,上面显示的图像是蓝色的,实际的图片是粉色的。例如图11是原图经过编译运行cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 转换回RGB 顺序,结果如图12所示,是RGB 读取的图像。
1.3 模型的构建与训练
本文采用ResNet-50模型,ResNet-50网络结构图如图13所示。本文采用的ResNet-50模型进行训练,使用ImageNet数据集,此数据集是一个大型的图像分类数据集,符合模型要用大量图像数据训练的要求。通过迁移学习,可以很好地避免由于训练数据集的图片数以及测试数据集的样本数量不足,导致不理想的精度效果,造成过拟合现象问题。因此,用ImageNet预训练的模型来进行迁移学习,对模型的泛化能力和精度的提升都有重要意义[6]。
2 实现结果的分析
2.1设备配置
如表1所示,该模型训练时用的设备配置。数据集按照训练集和测试集划分为7:3,在训练期间应用训练数据集,并采用测试数据集来检查模型的性能。
2.2模型评估
评估模型使用准确性(Accuracy)、精确度(Preci⁃sion) 、召回率(Recall)和F1-Score为其主要指标。表2为混淆矩阵,TP是指分类器预测结果感染样本,实际也为感染样本,代表感染样本被正确识别的数量,FP表示分类器预测结果为感染样本,实际是未感染样本,代表误报的未感染样本数量,TN是指分类器预测结果为未感染样本,实际也为未感染样本,代表未感染样本被正确识别的数量,FN表示分类器预测结果为未感染样本,实际为感染样本,代表漏报的感染样本数量。
通过初步实验获得的准确率为98.93%、精确度98.95%、召回率98.93%,F1 Score 为98.93%,表3为本文使用的模型与其他方法的模型比较,从表3可以看出,使用ResNet-50 所获得结果比Basic CNN、VGG-19 Frozen和VGG-19 Fine-tune都要好。
2.3 实验结果分析
下面将训练过程中每个Epoch的训练集Accura⁃cy、Loss 以及验证集Validation Accuracy、ValidationLoss,值绘制成曲线图,如图14所示。其中Loss为损失函数,用来表现预测与实际数据的差距程度。
从图14的结果可以得出,当训练达到100次时,准确率上升接近平稳,当Epoch=100次时,准确率接近0.99。loss 值下降接近平稳,到Epoch=100 次时,loss值接近0,损失值较低。
为了更好地体现疟疾分类识别的结果,把原始图片放进分类识别系统进行分类,先识别细胞是否被感染,再分辨疟原虫的种类。系统界面如图15所示。
3 总结
疟疾是一种疟原虫感染人体内的红细胞而引起的疾病,疟原虫属于原生动物,属于传染病。本文将通过专业知识和实际操作,运用ResNet-50 模型与CNN 模型,VGG-19 Frozen 模型以及VGG-19 Finetune对比,不断调整和修改加以优化后获得最优模型,然后设计一个疟疾分类识别系统,来判断和识别出细胞是否被感染以及感染的疟原虫种类。此系统可以提高诊断的效率和正确率,提升治疗的速度,还能解决医疗资源不足问题。