白带显微图像中白细胞的数量可以提示阴道炎症的严重程度。目前对白带中白细胞的检测主要依靠医学专家们的人工镜检,这种人工检查耗时、昂贵且容易出错。近年来,有研究提出基于深度学习技术对白带白细胞实现智能检测,但是这类方法通常需要人工标注大量的样本作为训练集,标注代价高。因此,本研究提出运用深度主动学习算法来实现对白带显微图像中白细胞的智能检测。在主动学习框架下,首先以少量的标注样本作为基础训练集,采用更快的卷积神经网络(Faster R-CNN)训练检测模型,再自动挑选最有价值的样本进行人工标注,从而迭代更新训练集和相应的检测模型,使模型的性能不断提高。实验结果表明,深度主动学习技术能在较少的人工标注样本下获得较高的检测精度,对白细胞检测的平均精度达到了 90.6%,可以满足临床常规检查要求。
引用本文: 鞠孟汐, 李欣蔚, 李章勇. 基于深度主动学习的白带白细胞智能检测方法研究. 生物医学工程学杂志, 2020, 37(3): 519-526. doi: 10.7507/1001-5515.201909040 复制
引言
阴道疾病是常见的妇科疾病,白带常规检查是妇科检查中常见的检查项目,通过白带常规检查,可以知道阴道内细菌的情况,确定阴道清洁度,判断阴道炎症的严重程度。白带显微图像中有多种有形成分,包括白细胞、上皮细胞、线索细胞、杆菌、球菌等,如图 1 所示。其中白细胞的多少可以直接体现阴道炎症或者细菌感染的情况,白细胞越多,阴道炎症越严重。现如今大多数医院的白带常规检查是依靠人工镜检,但是医务人员长时间在显微镜下观察细胞,工作量大,且白带显微图像背景复杂,容易产生视觉疲劳,此外白带样本长时间处于观察中容易受到温度和各种外界环境的影响,可能会出现误检或漏检[1-2]。

近年来,人工智能飞速发展,目标检测逐渐趋向自动化,医学上对细胞的检测也逐渐从人工镜检发展到自动识别。在细胞识别和分类上,2005 年 Ushizima 等[3]利用支持向量机算法识别六种白细胞。2012 年,Na 等[4]用欧氏距离法分类白细胞。2014 年,Putzu 等[5]利用基于高斯核的支持向量机算法将 267 个白细胞分为五大类。2015 年,Prinyakupt 等[6]用线性分类器和朴素贝叶斯分类器对白细胞进行五分类。2016 年,Shirazi 等[7]用维纳滤波分割出白细胞,用反向传播算法对白细胞进行五分类。虽然这类传统的机器学习方法已取得了较好的识别结果,但它们通常需要对图像进行预处理,比如图像分割、去噪、滤波等,而且训练前需要对图像人为提取特征,过程繁琐,计算量大,训练时间长。近年来,深度学习在图像处理领域广泛应用。2012 年,Hinton 在 ImageNet 竞赛中,对上百万图片进行分类[8];有研究基于神经网络进行红细胞识别[9];目前最新的研究,基于机器学习进行白带中白细胞的自动检测[10]。但基于深度学习的细胞检测均需要大量的标注样本用于训练检测模型,例如前沿的基于卷积神经网络(convolutional neural network,CNN)的白带中白细胞的自动检测,采用 10 000 张样本图片作为训练集,检测准确率已经趋于平稳状态,最高达到 89.5%[10]。然而,目前面临的问题是,由于模型的训练样本需完整地表示所含类别的统计属性,因此所需的训练数据集庞大,训练时间长。而且对白带显微图像中白细胞的标注需要专家人工操作,成本高,工作周期长,在处于视觉疲劳的情况下容易误判漏判,产生大量冗余样本并加入训练,影响模型检测性能。
针对上述问题,主动学习技术可通过与用户或专家进行交互,选出最有价值的未标定数据让专家标注,迭代训练模型,让模型利用较少的标记数据获得较好的性能。近年来主动学习在各领域得到了广泛应用。2017 年 Liu 等[11]将主动学习用于人体姿势检测,使用 23% 的标注时间,得到了 80% 的检测性能,姿势检测器性能得到大幅提升。Zhou 等[12]将主动学习用于 CNN 微调,通过每次迭代加入新的注释样本,对三种医学图像进行分析,不断提高 CNN 性能,结果表明性能比单一的 CNN 提高,同时注释成本至少减少了一半。Wang 等[13]将主动学习用于新闻组和数字识别,通过查询最不确定或最具代表性的样本作为训练集,结果它的检测性能超过了最先进的方法。Andersson 等[14]研究飞机飞行轨迹,结合主动学习算法也取得了优异的成果。此外,在 CNN、LSTM 等算法中已有不少学者利用主动学习来提高效率,如 Sener 等[15]的基于主动学习的 CNN,以及 Shen 等[16]将深度主动学习用于命名实体识别。可见,主动学习有较大的研究和应用前景。
本研究提出采用深度主动学习算法对白带显微图像中的白细胞进行自动检测,为该领域提供更优的细胞检测方案。首先由人工专家标记少量样本,送入更快的区域卷积神经网络(faster region convolutional neural network,Faster R-CNN)模型训练得到基准检测模型,然后用该模型去检测大量未标记样本,通过一定的选择策略挑选出最有价值的样本加入训练集,接着不断更新训练集并优化模型性能,直到模型性能达到一定标准,停止迭代。整个过程就是尽可能提高标注样本的质量,减少冗余样本,用尽可能少的标注样本训练检测模型,减少模型训练时间和空间[17],以期用更少的标注样本训练出更好的检测模型。
1 方法
1.1 主动学习算法
主动学习算法是一个循环迭代的过程,其模型主要由四个部分构成,如图 2 所示,包括目标检测模型、标记样本集、未标记样本池、人工专家。首先使用少量的标记样本训练模型得到基准模型,通过一定的选择策略从未标记样本中挑选出一个或一批最有用的样本给人工专家审查标记[18],再将这些已经标记的样本加入标记样本集,使用更新的标记样本集再次训练模型。就这样不断更新标记样本集,不断训练检测模型,直到模型性能达到一定标准,停止迭代。

在本研究中首先把已标记的部分样本输入检测模型,训练得到基准检测模型,以及模型平均准确率(mean average precision,MAP);然后用第一次训练的检测模型去预测未标记样本集U中所有未标记的图片,得到每张图片的评价分数,如果图像中有多个对象,我们使用置信度分数的平均值,选择评价分数最低的样本交给人工专家在 vott 标记工具中标记,将标记好的样本加入已标记样本集L中,更新标记样本集;最后,把更新的样本集输入检测模型进行第二次迭代训练,得到新的检测模型。就这样不断更新标记样本,不断迭代训练,不断提高检测模型性能,直到检测模型性能达到较为满意的程度,停止训练,得到稳定的检测模型。
1.2 选择策略
本研究基于主动学习算法,选取了基于不确定性的选择策略[19]。基于不确定性的样例挑选过程中,分类器对于每个未标注样例给出一个置信度分数作为评价分数来表示其不确定性。置信度分数即样本图片中的待检测细胞在某一设定置信区间内是白细胞的概率。如果样本图片中只有单个白细胞,则该白细胞的置信度分数即为该样本的评价分数;如果样本图片中有多个白细胞,该样本评价分数为多个白细胞置信度分数的均值,该均值若大于 0.5,则判定为白细胞(阳性),该均值若小于 0.5,则判定为非白细胞(阴性)。然后将每个未标注样例的评价分数排序,选取一个或者一批样本给人工专家标注,即找到评价分数最接近给定阈值(0.5)的样例给人工专家标记[20]。
本实验中,共选用了 300 张白带显微图像,随机选择了 270 张图片作为训练集,并分成 10 组,经过 10 次迭代训练。选用 30 张图片作为测试集。首先由专家人工标注 27 张样本送入模型训练,得到初次检测模型;然后从未标记样本中随机挑选 27 张样本供初次检测模型检测,得到每张图片的评价分数,评价分数小于 0.5 的直接滤去,评价分数大于 0.5 的予以排序,选取倒数 3 张样本供人工专家标记审查后再加入训练集,其他样本直接加入训练集,就这样不断更新训练集,迭代训练检测模型。
1.3 Faster R-CNN 模型
在主动学习算法中,机器学习模型选择至关重要,本研究选用了 Faster R-CNN 作为主动学习循环结构中的基准检测模型。传统的目标检测流程包括选择候选区域、提取特征、分类与边界回归。Faster R-CNN 所有流程均交给神经网络来完成,相比区域卷积神经网络(region convolutional neural network,R-CNN),Faster R-CNN 训练效率得到了很大提升。Faster R-CNN 模型主要由快速区域卷积神经网络(fast region convolutional neural network,Fast R-CNN)模型和区域建议网络(region proposal network,RPN)构成,两者共享卷积层,其基本流程如图 3 所示。

Faster R-CNN 模型中,首先输入图片,经过卷积层提取输入样本图片的特征图,然后会有两个分支,一个分支直接将特征图输入池化层,另一个分支将提取的特征图送入 RPN 网络,得到 2 000 个候选框 Proposals 送入池化层中,提取出候选框对应的特征,得到固定大小的特征图,最后再通过全连接操作进行分类计算和边框回归来确定待检测目标的位置。
1.3.1 RPN
RPN 最大的特点就是和检测网络共享卷积特征图,很大程度上节省了时间。RPN 最核心的思想是采用 CNN 来生成区域建议框,其实质就是用滑动窗口在 CNN 的最后一层上依次滑动[21-22]。如图 4 所示,滑动窗口对应到特征图,然后将其映射到低维向量。再连接两个全连接层,一个是分类层,其功能主要是判断是不是检测目标,并给出每个检测框的置信度分数;另一个是回归层,其功能主要是对区域建议框进行精修,最后得到待检测目标的精确坐标。

1.3.2 ResNet50
现如今深度学习发展迅速,研究者运用神经网络日渐成熟,但是普遍面临一个问题,随着网络的不断加深,会出现正确率趋于稳定甚至会有下降的表现,本文采用了残差网络 ResNet50 来解决这一问题,如图 5 所示。ResNet 残差网络通过恒等映射,可以将最初的数据 x 传输到深层网络中,而且整个过程不会增加计算[23]。本研究是在 Faster R-CNN 网络中的 RPN 网络和池化层上结合 ResNet50 网络,构成 Faster R-CNN & ResNet50 新网络来实现对白带显微图像中白细胞的自动检测。

1.4 算法评价方法
为了验证方法的有效性,本研究选用了 10 折交叉验证来训练和测试。300 张白带显微图像随机分为 10 组,随机选取一组 30 张样本图片为测试集,剩下 9 组共 270 张样本图片为测试集,选用精确率 Precision、MAP 作为评价参数,最终的评价结果为 10 次测试的均值。
![]() |
![]() |
本研究选用 MAP 对目标检测模型的性能进行评价。公式中 是给定样本图片类别 C 的精度,其可以用图像正确预测的数量除以该类别图像总数来计算,本研究使用每张样本图片中白细胞的置信度均值(取 0.5 为分界点)来判断预测是否正确,N 代表类别个数[24]。
2 实验
2.1 实验数据
本实验数据来自重庆医科大学第一附属医院,采集了 500 张左右的白带显微图像,由于连续拍摄,有部分重复样本,最终统计有 300 张白带显微图像用于深度主动学习。实验所用样本图片均为 1 440 × 960 的白带显微图像,在载物台上的白带涂片放大了 20 倍,在本研究中不需要对样本图片进行预处理。
2.2 实验数据处理
本实验随机选取了 270 张白带显微图像作为训练集,另外的 30 张白带显微图像作为测试集。所有的样本图片均采用 vott 标记工具标记白带显微图像中的白细胞,标记部分样本图片如图 6 所示。

vott 标记好的信息会转换成 CSV 文件存储起来,便于送入模型中训练。标记好的样本图片信息如图 7 所示。标记好的信息包括边框类别 class,边框的位置坐标 xmin、xmax、ymin、ymax 以及边框的高度 height 和宽度 width。

2.3 训练模型及实验结果
首先由专家人工标注 27 张样本送入模型训练,得到初次检测模型。选用基于不确定性的选择策略,迭代训练检测模型,共迭代训练 10 次,每次迭代挑选评价分数倒数的 3 张样本供专家人工审查,即专家共审查标记了 57 张样本。每一次迭代都会用该模型测试一次,每迭代一次,模型的检测性能都会相应提高,最终该模型的检测 MAP 均值达到 90.6%。10 次交叉验证中,迭代 MAP 变化如图 8 所示。

本研究选取了 CNN 中经典的 LeNet-5 网络和 Faster R-CNN 网络作为对比方法。由表 1 可见,相比其他方法,采用同样的训练集和测试集,主动学习仅标记了约 1/5 的白带显微图像,专家仅花费了约 1/5 的时间人工标记白细胞,主动学习训练得到的模型检测结果比其他方法更好。可见,在同等条件下,主动学习算法可以标记少量的样本图片训练检测模型即能达到较好的效果,用较少的标注代价获得了较好的检测模型。

主动学习算法测试样本的测试结果如图 9 所示,每张白带显微图像中白细胞都用红色边框标记,并显示了置信度分数。

3 讨论
白带中白细胞的多少可以直接表征阴道疾病的严重程度,因此本研究对白带显微图像中的白细胞自动检测具有重要意义。当前机器学习已广泛应用于细胞检测,但还存在一定的缺陷,在训练模型之前需要对图像进行预处理,比如图像分割、去噪、滤波、图像人为提取特征等,过程繁琐,计算量大。要训练好模型,一般有标记的数据越多越好,成本高,工作周期长,且处于视觉疲劳的情况下容易误判漏判,产生大量冗余样本并加入训练,从而影响模型的检测性能。针对以上问题,本研究采用深度主动学习算法来实现对白带显微图像中白细胞的自动检测,首先选取 Faster R-CNN & ResNet50 作为基准检测模型,Faster R-CNN 可以加快训练速度,ResNet50 使模型的准确率不会随着网络的加深而降低。然后采用主动学习算法,使用少量的人工标记样本训练模型,模型检测出最不确定的样本交由人工专家判断。相比其他机器学习方法,本研究选用的样本图片质量更高,减少了冗余样本,人工标注时间减少,模型准确率更高,检测器性能更好。
此外,本研究在其他条件相同的情况下,选用 LeNet-5 网络模型作为对照实验,随机选取的 270 张图片作为训练集,30 张图片作为测试集。在深度主动学习中专家首先仅人工标注 27 张样本图片,之后只需要标记模型挑选出来的最不确定的样本图片,然而 LeNet-5 网络则需要专家一次性标注 270 张样本图片作为训练集,实验表明 CNN 网络人工标记的时间大约是深度主动学习人工标注时间的 4 倍。而且从最后的训练模型性能可以看到,深度主动学习检测准确率达到了 90.6%,而 LeNet-5 只有 73.3%。由此可见,深度主动学习不仅节约了人工标注时间,还大大提高了模型的性能。近年来,电子科技大学研究过用 LeNet-5 来实现对白带显微图像中白细胞的自动检测,人工标记了 10 000 张白带显微图像作为训练集,检测准确率趋于稳定,最高达到 89.5%[10]。由此可见,本研究采用的深度主动学习算法能够使用少量标记样本达到与近期发表方法相当的模型性能,在保证分类器精度不降低的前提下,减少了人工标记代价,标注样本质量高,减少了冗余样本,缩短了模型训练的时间和空间。
当然,本研究对白带显微图像中的白细胞自动检测也存在一些缺陷。检测模型存在一定的误检和漏检。例如,由于线索细胞的细胞核和白细胞形态相似度高,容易出现误检,如图 10所示。同时,模型的检测 MAP 还受到样本图片背景环境的影响,有的白带显微图像背景复杂,导致检测不准确。因此,在复杂背景下精确检测白细胞,不断提高模型检测准确率,是我们未来研究的方向。在后续的研究中,将会对模型进行改进以进一步提高其检测性能。主动学习算法中最关键的步骤就是选择策略,后续研究将从这里切入,想要从两个不同的卷积层输出检测结果,如果模型对一个目标检测效果好,那么两个 layer 输出的结果应该基本一致,将引入一个 margin 函数作为两层输出结果的差值,用这个 margin 值来评价模型的检测性能,差值越小,说明模型检测性能越好。这将是后续研究的方向。

4 结论
白带常规检查是比较重要的妇科检查项目,白带显微图像中白细胞的多少直接表征了女性阴道疾病的严重程度,白细胞越多,阴道感染越严重,所以对白带显微图像中白细胞的自动检测具有重要的临床价值。本研究中,结合使用主动学习算法和 Faster R-CNN 深度检测网络,实现了对白带显微图像中白细胞的自动检测,检测效果良好,模型检测 MAP 达到了 90.6%。相比于其他基于深度学习的目标检测方法,本研究主要采用主动学习算法,训练过程中尽可能选择了高质量的样本,减少冗余样本,在保证分类器精度不降低的前提下尽量降低人工标注的代价,有着重要的临床推广价值。
利益冲突声明:本文全体作者均声明不存在利益冲突。
引言
阴道疾病是常见的妇科疾病,白带常规检查是妇科检查中常见的检查项目,通过白带常规检查,可以知道阴道内细菌的情况,确定阴道清洁度,判断阴道炎症的严重程度。白带显微图像中有多种有形成分,包括白细胞、上皮细胞、线索细胞、杆菌、球菌等,如图 1 所示。其中白细胞的多少可以直接体现阴道炎症或者细菌感染的情况,白细胞越多,阴道炎症越严重。现如今大多数医院的白带常规检查是依靠人工镜检,但是医务人员长时间在显微镜下观察细胞,工作量大,且白带显微图像背景复杂,容易产生视觉疲劳,此外白带样本长时间处于观察中容易受到温度和各种外界环境的影响,可能会出现误检或漏检[1-2]。

近年来,人工智能飞速发展,目标检测逐渐趋向自动化,医学上对细胞的检测也逐渐从人工镜检发展到自动识别。在细胞识别和分类上,2005 年 Ushizima 等[3]利用支持向量机算法识别六种白细胞。2012 年,Na 等[4]用欧氏距离法分类白细胞。2014 年,Putzu 等[5]利用基于高斯核的支持向量机算法将 267 个白细胞分为五大类。2015 年,Prinyakupt 等[6]用线性分类器和朴素贝叶斯分类器对白细胞进行五分类。2016 年,Shirazi 等[7]用维纳滤波分割出白细胞,用反向传播算法对白细胞进行五分类。虽然这类传统的机器学习方法已取得了较好的识别结果,但它们通常需要对图像进行预处理,比如图像分割、去噪、滤波等,而且训练前需要对图像人为提取特征,过程繁琐,计算量大,训练时间长。近年来,深度学习在图像处理领域广泛应用。2012 年,Hinton 在 ImageNet 竞赛中,对上百万图片进行分类[8];有研究基于神经网络进行红细胞识别[9];目前最新的研究,基于机器学习进行白带中白细胞的自动检测[10]。但基于深度学习的细胞检测均需要大量的标注样本用于训练检测模型,例如前沿的基于卷积神经网络(convolutional neural network,CNN)的白带中白细胞的自动检测,采用 10 000 张样本图片作为训练集,检测准确率已经趋于平稳状态,最高达到 89.5%[10]。然而,目前面临的问题是,由于模型的训练样本需完整地表示所含类别的统计属性,因此所需的训练数据集庞大,训练时间长。而且对白带显微图像中白细胞的标注需要专家人工操作,成本高,工作周期长,在处于视觉疲劳的情况下容易误判漏判,产生大量冗余样本并加入训练,影响模型检测性能。
针对上述问题,主动学习技术可通过与用户或专家进行交互,选出最有价值的未标定数据让专家标注,迭代训练模型,让模型利用较少的标记数据获得较好的性能。近年来主动学习在各领域得到了广泛应用。2017 年 Liu 等[11]将主动学习用于人体姿势检测,使用 23% 的标注时间,得到了 80% 的检测性能,姿势检测器性能得到大幅提升。Zhou 等[12]将主动学习用于 CNN 微调,通过每次迭代加入新的注释样本,对三种医学图像进行分析,不断提高 CNN 性能,结果表明性能比单一的 CNN 提高,同时注释成本至少减少了一半。Wang 等[13]将主动学习用于新闻组和数字识别,通过查询最不确定或最具代表性的样本作为训练集,结果它的检测性能超过了最先进的方法。Andersson 等[14]研究飞机飞行轨迹,结合主动学习算法也取得了优异的成果。此外,在 CNN、LSTM 等算法中已有不少学者利用主动学习来提高效率,如 Sener 等[15]的基于主动学习的 CNN,以及 Shen 等[16]将深度主动学习用于命名实体识别。可见,主动学习有较大的研究和应用前景。
本研究提出采用深度主动学习算法对白带显微图像中的白细胞进行自动检测,为该领域提供更优的细胞检测方案。首先由人工专家标记少量样本,送入更快的区域卷积神经网络(faster region convolutional neural network,Faster R-CNN)模型训练得到基准检测模型,然后用该模型去检测大量未标记样本,通过一定的选择策略挑选出最有价值的样本加入训练集,接着不断更新训练集并优化模型性能,直到模型性能达到一定标准,停止迭代。整个过程就是尽可能提高标注样本的质量,减少冗余样本,用尽可能少的标注样本训练检测模型,减少模型训练时间和空间[17],以期用更少的标注样本训练出更好的检测模型。
1 方法
1.1 主动学习算法
主动学习算法是一个循环迭代的过程,其模型主要由四个部分构成,如图 2 所示,包括目标检测模型、标记样本集、未标记样本池、人工专家。首先使用少量的标记样本训练模型得到基准模型,通过一定的选择策略从未标记样本中挑选出一个或一批最有用的样本给人工专家审查标记[18],再将这些已经标记的样本加入标记样本集,使用更新的标记样本集再次训练模型。就这样不断更新标记样本集,不断训练检测模型,直到模型性能达到一定标准,停止迭代。

在本研究中首先把已标记的部分样本输入检测模型,训练得到基准检测模型,以及模型平均准确率(mean average precision,MAP);然后用第一次训练的检测模型去预测未标记样本集U中所有未标记的图片,得到每张图片的评价分数,如果图像中有多个对象,我们使用置信度分数的平均值,选择评价分数最低的样本交给人工专家在 vott 标记工具中标记,将标记好的样本加入已标记样本集L中,更新标记样本集;最后,把更新的样本集输入检测模型进行第二次迭代训练,得到新的检测模型。就这样不断更新标记样本,不断迭代训练,不断提高检测模型性能,直到检测模型性能达到较为满意的程度,停止训练,得到稳定的检测模型。
1.2 选择策略
本研究基于主动学习算法,选取了基于不确定性的选择策略[19]。基于不确定性的样例挑选过程中,分类器对于每个未标注样例给出一个置信度分数作为评价分数来表示其不确定性。置信度分数即样本图片中的待检测细胞在某一设定置信区间内是白细胞的概率。如果样本图片中只有单个白细胞,则该白细胞的置信度分数即为该样本的评价分数;如果样本图片中有多个白细胞,该样本评价分数为多个白细胞置信度分数的均值,该均值若大于 0.5,则判定为白细胞(阳性),该均值若小于 0.5,则判定为非白细胞(阴性)。然后将每个未标注样例的评价分数排序,选取一个或者一批样本给人工专家标注,即找到评价分数最接近给定阈值(0.5)的样例给人工专家标记[20]。
本实验中,共选用了 300 张白带显微图像,随机选择了 270 张图片作为训练集,并分成 10 组,经过 10 次迭代训练。选用 30 张图片作为测试集。首先由专家人工标注 27 张样本送入模型训练,得到初次检测模型;然后从未标记样本中随机挑选 27 张样本供初次检测模型检测,得到每张图片的评价分数,评价分数小于 0.5 的直接滤去,评价分数大于 0.5 的予以排序,选取倒数 3 张样本供人工专家标记审查后再加入训练集,其他样本直接加入训练集,就这样不断更新训练集,迭代训练检测模型。
1.3 Faster R-CNN 模型
在主动学习算法中,机器学习模型选择至关重要,本研究选用了 Faster R-CNN 作为主动学习循环结构中的基准检测模型。传统的目标检测流程包括选择候选区域、提取特征、分类与边界回归。Faster R-CNN 所有流程均交给神经网络来完成,相比区域卷积神经网络(region convolutional neural network,R-CNN),Faster R-CNN 训练效率得到了很大提升。Faster R-CNN 模型主要由快速区域卷积神经网络(fast region convolutional neural network,Fast R-CNN)模型和区域建议网络(region proposal network,RPN)构成,两者共享卷积层,其基本流程如图 3 所示。

Faster R-CNN 模型中,首先输入图片,经过卷积层提取输入样本图片的特征图,然后会有两个分支,一个分支直接将特征图输入池化层,另一个分支将提取的特征图送入 RPN 网络,得到 2 000 个候选框 Proposals 送入池化层中,提取出候选框对应的特征,得到固定大小的特征图,最后再通过全连接操作进行分类计算和边框回归来确定待检测目标的位置。
1.3.1 RPN
RPN 最大的特点就是和检测网络共享卷积特征图,很大程度上节省了时间。RPN 最核心的思想是采用 CNN 来生成区域建议框,其实质就是用滑动窗口在 CNN 的最后一层上依次滑动[21-22]。如图 4 所示,滑动窗口对应到特征图,然后将其映射到低维向量。再连接两个全连接层,一个是分类层,其功能主要是判断是不是检测目标,并给出每个检测框的置信度分数;另一个是回归层,其功能主要是对区域建议框进行精修,最后得到待检测目标的精确坐标。

1.3.2 ResNet50
现如今深度学习发展迅速,研究者运用神经网络日渐成熟,但是普遍面临一个问题,随着网络的不断加深,会出现正确率趋于稳定甚至会有下降的表现,本文采用了残差网络 ResNet50 来解决这一问题,如图 5 所示。ResNet 残差网络通过恒等映射,可以将最初的数据 x 传输到深层网络中,而且整个过程不会增加计算[23]。本研究是在 Faster R-CNN 网络中的 RPN 网络和池化层上结合 ResNet50 网络,构成 Faster R-CNN & ResNet50 新网络来实现对白带显微图像中白细胞的自动检测。

1.4 算法评价方法
为了验证方法的有效性,本研究选用了 10 折交叉验证来训练和测试。300 张白带显微图像随机分为 10 组,随机选取一组 30 张样本图片为测试集,剩下 9 组共 270 张样本图片为测试集,选用精确率 Precision、MAP 作为评价参数,最终的评价结果为 10 次测试的均值。
![]() |
![]() |
本研究选用 MAP 对目标检测模型的性能进行评价。公式中 是给定样本图片类别 C 的精度,其可以用图像正确预测的数量除以该类别图像总数来计算,本研究使用每张样本图片中白细胞的置信度均值(取 0.5 为分界点)来判断预测是否正确,N 代表类别个数[24]。
2 实验
2.1 实验数据
本实验数据来自重庆医科大学第一附属医院,采集了 500 张左右的白带显微图像,由于连续拍摄,有部分重复样本,最终统计有 300 张白带显微图像用于深度主动学习。实验所用样本图片均为 1 440 × 960 的白带显微图像,在载物台上的白带涂片放大了 20 倍,在本研究中不需要对样本图片进行预处理。
2.2 实验数据处理
本实验随机选取了 270 张白带显微图像作为训练集,另外的 30 张白带显微图像作为测试集。所有的样本图片均采用 vott 标记工具标记白带显微图像中的白细胞,标记部分样本图片如图 6 所示。

vott 标记好的信息会转换成 CSV 文件存储起来,便于送入模型中训练。标记好的样本图片信息如图 7 所示。标记好的信息包括边框类别 class,边框的位置坐标 xmin、xmax、ymin、ymax 以及边框的高度 height 和宽度 width。

2.3 训练模型及实验结果
首先由专家人工标注 27 张样本送入模型训练,得到初次检测模型。选用基于不确定性的选择策略,迭代训练检测模型,共迭代训练 10 次,每次迭代挑选评价分数倒数的 3 张样本供专家人工审查,即专家共审查标记了 57 张样本。每一次迭代都会用该模型测试一次,每迭代一次,模型的检测性能都会相应提高,最终该模型的检测 MAP 均值达到 90.6%。10 次交叉验证中,迭代 MAP 变化如图 8 所示。

本研究选取了 CNN 中经典的 LeNet-5 网络和 Faster R-CNN 网络作为对比方法。由表 1 可见,相比其他方法,采用同样的训练集和测试集,主动学习仅标记了约 1/5 的白带显微图像,专家仅花费了约 1/5 的时间人工标记白细胞,主动学习训练得到的模型检测结果比其他方法更好。可见,在同等条件下,主动学习算法可以标记少量的样本图片训练检测模型即能达到较好的效果,用较少的标注代价获得了较好的检测模型。

主动学习算法测试样本的测试结果如图 9 所示,每张白带显微图像中白细胞都用红色边框标记,并显示了置信度分数。

3 讨论
白带中白细胞的多少可以直接表征阴道疾病的严重程度,因此本研究对白带显微图像中的白细胞自动检测具有重要意义。当前机器学习已广泛应用于细胞检测,但还存在一定的缺陷,在训练模型之前需要对图像进行预处理,比如图像分割、去噪、滤波、图像人为提取特征等,过程繁琐,计算量大。要训练好模型,一般有标记的数据越多越好,成本高,工作周期长,且处于视觉疲劳的情况下容易误判漏判,产生大量冗余样本并加入训练,从而影响模型的检测性能。针对以上问题,本研究采用深度主动学习算法来实现对白带显微图像中白细胞的自动检测,首先选取 Faster R-CNN & ResNet50 作为基准检测模型,Faster R-CNN 可以加快训练速度,ResNet50 使模型的准确率不会随着网络的加深而降低。然后采用主动学习算法,使用少量的人工标记样本训练模型,模型检测出最不确定的样本交由人工专家判断。相比其他机器学习方法,本研究选用的样本图片质量更高,减少了冗余样本,人工标注时间减少,模型准确率更高,检测器性能更好。
此外,本研究在其他条件相同的情况下,选用 LeNet-5 网络模型作为对照实验,随机选取的 270 张图片作为训练集,30 张图片作为测试集。在深度主动学习中专家首先仅人工标注 27 张样本图片,之后只需要标记模型挑选出来的最不确定的样本图片,然而 LeNet-5 网络则需要专家一次性标注 270 张样本图片作为训练集,实验表明 CNN 网络人工标记的时间大约是深度主动学习人工标注时间的 4 倍。而且从最后的训练模型性能可以看到,深度主动学习检测准确率达到了 90.6%,而 LeNet-5 只有 73.3%。由此可见,深度主动学习不仅节约了人工标注时间,还大大提高了模型的性能。近年来,电子科技大学研究过用 LeNet-5 来实现对白带显微图像中白细胞的自动检测,人工标记了 10 000 张白带显微图像作为训练集,检测准确率趋于稳定,最高达到 89.5%[10]。由此可见,本研究采用的深度主动学习算法能够使用少量标记样本达到与近期发表方法相当的模型性能,在保证分类器精度不降低的前提下,减少了人工标记代价,标注样本质量高,减少了冗余样本,缩短了模型训练的时间和空间。
当然,本研究对白带显微图像中的白细胞自动检测也存在一些缺陷。检测模型存在一定的误检和漏检。例如,由于线索细胞的细胞核和白细胞形态相似度高,容易出现误检,如图 10所示。同时,模型的检测 MAP 还受到样本图片背景环境的影响,有的白带显微图像背景复杂,导致检测不准确。因此,在复杂背景下精确检测白细胞,不断提高模型检测准确率,是我们未来研究的方向。在后续的研究中,将会对模型进行改进以进一步提高其检测性能。主动学习算法中最关键的步骤就是选择策略,后续研究将从这里切入,想要从两个不同的卷积层输出检测结果,如果模型对一个目标检测效果好,那么两个 layer 输出的结果应该基本一致,将引入一个 margin 函数作为两层输出结果的差值,用这个 margin 值来评价模型的检测性能,差值越小,说明模型检测性能越好。这将是后续研究的方向。

4 结论
白带常规检查是比较重要的妇科检查项目,白带显微图像中白细胞的多少直接表征了女性阴道疾病的严重程度,白细胞越多,阴道感染越严重,所以对白带显微图像中白细胞的自动检测具有重要的临床价值。本研究中,结合使用主动学习算法和 Faster R-CNN 深度检测网络,实现了对白带显微图像中白细胞的自动检测,检测效果良好,模型检测 MAP 达到了 90.6%。相比于其他基于深度学习的目标检测方法,本研究主要采用主动学习算法,训练过程中尽可能选择了高质量的样本,减少冗余样本,在保证分类器精度不降低的前提下尽量降低人工标注的代价,有着重要的临床推广价值。
利益冲突声明:本文全体作者均声明不存在利益冲突。