1. 引言
白细胞的数量以及形态对于人体器官病理变化极其敏感。正常情况下,白细胞数量在正常范围内动态浮动,不会发生较大改变 [1]。而当人体机能产生疾病时,白细胞数量以及形态发生改变。人体若患有化脓性细菌感染、急性中毒等病症,会引起白细胞形态异常且数量发生变化,同时伴有中毒颗粒出现。因此,白细胞的数量以及形态是否正常,为医生初步诊断疾病提供了重要的参考依据,在医学诊断中具有非常重要的临床意义。
目前,针对外周血白细胞检验通常利用以下三种方法:原型认知型、血细胞分析仪以及人工镜检 [2]。原型认知型是依据人的视觉识别过程构建的仿真系统,利用白细胞血涂片,通过图像处理技术,基于血涂片将白细胞分离出来,然后分别提取五类白细胞特征。最后依据五类不同特征间的差异,将其自动分类。血细胞分析仪通过物理、化学方法对白细胞进行分类,其计数精度较高,但无法直观发现细胞形态变化,且高精度的血细胞分析仪器维护成本较高,需要专业技术人员进行操作,高昂的成本以及专业技术人才的缺失严重限制了血细胞分析仪在临床医学中的推广使用 [3]。此外若在血细胞分析仪中出现各类细胞含量异常时,还需要通过提取人体血液,制作血涂片,利用显微镜观察,进一步对白细胞数量以及形态变化进行分析判断 [4]。人工镜检是通过抽取患者血液,将血液制作成血涂片,并对细胞染色,由经验丰富的医生通过显微镜人眼观测计数。该方法是白细胞检测分类的“金标准” [5]。虽然该方法简单便捷且低成本,但易受医生经验以及图像清晰度等主观因素影响而出现误差,且耗时耗力、效率低,同时工作量较大。
传统医学中的白细胞检测存在诸多不足,白细胞检测的方法正逐步改进。随着深度学习的兴起与发展,涌现了许多经典且先进的算法,如Faster-rcnn [6]、YOLOV3 [7]、ResNet [8]、YOLOV5 [9]。这些深度学习算法通过提取图像数据特征,学习图像之间复杂的特征关系,从而完成计数、分类、检测等任务。深度学习算法也逐步运用于医学领域,2019年,Sun C等人 [10] 基于Faster-rcnn对其网络模型进行改进,从而成功地实现对白细胞进行计数。2020年,Rohaziat N [11] 等人基于YOLOV3模型,通过卷积神经网络对白细胞进行特征提取并成功进行计数。
本文提出一种基于YOLOV5的外周血白细胞检测方法,实现对白细胞数量的高效快速检测。相较于传统算法和通用的目标检测算法,本算法具有更好的检测能力。
2. YOLOV5网络模型及评价指标
2.1. 网络模型
YOLOV5是基于YOLOV3框架,融合多种先进算法,实现对目标的有效检测。Yolov5网络结构如图1所示,其网络模型结构由四部分构成:分别为输入端、Backbone、Neck、Prediction。
输入端:创新的提出自适应锚框计算、自适应图像大小缩放以及Mosaic数据增强。通过上述方法,丰富图像数据类型,极大的提高网络模型的检测能力以及泛化性。
Backbone:Backbone是YOLOV5的网络“横梁”,骨干网络,主要由Focus结构和CSP结构(Cross Stage Paritial Network),Focus结构中对特征图进行切片操作,使特征图的通道数发生改变,加快计算速度,同时在保留原始信息特征的同时提高每个源域图像上的点所对应的感受野。CSP结构有两种,一种为CSP1_X,另一种为CSP2_X,其结构用于降低网络计算量,从而加快网络训练速度。
Neck:其结构由FPN加PAN (Path Aggregation Network)组成,位于骨干网络与检测之间,主要用于加强网络模型的特征融合。
Prediction:对输入的特征图进行检测,沿袭了YOLOV3的多尺度融合,在三个不同尺度下对不同大小的目标进行检测,极大的提高了检测效率和检测精度,同时在预测中使用GIOU_Loss [12] 损失函数,旨在解决预测框与ground truth在没有重合情况下其损失值统一问题。此外,也提高了模型的训练速度。
2.2. 评价指标
为了评估网络的性能,本文采用精确率(Precision, P)和召回率(Recall, R)作为网络模型的量化指标,其中P表示为正确预测为正样本占全部预测为正样本的比例,R正样本中被预测为正样本所占的比例。其具体定义如公式(1)、(2)所示:
(1)
(2)
其中TP (True Positive, TP)表示为实际为正样本预测也为正样本,FN (False Negative, FN)实际为正样本被预测为负样本,FP (False Positive, FP)实际为负样本预测为正样本,TN (True Negative, TN),实际为负样本预测为负样本。
3. 模型算法验证
针对血涂片白细胞图像计数中数据匮乏、白细胞五类中数量分布不均、细胞自身占比小的问题,受卫星遥感目标检测算法YOLT的启发,将检测图像按照一定的重叠比例进行分割,依次送入检测器中进行检测,并重复利用NMS [13] (Non Maximum Suppression,非极大值抑制)对所有的检测结果进行筛选,获得最终的检测效果。
3.1. 数据预处理
本文采用YOLOV5目标检测器作为基础检测器,结合YOLT算法进行改进。由于外周血白细胞涉及患者隐私,且患疑难杂症病例较少,各国研究人员很少公开其白细胞数据集,鲜有可供训练的数据集。本文数据集来源于两部分:一部分来源于少量的公开数据集(400张左右),另一部分是某医院提供的血涂片,自行连接电子显微镜拍摄而成,图像尺寸为1200 × 1800,白细胞图像数量为360张。由于图像尺寸较大,不利于卷积网络模型进行训练;又由于血涂片拍摄而来的图像质量受限于电子显微镜的精密度,因此,需要对上述数据集进行数据预处理,以期满足网络训练的要求。
为增强模型的检测能力,本文基于原始拍摄的白细胞数据集,通过旋转、雾化、运动模糊、直方图均衡化对其进行数据增强,如图2所示:
在数据采集阶段,由于显微镜光圈的调适,图像经常出现过亮或者过暗的情况,所以亮度数据需要增强;由于焦距设置的问题,也经常会出现模糊、同时等情况,为此本文对图像进行了模糊处理,同时还对图像进行加噪,运动模糊等处理。图2中,第一行第一列中为白细胞中嗜酸性粒细胞原图,对其分别进行锐化、加噪、旋转、雾化、模糊等操作,其图像数量扩增为16张,通过数据增强,丰富图像信息,从而使图像的表现形式更加广泛,从而在卷积神经网络训练过程中,进一步提高了网络模型的泛化能力。
3.2. 模型训练
对于大尺寸图像模型训练,由于一般的目标检测器会对送入的图像进行Resize处理,很容易丢失原有图像的细节和特征,模型难以收敛,往往无法获得较好的检测模型。为此本文将大尺寸的血涂片白细胞图像进行切割,获得尺寸较小的图像,再送入目标检测器进行模型训练,如图3所示,获得了较好的训练精度。
图3表明,在模型训练阶段,通过预训练权重,经过60轮训练后,模型获得了较高的精度,在训练模型中精确率P达到了99.2%,召回率R达到了98.3%,GIoU损失函数值降低,其网络性能较好。此外本文提出的将图形按照比例切割,在保留信息不被丢失的情况下大量减少网络参数的计算,从而加速的网络的训练速度,此外通过多尺度预测提高了网络模型的精确率,此外,在最初的epoches中学习率较小,当模型稳定之后,通过选择预先设置的学习率训练,使网络模型的收敛速度更快,网络模型效果更佳。
模型推理阶段,相较于直接将原图投入通用目标检测器,无法获得良好的检测效果。本文中,将原图进行分割后再进行检测。但是直接对图像进行分割,容易将图像中的目标“切碎”,破坏目标细胞特征的完整性。为此根据血细胞图像特征,将原图按照一定的重叠比例进行切割,具体方法为上下图像重叠15%,左右图像重叠15%。具体操作如图4所示。
3.3. 实验结果
将原图送入训练好的检测器中,将会对原图进行切割,并对切割后的图像进行检测。获得一系列的在切割图上的检测结果,并将检测结果,按照切割时的位置,重新进行排序,获得其在原图上对应的检测结果。由于切割时存在一定的重叠比例,依次获得的结果中存在部分目标被重复检测的情况;因此本文对获得的检测结果进行第二次NMS操作,获得最终的检测结果。
(a) 白细胞检测结果 (b) 白细胞检测结果
Figure 5. Blood smear test result graph
图5. 血涂片检测结果图
如图5所示:图5(a)为测试数据集,血涂片中的白细胞均被精确检测,图5(b)为另一张测试图像,可以看出图像中白细胞数量较多,但均被检测出来,在白细胞图像中取得较好的检测结果,表明本文的检测方法行之有效。
4. 总结
正常机体中的白细胞数量在一定区间内浮动,当白细胞数量异常时,人体机能产生病变,白细胞数量的变化直接反映出身体机能的健康与否。因此,在临床医学上,白细胞数量是诊断疾病的重要参考依据。正因其对身体机能的重要性,白细胞的检测是医学领域的一个热门研究方向之一。
针对白细胞数据集匮乏、图像质量差、在血涂片图像中占比小等特性,本文利用YOLOV5对白细胞进行检测,首先针对血涂片中的白细胞图像进行预处理,通过旋转、雾化、模糊、加噪等方法对白细胞数据集进行数据增强,丰富图像内容。其次,对输入的血涂片图像进行切割操作,在保留源域图像特征的前提下,对其进行特征提取,并进行检测,并将检测后的结果映射回原图,最终完成白细胞检测。
本文方法与原模型进行客观实验对比,其中精确率P达到了98.5%,而召回率达到了97.6%,实验结果表明,本文方法无论在精确率上还是召回率上均有优势。
基金项目
本文得到江西省教育厅科学技术研究重点项目(GJJ216403、GJJ216402)资助。
NOTES
*第一作者。