基于深度学习的白带显微图像细胞识别

2021-09-15 11:20侯剑平赵万里段忆芮
计算机应用与软件 2021年9期
关键词:念珠菌白带白细胞

侯剑平 王 超 赵万里 段忆芮

(安图实验仪器(郑州)有限公司 河南 郑州 450016)

0 引 言

白带常规检测(简称白带常规)是判断女性泌尿生殖系统健康水平的一项重要医学检查项目。白带即女性阴道分泌物,是指由女性生殖道不同部位的不同物质成分所组成的混合物,它是一种带有粘性的白色液体分泌物,由阴道粘膜渗出物、宫颈管、子宫颈腺体及子宫内膜分泌物混合而成,主要成分有阴道鳞状上皮细胞、少量宫颈柱状上皮细胞、白细胞和阴道内寄生的各种细菌等[1]。白带中的白色念珠菌是一种真菌,是引起念珠菌性阴道炎的条件致病菌[2]。白带中的滴虫是一种极微小有鞭毛且呈梨型的原虫生物,用肉眼无法观察到,阴道滴虫存在于女性的阴道会引起滴虫性阴道炎。白带中白细胞作为阴道炎症或细菌感染的直接表现[3]。

显微镜镜检是白带常规检查最常用的方法,目前国内外白带显微图像自动化识别技术还不成熟,采用人工镜检进行白带常规检测仍然是大部分医院所采用的方式。但由于白带显微图像的图像质量参差不齐,人工镜检既耗时耗力,而且容易受医务人员的经验和主观性影响,导致不同医务人员给出的检验结果灵敏度和特异性存在不一致的情况。如今,随着人工智能在医学领域的相关应用越来越广泛,医学显微图像的自动化识别和研究也成了热门的研究方向,但目前主要集中在尿液、血液、粪便的有形成分识别上[4-6],而对于白带的有形成分识别方面却鲜少有人研究。钟亚等[7]采用图像分割与卷积神经网络分类相结合的方法进行白带显微图像中白细胞的自动化检测,但实际上白带中的细胞成分(如:白细胞、念珠菌、滴虫)都是妇科炎症的重要指标,这些细胞的自动化识别研究具有很好的临床应用价值和实用意义。

近年来,深度学习在图像识别上的应用日渐成熟,而目标检测作为其中一个非常重要的应用方向,有很多基于深度学习的目标检测算法,如:Faster-RCNN[8]、SSD[9]、YOLO[10-12]等,被应用到很多领域和场景中。其中,YOLO算法是目前识别结果较好的算法之一,其最大的特点是检测速度快,满足实时检测的要求。郑志强等[13]改进YOLOv3算法用于遥感图像飞机的识别;彭玉青等[14]改进YOLO算法用于复杂背景下手势的识别;刘军等[15]改进YOLOv3-tiny算法用于车辆的识别与跟踪。但目前还没有人将目标检测的算法应用于白带显微图像中的白细胞、念珠菌、滴虫的识别这一场景。

本文主要研究白带显微图像中白细胞、念珠菌、滴虫的自动化识别,采用改进的YOLOv3-Tiny模型对细胞进行检测,然后再对细胞区域使用Resnet50进行准确识别,实现智能化检测和识别。

1 算法设计

由于本文的检测识别目标是白细胞、念珠菌、滴虫三类细胞,各类细胞本身形态相似性高且细胞背景复杂不容易区分,尽管使用YOLOv3-tiny模型对细胞的定位非常有效,但对于细胞识别这种细粒度的图像分类结果不理想。而对于图像分类,有很多经典模型可用,如VGG16、Resnet50[16]等。考虑到最终算法是要应用到自动化镜检平台中进行使用,因此对实时性要求较高,因此,本文对细胞分类采用参数较少的Resnet50模型,并使用迁移学习的方法以减少显微图像样本不足带来的影响。

本文算法共涉及改进的YOLOv3-tiny目标检测模型和Resnet50分类模型两个模型,它们分别用于细胞的检测和识别。本文算法流程如图1所示。对原始白带显微图像使用改进的YOLOv3-tiny模型进行细胞检测,找出每个疑似细胞的位置;通过细胞位置将细胞从原始图像中裁剪出来,获取细胞图像;将这些细胞图像使用Resnet50模型进行分类,以确定细胞类别,以筛选出白细胞、念珠菌、滴虫这三类细胞;最后将细胞类别对应于相应的细胞位置,得到细胞位置和类别结果。

图1 本文算法流程

1.1 细胞检测

1) YOLOv3-tiny算法。

YOLO网络是一个可以一次性地预测物体的位置和类别的卷积神经网络,实现了端到端的目标检测和识别,其最大特点是速度快,检测速度能够满足实时性目标检测的任务要求,并且已经有YOLOv1、YOLOv2、YOLOv3三个版本。YOLOv3采用多个尺度融合的方式来进行预测。使用类似FPN[17](Feature Pyramid Networks)的融合做法,在多个尺度的特征图上进行位置和类别预测,提高了目标检测准确率[18]。YOLOv3-tiny与YOLOv3相比,简化了特征提取网络,计算量小,有效地提高了检测效率,可以在移动端或设备端运行。

YOLOv3-tiny的特征提取网络采用一个7层卷积层和池化层的网络提取特征,并且使用了Leaky ReLU作为激活函数。YOLOv3-tiny在两个尺度上进行预测,分别对图像进行32倍和16倍的降采样。每个尺度上输出的是一个3维张量,包含边界框、置信度和预测类别。

损失函数用来表征模型的预测值与真实值间的不一致程度,是决定网络效果的重要参数之一。YOLOv3-tiny算法的损失函数的设计主要从边界框坐标预测误差、边界框的置信度误差、分类预测误差这三个方面进行考虑。损失值越小表示模型的鲁棒性越好。YOLOv3-tiny损失函数计算公式为:

2) 改进的YOLOv3-tiny算法。

YOLO v3-tiny 在目标检测领域已经取得不错的检测效果,采用多尺度融合的方式进行目标检测,对目标的尺度变化适应性较好,但是在白带镜检细胞检测任务中,在整幅显微图像中,白细胞、念珠菌、滴虫等细胞都是非常小的目标。因此,需要对YOLOv3-tiny模型进行改进以适应细胞的检测任务,提高检测效率同时保证实时性,模型提取更浅层的两组多尺度特征对细胞位置进行预测。

以输入图像大小为 416×416为例,原始的YOLOv3-tiny模型在两个尺度上进行预测,有2个特征图,大小为13×13和26×26,分别对图像进行32倍、16倍降采样,但本文研究的显微图像中白细胞、念珠菌、滴虫均为非常小的目标,采用K-means聚类的方法获取6个不同大小的先验框:(5,5)、(7,9)、(10,6)、(14,8)、(11,11)、(18,14)。由此可知,原始的YOLOv3-tiny模型的两个尺度的特征图并不适用于本文研究的小目标检测。因此,本文通过改变两个尺度特征图的大小,以适应任务的要求。本文改进的YOLOv3-tiny模型在两个尺度上进行预测,有2个特征图,大小分别为52×52、104×104,分别对图像进行8倍、4倍降采样。网络模型结构如图2所示。

图2 网络模型结构

1.2 细胞识别

本文采用Resnet50模型进行细胞识别。考虑到本文所使用的图像是医学显微图像,样本数量少,且难以大规模补充,因此在训练网络的过程中引入迁移学习。本文使用Tensorflow官网提供的ImageNet数据集上预训练的Resnet50模型。由于本文使用的显微图像与ImageNet数据集差异很大,简单的参数迁移方式并不适用。由于低层次的网络提取的是样本的边缘、纹理、颜色等信息,在进行参数迁移时保留卷积模块的底层结构和参数,并设置靠近分类层的高层卷积部分为可训练状态,包括矩阵权重、偏置项与其他正则项系数。在进行微调模型训练时并不是从随机初始值开始,通常经过小幅度的调整即可达到最优,既可以提高模型训练的效率,又可以提高模型准确率。

以Resnet50为例,将源模型中的最后一层全连接层的1 000个神经元替换为本文实验的四个细胞类别:白细胞、念珠菌、滴虫、其他细胞。Resnet50由一个卷积层、四个残差模块、全连接层构成,将卷积层和前三个残差模块参数冻结,继承源模型底层特征提取能力,将第四个残差模块及全连接层的参数设置为可更新,如图3所示。

图3 Resnet50模型

2 实 验

2.1 实验运行环境

本文实验硬件环境如表 1 所示,在此基础上搭建软件环境:Ubuntu 16.04、Python、opencv、CUDA等,深度学习框架使用 Keras框架。

表1 实验硬件环境配置

2.2 实验数据集及评价指标

实验所用的样本图像来源于安图生物公司收集的真实白带显微图像,这些样本图像均由携带500万像素相机的永新光学特制显微镜拍摄,原始图像大小为2 304×1 750,使用 LabelImg 工具对收集到的图片进行标注并以 VOC数据的格式来存储。用于细胞检测的数据集中共有1 095幅白带显微图像,用于细胞识别的数据集中包含白细胞9 698、念珠菌8 934、滴虫8 267、其他细胞9 055,均按照4∶1 的比例划分为训练集和测试集。白带显微图像示例如图4所示。各类细胞形态如图5所示。为了减少模型的训练时间,在细胞检测阶段,将原始图像进行降采样处理,以416×416图像大小作为输入进行实验和结果评估,最终将检测结果进行上采样来对应原始图像大小,以便于下一阶段的细胞识别。

(a) 白带显微图像

(a) 白细胞

而对于本文算法实际应用效果的评价,收集319例白带样本作为测试集,对每个样本拍摄20个视野,即得到20幅白带显微图像,对每幅白带显微图像进行检测得到图像中白细胞、念珠菌、滴虫的个数。然后,对于每个白带样本,综合20幅白带显微图像的检测结果来判定白带样本中白细胞、念珠菌以及滴虫是否为阳性。对于念珠菌和滴虫,出现个数只要大于等于1,无论个数的多少,均为阳性。对于白细胞,出现个数大于15个,为阳性。采用敏感度、特异性、符合率3个评价指标[19]对白带样本中的白细胞、念珠菌、滴虫的识别结果进行评价。评价指标数学公式分别如下:

TP、FP、FN、TN的详细说明如表2所示。

表2 混淆矩阵

2.3 细胞检测实验结果

本文算法的第一阶段是对细胞进行检测,是单目标检测任务,为了测试本文提出的改进的YOLOv3-tiny模型性能,与YOLOv3和YOLOv3-tiny模型进行对比。在模型训练过程中,使用相同的训练策略,采用小批量随机梯度下降法,批量大小为64,最大迭代次数为15 000次,动量和权重衰减分别为0.9和0.000 5,初始学习率为0.001,在迭代次数为5 000和10 000次时调整学习率为0.000 1和0.000 01,设置非极大值抑制阈值为0.3,置信度阈值为0.5,并根据模型的平均精度选出最优模型。在相同测试集上,采用精确率和召回率来比较不同模型的测试结果。如表3所示,本文提出的改进的YOLOv3-tiny算法不仅在检测速度上可以达到与YOLOv3-tiny算法非常接近,而且在精确率和召回率上的结果均高于YOLOv3-tiny算法,而且与检测精度更高的YOLOv3相比仍有优势。

表3 细胞检测结果

2.4 细胞识别实验结果

本文算法的第二个阶段是各类细胞的识别,考虑到第一阶段检测出来的细胞可能会存在误检的细胞,因此在细胞识别阶段,将细胞分为白细胞、念珠菌、滴虫、其他细胞四类,通过有效地将细胞进行准确分类,筛选出白细胞、念珠菌、滴虫,提高细胞识别的准确率。

由于本文使用的显微图像与ImageNet数据集的图像具有很大差异,因此,在使用Resnet50模型时,需要考虑在模型训练过程中可训练参数的数量对细胞识别结果的影响。表4是对应于冻结不同层数,即不同数量的可训练参数所对应的训练集、验证集上的识别结果。由表4可知,Resnet50模型在冻结层数为121时,得到最佳的识别结果。

表4 不同冻结层数时Resnet50模型性能

2.5 本文算法的实验结果

本文首先使用改进的YOLOv3-tiny算法进行细胞的定位检测,然后使用Resnet50对细胞区域进行识别,实现对白细胞、念珠菌、滴虫的识别。但实际上,YOLO系列算法本身就是一种多目标检测算法,可以直接使用该算法对各类细胞进行定位和识别。实验中采用YOLOv3和YOLOv3-tiny模型对各类细胞进行检测识别,并与本文的方法得到的结果进行对比。表5展示了YOLOv3、YOLOv3-tiny及本文算法的对比结果。相比于YOLOv3算法和YOLOv3-tiny算法将不同类别的细胞作为多目标进行检测识别,本文算法采用两个阶段实现细胞的识别,先将细胞进行检测,然后再对细胞区域进行精确分类,得到了更好的识别效果。同时,从检测效率方面来看,在相同的硬件条件下,本文算法由于改进了模型结构,调整了多尺度的特征图输出,更有利于细胞这类小目标的检测,在没有增加过多检测时间的情况下,有效地提高了识别准确率。图6是部分实验结果局部区域图。图中,WBC、M、TV分别对应白细胞、念珠菌、滴虫的识别结果。可以看出,YOLOv3、YOLOv3-tiny算法对于白细胞、念珠菌、滴虫这三类目标的识别结果均存在漏检和误检,如图6(a)、(b)所示,YOLOv3、YOLOv3-tiny算法对于白细胞的检测,在多个目标临近的情况下,分别存在漏检和定位不准的情况;YOLOv3、YOLOv3-tiny算法对于念珠菌这类小目标的检测均存在漏检;对于滴虫的检测,YOLOv3算法存在定位不准的情况,而YOLOv3-tiny算法出现漏检情况。本文算法相较于YOLOv3算法和YOLOv3-tiny算法,由于改进了模型结构更有利于小目标的检测,有效地降低了漏检率,而且增加了分类算法使细胞分类更为准确,有效地降低了误检率。

(a) YOLOv3识别结果

2.6 本文算法的实际应用结果

由于本文的算法是用于对白带样本的显微图像进行识别,以获得显微图像中白细胞、念珠菌、滴虫的识别结果。在实际应用中,对每个白带样本所对应的20幅显微图像进行检测,并根据总的检测结果来判定白带中白细胞、念珠菌、滴虫是否为阳性。采用本文算法对319例白带样本进行测试,图7-图9分别为白细胞、念珠菌、滴虫的实验结果。可以看出,白细胞、念珠菌、滴虫三类细胞的灵敏度、特异性、符合率均在90%以上,满足临床检验的使用要求。

图7 白细胞实验结果

图8 念珠菌识别结果

图9 滴虫识别结果

3 结 语

白带常规检查是阴道疾病检测的常规检查项目,并且有着广泛的应用。绝大多数的阴道感染疾病都可以通过白带常规检查被检出,也可以通过白带常规检查了解阴道内的卫生情况,并依据检查结果对感染病菌的概率或者程度进行科学判断,对医护人员的临床诊断工作大有帮助[3]。白带中的白细胞、念珠菌、滴虫是妇科炎症及阴道疾病的重要指标,因此白细胞、念珠菌、滴虫的检测对于临床检验具有非常重要的意义。

本文提出了一种基于改进的YOLOv3-tiny算法和Resnet50相结合的细胞检测识别算法,通过改进的YOLOv3-tiny算法进行细胞检测,然后使用Resnet50进行精确识别。将本文算法应用到全自动镜检软件中,可以实现对白带显微图像自动化地检测白细胞、念珠菌、滴虫,具有很高的灵敏度和特异性,满足临床检验的要求。由于本文的算法要应用到镜检软件中进行实时的检测,因此对检测效率和实时性要求较高,实验证明本文算法具有较好的时间性能,满足实时性的要求。在实际应用中,白带常规检查中不只需要对白细胞、念珠菌、滴虫这几类细胞进行检测,也需要对白带显微图像中出现的其他微生物进行检测,未来会考虑实现对更多类别微生物的检测。

猜你喜欢
念珠菌白带白细胞
4种抗真菌药物对近平滑念珠菌复合群的体外药敏试验结果分析
300例外阴阴道念珠菌病患者阴道分泌物标本病原菌学及对抗菌药物耐药性分析
广州地区生殖系统念珠菌病的菌型及其体外药敏结果分析
老年患者导尿管相关念珠菌泌尿系感染菌株分布及药敏分析
心力衰竭患者白细胞介素6、CRP表达水平与预后的相关性探讨
白带异常,早点去看医生,别回避
白带多是什么原因造成的
白细胞降到多少应停止放疗
白细胞减少是免疫力降低了吗?
孕期白带增多,是怎么回事