基于YOLOv5的人血涂片细胞的检测计数研究

2022-02-20 00:19韩子卓胡天寒吴敏
电脑知识与技术 2022年34期
关键词:深度学习神经网络

韩子卓 胡天寒 吴敏

摘要:采用公开的BCCD数据集与自己标注的数据集,利用YOLOv5检测算法,结合DenseNet模型和全卷积网络模型实现细胞检测计数。该方法可以更有效地提取特征解决重叠细胞的计数,再将训练好的最优模型应用于移动端并投入临床使用,简化手动血细胞识别和计数过程,从而达到提高诊断准确率及降低误检率。

关键词:YOLOv5;血细胞识别与计数;神经网络;深度学习

中图分类号:TP391        文献标识码:A

文章编号:1009-3044(2022)34-0011-03

1 概述

进行血液检测时通常需要对血细胞进行检测和计数,通过人体不同血细胞的个数,观察血細胞数量和形态是否发生异常,就可以初步判断患者的疾病类型和发展程度,以便进行后续的检查与治疗。目前的细胞检测和计数方法主要有:早期基于霍夫变换的自动细胞识别技术、距离变换的分水岭方法算法和阈值法[1]。基于阈值细胞分割算法通常将细胞分割为不同的区域,易于实现和提高分割效率,但当血细胞图片中含有大量的重叠细胞时,很容易导致边界信息丢失和分割不完整。Ramoser等[2]利用K均值聚类方法从其他细胞中分离出血细胞,然后使用支持向量机进行血细胞分类。该方法需要大量样本和较高的计算复杂度。Ghosh等[3]使用分水岭算法对细胞进行分割,将被分割的血细胞图像发送到一个简单的朴素贝叶斯分类器进行分类。该方法对细胞分割精确度要求较高,但是一般正常处理后的血涂片会存在很多的血细胞粘连在一起,这样会导致分割的结果不准确,最后影响实验结果。

近年来,随着深度学习算法模型不断涌现,模型训练速度越来越快。将深度学习应用于人血涂片视觉检测的学者越来越多。Prayag等[4]基于卷积神经网络(Convolutional Neural Network ,CNN)[5]框架使用双阶段目标检测方法来自动对外周血细胞图像进行分类,这种方法更准确,但检测速度较慢。谭润旭基于深度学习进行了细胞计数的深度学习研究,对不同网络模型和架构的细胞计数性能进行了实验研究[6]。吴汾奇使用人工智能领域的主流深度学习技术和图像处理技术,研究了骨髓血细胞自动识别新技术[7]。奚昶尊研究了基于深度学习的组织病理图像细胞计数算法[8]。YOLO是一种基于回归的目标检测算法,传入一张图像通过训练的模型网络,就可以实现对图像的检测,该网络模型比其他传统模型轻便、快速。

本文采用目标检测中的Yolov5模型,结合DeneseNet网络模型进行了关于人血涂片数据集的训练,以获得对血细胞的检测和计数的数据模型。相较于传统的神经网络模型它的体量更小、训练速度快,适合部署于移动端。

2 数据集和模型设计

2.1 数据集的选取

论文采用公开的血细胞图像数据集BCCD,共有364幅带标注的血涂片图像,网址为https://github.com/Shenggan/BCCD_Dataset。由于数据集图像数量不够多,皖南医学院形态学实验实训中心为本项目提供血涂片图像636张,最终本项目使用的数据集为1000张640×480的显微图像。未标注的血涂片图像如图1所示。在专家的指导下通过LalelImg工具对进行过医学处理的人血涂片进行人工的细胞标注,包括三种类型细胞分别为白细胞、红细胞和血小板细胞。将白细胞标注为WBC,将红细胞标注为RBC,将血小板标注为Platelets。

图2 为使用LalelImg工具进行标注的界面,选取需要标注的目标,图2选中的目标为血小板,将其类别设置为Platelets,采用这样的方法将所有的目标进行标注。

2.2 图像预处理

1)  数据增强

YOLOv5采用了Mosaic数据增强,将四幅图像进行随机图像处理操作,例如缩放、剪裁,再将它们拼接在一起,极大丰富了检测数据集,特别是在随机缩放上可以增加许多小目标,同时也减小了GPU的计算。

2) 归一化

在YOLOv5目标检测算法中,由于输入图像分辨率的分辨率不同,通常需要将输入图像分辨率标准化到640×640,因此需要对人血涂片图像进行进一步处理。

例如:导入的血涂片的图片大小640×480,会根据640×640进行相应的填充,上下两列的列表分别pad = (640-480)/2 = 80,并使用像素值为(0,0,0) 黑色像素进行填充具体的操作如图3所示:

2.3 训练模型

2.3.1 YOLOv5模型结构

YOLOv5模型算法将目标检测看成回归问题。CNN网络将传入的图像等分成一定比例的网格,检测每个网格内的目标并预测边界框。每个边界框除了返回自己的位置外,还带有一个代表了所预测的框中含有对象的置信度和这个框预测的准确率,其值的计算如公式(1) 所示:

2.3.2 DenseNet模型结构

DenseNet由DenseBlock和transition layer两部分组成,其中过渡层(transition layer)由一次卷积(convolution)与一次池化(pooling)操作组成,DenseNet的模型结构如图5所示:

2.3.3 训练模型

本次试验在YOLOv5的backbone中添加了DenseNet网络,DenseNet可以减少梯度的损失。为了加强图像不同层次之间特征信息的传输,从图像中提取的特征可以更有效地使用,模型使用小卷积核,能够进一步减少计算量。引入DenseNet可以更好地识别不同类别的血细胞,YOLOv5+DenseNet模型结构如图6所示。

3 实验设计与结果分析

3.1 实验设计

为验证YOLOv5人血涂片模型的识别能力,从1至1000张图像的全部数据集中选出100张图像用于测试集,其余图像用Mosaic数据增强增加到2,500张图像,训练集和测试按9:1的比例划分,其中2,250张进行了训练集,250张用于测试集。实验基于YOLOv5开源框架,在型号为NVIDIA GTX 2060的GPU上进行训练。输入YOLOv5网络模型的图片尺寸为640*640*3,训练的轮次分别设置为200次、300次和400次,采用Adam优化器和交叉熵损失函数(Categorical Crossentropy)。

3.2 评估标准

为了测试模型的性能,常用的目标检测评价标准有精确度、召回率、mAP等。TP为模型预测中为正例且原图像也为正例的细胞数量。FN为预测中为反例但在原图像为正例的细胞数量。FP为模型预测中为正例但在原图像为反例的细胞数量,混淆矩阵如表1所示。

1) 精确度(Precision)

精确度为在预测为正的样本中实际为正样本的概率,其计算公式如式(2) 所示:

2) 召回率(Recall)

召回率为在实际为正的样本中被预测为正的概率,其计算公式如式(3) 所示:

3) mAP(mean Average Precision)

AP(Average Precision) 代表平均精度,是Precision-Recall曲线下的面积,AP的值越高表示分类的效果越好。

mAP是多个AP类型的平均值,表示在每个类别下获得的AP的再平均。mAP的值越大表示其精度度越高。

4) 损失(loss)

损失分为两类,一类cls_loss(Classification) ,一类是giou_loss,cls_loss是分类损失loss函数,数值越小,分类越准确,giou_loss是平均GIoU损失函数,数值越小,预测方框就越准确。

3.3 实验结果与分析

模型训练迭代次数为300次,得到训练过程中各项性能变化如图7所示。

根据(a)发现训练300次,精确度缓缓提高,到300次时精确度大致为0.7,随着训练次数的增多,精确度还在上升;根据(b)发现150次到300次之间召回率波动不大,还需修改参数调整结果;0.5与0.95表示判定iou为正负样本的阈值,根据(c)(d)发现阈值设置为0.5时,mAP值在0.95左右,效果较好;根据(e)发现训练到300次时cls_loss趋近于0,表示分类结果慢慢趋于正确的值;根据(f)发现随着训练次数的增加giou_loss逐渐减小并慢慢趋于0,表示预测的方框逐渐向真实框靠拢。

YOLOv5将自动存储最后一次训练的模型和最佳的训练模型,并使用最优训练模型预测测试集。初步的测试集预测结果如图8所示,绿色的框为预测框,框的左上角为预测的类别,右上角为预测为这个类别的置信度得分,通过预测结果可以看到預测效果较好。

3.4 应用于移动端

将训练的最优模型提取出来并部署到移动设备上,进行实时的检测计数。具体在移动端的界面如图9所示,通过“选择文件”,点击“开始检测”,即得到检测计数的结果。

4 总结

为了实现对血细胞的检测和计数,对Yolov5和DeneseNet的网络模型进行了关于人血涂片数据集的训练,达到了比较好的准确率。得到的数据模型体量小,处理速度快,精度相对较高,比较适合于部署到医疗移动设备上,进行血细胞的检测与计数。

参考文献:

[1] Malpica N,de Solórzano C O,Vaquero J J,et al.Applying watershed algorithms to the segmentation of clustered nuclei[J].Cytometry,1997,28(4):289-297.

[2] Ramoser H,Laurain V,Bischof H,et al.Leukocyte segmentation and classification in blood-smear images[C].Shanghai,China:2005 IEEE Engineering in Medicine and Biology 27th Annual Conference.IEEE,2005:3371-3374.

[3] Ghosh M,Das D,Mandal S,et al.Statistical pattern analysis of white blood cell nuclei morphometry[C].Kharagpur,India:2010 IEEE Students Technology Symposium (TechSym).IEEE,2010:59-66.

[4] Tiwari P.Detection of subtype blood cells using deep learning[J].Cognitive Systems Research,2018,52:1036-1044.

[5] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Communications of the ACM,2017,60(6):84-90.

[6] 谭润旭.基于深度学习的细胞计数研究[D].合肥:安徽大学,2019.

[7] 吴汾奇,吕丽丽,吕迪,等.骨髓红粒细胞自动识别的深度学习模型[J].吉林大学学报(信息科学版),2020,38(6):729-736.

[8] 奚昶尊.基于深度学习的病理图像细胞计数算法研究[D].西安:西安电子科技大学,2020.

【通联编辑:唐一东】

猜你喜欢
深度学习神经网络
神经网络抑制无线通信干扰探究
有体验的学习才是有意义的学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源
基于GA-BP神经网络的光伏阵列MPPT研究