ePillID 数据集: 用于药丸识别的低射细粒度基准数据集

paper:【2020】ePillID Dataset: A Low-Shot Fine-Grained Benchmark for Pill Identification

概述

该文介绍了 ePillID,一个用于药丸图像识别的大型公共基准,包含了13,000张图像,代表了9,804种外观类别。这个基准在低样本识别设置下进行了评估,大多数外观类别只有一张参考图像。研究表明,使用多头度量学习方法双线性特征的最佳基线表现出色,但仍然存在难以区分的类别。这个基准对于改进药丸图像识别系统具有重要意义。

1. Introduction

美国每年至少发生150万起可预防的药物不良事件(ADE)。[22]第20段。与ADE相关的用药错误可能发生在书写或填写处方时,甚至在服用或管理药物时[1]。例如,药剂师必须验证药房每天分发的数千粒药丸,这一过程在很大程度上是手动的,容易出错。慢性病患者和老年患者经常将药丸与原始处方瓶分开,这可能导致混淆和错误管理。许多错误是可以避免的;然而,具有视觉上相似特征的药丸难以识别或区分,从而增加了出错的可能性。
在这里插入图片描述
图1:参考图像(顶行)和相应的消费者图像(底行)的代表性实例。示出了两种药丸类型(分别为NDC:00093-7180和NDC:50111-0441)的两侧(正面和背面)。

可用于基于视觉的方法的药丸图像分为两类:参考和消费者图像(图1)。参考图像是在受控照明和背景下以及用专业设备拍摄的。对于大多数药丸,每面一个图像(每种药丸类型两个图像)可从美国国立卫生研究院获得(NIH)Pillbox数据集[36]。消费者图像是在真实世界的设置下拍摄的,包括不同的照明、背景和设备。构建药丸图像数据集,特别是针对处方药,是昂贵的,并且具有额外的监管障碍,因为处方药需要临床医生的订单来分配。标记的数据集是稀缺的,即使是未标记的图像也很难收集。这种设置要求模型从很少的训练示例中学习表示。现有的基准要么不是公开可用的,要么规模较小,不适合开发现实世界的药丸识别系统。
在这里插入图片描述
图2:药丸的形状和颜色分布。对于注册有多种颜色的药片,我们将其归类为“其他”。省略小于0.1%的组合。

在药丸识别任务中,药丸的形状和颜色在不同类别之间具有明显的分布差异,因此需要准确地区分细微差异,包括材料、压印文本和符号等方面的差异。细粒度视觉分类(FGVC)仍然是一项具有挑战性的任务。FGVC任务需要区分视觉上非常相似的类别,包括自然类别如鸟、狗和植物,以及人造物体如汽车和飞机。研究的重点是药丸识别任务,这是一个在医疗保健领域中重要且不充分开发的FGVC任务。

文章的主要贡献是介绍了一个名为ePillID的新药丸识别基准,该基准针对现实世界中的低拍摄识别设置。这个基准使用了两个现有的NIH数据集,其中包含了代表9804个外观类别的13,000张图像,涵盖了4902种不同类型的药丸。这是一个挑战性的细粒度任务,因为对于大多数外观类别只有一个图像,并且许多药丸外观非常相似。

为了建立基线,研究还经验性地评估了各种方法,包括标准的图像分类方法和基于度量学习的方法。最后,文章提出了错误分析,以激励未来的研究方向。

2. Related Work

基于图像的药丸识别:过去几年有一些重要的发展。2016年,美国国立卫生研究院(NIH)举办了一场药丸图像识别挑战赛,提供了一个包含1,000种不同药丸类型的数据集。比赛的赢家采用了基于深度相似性的方法,并使用知识蒸馏技术开发了一个适用于移动设备的版本。然而,在后续竞争中,基于分类的方法报告了更高的识别性能。此外,还提出了各种特征工程方法,包括使用Hu矩等旋转不变特性以及生成印记特征的方法,以认识到印记对于药丸识别的重要性。

尽管过去的研究取得了显著成功,但缺乏适用于真实世界低拍摄设置的公开基准数据集,这限制了方法的发展。最近,一些研究团队创建了包含数百到数千种药丸类型的数据集,用于纠正几何和颜色失真,但遗憾的是这些数据集并没有公开发布,因此无法广泛使用。

因此,药丸图像识别领域需要更多的公开数据集和基准,以便研究人员能够开发更适用于实际医疗保健应用的方法。这些发展将有助于提高药丸识别的性能和实用性。

细粒度视觉分类(FGVC):FGVC数据集类别数量较少,通常不超过200个。然而,最近出现了一些大规模数据集,包含大量具有众多图像的类别,这些数据集具有具有挑战性的长尾分布,例如,一些数据集包含了超过5000个类别,其中每个类别都有数百甚至数千个训练图像。

与其他FGVC基准测试不同,ePillID基准测试的数据分布采用了低拍摄设置,即大多数类别只有一个图像,同时具有大量类别,总计达到8,000多个外观类别。

在解决FGVC任务中,一些算法通过捕获特征通道之间的高阶相互作用来实现显著的性能提升,其中双线性模型是其中之一的方法。例如,B-CNN通过计算特征图每个位置的外积来获得完整的双线性特征,并在所有位置进行池化。然而,全双线性特征可能会非常高维,因此紧凑型双线性池(CBP)通过近似减少维度,有时在某些情况下表现更好。

此外,度量学习方法也在FGVC任务中取得了成功,这些方法学习嵌入空间,以捕获类别和图像之间的语义相似性。度量学习也已经成功应用于少量和低拍摄设置,使其适用于ePillID基准测试。

3. ePillID Benchmark

本文构建了一个名为ePillID的新的药丸识别基准,利用了NIH挑战数据集和NIH Pillbox数据集。我们以ePillID为基础,该数据集包含消费者的药丸图像,并通过扩展它与Pillbox数据集中的参考图像来构建ePillID数据集。
在这里插入图片描述
图3:ePillID基准上参考图像和消费者图像的分布。参考图像可用于4902种药丸类型,而消费者图像仅可用于960种药丸类型。该数据集包括9804个参考图像(每种药丸类型的两个图像,正面和背面)和3728个消费者图像。

ePillID数据集包括了总共3728张消费者图像,涵盖了1920个外观类别,这相当于960种不同药丸类型的两侧,以及9804个参考图像,代表了4902个不同药丸类型的两侧。这个数据集呈现了一个细粒度的低拍摄设置,其中模型可以访问所有9804个外观类别的一个参考图像,但对于1920个外观类别,只有很少的消费者图像可供使用。

实验设置

数据划分:消费者图像被分成两个子集,其中80%被用作训练集,而20%被保留为保留集。药丸类型是相互排斥的,这意味着每张图片只属于一个药丸类型。训练集进一步分成4个子集,以进行4重交叉验证。这意味着数据被划分成4个部分,模型将依次用其中3个部分进行训练,然后在第4个部分上进行评估,循环4次,以确保全面评估模型性能。
模型训练:模型可以访问所有4902种药丸类型的参考图像,这些图像用于模型的训练。但是,在训练期间,对于大多数药丸类型,消费者图像是不可用的,因为消费者图像是测试集的一部分。
评估方法:为了评估模型性能,构建了双侧查询,其中对于每个药丸类型,考虑了所有可能的消费者图像对(正面和背面图像)。对于每个查询,模型将计算具有置信度分数的药丸类型的有序列表。
评估指标包括:
平均精度(MAP):为每个查询单独计算平均精度分数,并计算所有查询的平均值。它衡量了在给定查询的情况下,模型预测正确的药丸类型的能力。
全局平均精度(GAP):对所有查询和药丸类型对进行独立处理,并计算全局的平均精度分数。GAP衡量了排名性能和置信度分数的一致性。
MAP@1 和 GAP@1:仅考虑每个查询的顶部药丸类型的性能评估。
这种评估方法可以帮助衡量模型在识别药丸类型方面的性能,特别是在考虑不同视角(正面和背面)的情况下。

4. Experiments

我们首先介绍我们的基线方法,然后提出定量和定性的结果。

4.1. Baseline Models

在研究中,我们采用了两种在ImageNet上预训练的基础神经网络,分别是ResNet和DenseNet,作为初始权重来构建我们的模型。这些基础网络在图像分类任务中表现出色。

除了使用全局平均池化层来提取特征之外,我们还尝试了两种双线性方法,即B-CNN和CBP,将它们应用于基础网络的最终池化层。具体地:

对于CBP(紧凑型双线性池),我们使用了他们的Tensor Sketch投影,将维度降低到8192个维度,这被认为接近最佳性能。
在进行CBP之前,我们插入了一个1x1卷积层,将维度降低到256,以便更好地处理特征。
这些方法和步骤旨在提取和处理图像特征,以便模型可以进行药丸类型的准确识别。

普通分类:

模型训练:首先,我们使用标准的 softmax 交叉熵损失函数来训练模型。这是常用于图像分类任务的一种损失函数,用于衡量模型的预测与真实标签之间的差异。在训练过程中,我们使用外观类别作为目标标签。

正则化:为了避免模型过拟合训练数据,我们在最终分类层之前添加了一个概率为0.5的 dropout 层。Dropout 是一种正则化技巧,它在每个训练步骤中以一定的概率随机关闭一部分神经元,从而减少模型对特定数据点的依赖,提高模型的泛化能力。

预测置信度分数:在模型训练后,我们使用训练好的模型进行预测。对于每个输入图像,模型会为每个可能的药丸类型生成一个 softmax 分数,表示该图像属于每个类别的概率分布。我们取这些 softmax 分数中的最大值,作为对于该图像的药丸类型的置信度分数。这个分数越高,表示模型越有信心认为这个图像属于特定的药丸类型。

双侧评估:在双侧评估的情况下,我们考虑了正面和背面图像作为输入。为了得到最终的评分,我们对这两个图像的置信度分数进行平均。这样的做法可以综合考虑两个视角的信息,提高了对药丸类型的预测性能。

多头度量学习:

多任务学习:在这个设置中,采用了四种不同的损失函数的组合来学习一个优化的嵌入空间,以便进行细粒度低拍摄识别。这是一个多任务培训过程,其中总损失函数L_final由四个不同的损失组成:softmax交叉熵损失(L_SCE)、cosinesoftmax损失(L_η)、三重态损失(L_ρ)和对比损失(L_Γ)。

损失权重:每个损失都有一个与之关联的权重,用λ_SCE、λ_η、λ_ρ和λ_Γ表示。这些权重是根据经验选择的,用来平衡每个损失函数的贡献。选择适当的权重对于训练模型非常重要,以确保各种损失函数的组合能够有效地学习。

损失函数:

softmax交叉熵损失 (L_SCE):用于分类问题的标准损失函数。
cosinesoftmax损失 (L_η):一种基于余弦相似性的损失函数,用于度量样本之间的相似性。
三重态损失 (L_ρ):一种用于细粒度识别的损失函数,旨在更好地区分相似类别。
对比损失 (L_Γ):一种损失函数,用于鼓励相同类别的样本之间的嵌入距离更接近,不同类别的样本之间的距离更远。
训练过程:

为了计算每个小批量的损失,需要额外的采样和配对程序,特别是对于三重态和对比损失。在线hard example挖掘技术用于找到三元组信息中的负例,以及用于评估这些损失的样本对。
训练模型的目标是生成查询消费者图像和所有参考图像的嵌入。
余弦相似性用于计算查询和参考嵌入之间的相似性,然后将这些相似性分数用作置信度得分。
这种多头度量学习方法旨在通过多个损失函数来学习更好的特征表示,以提高细粒度低拍摄识别任务的性能。不同的损失函数捕获了不同的特征和相似性信息,从而增强了模型的鲁棒性。

实现细节

图像预处理:输入图像被裁剪和调整为固定的大小,即224 × 224像素。这是为了确保输入图像具有一致的尺寸,以便模型可以有效地处理它们。

数据增强:广泛的数据增强技术被应用于训练数据,以模仿消费者图像的变化。这包括对图像进行旋转和透视变换,以增加数据的多样性和模型的鲁棒性。

优化器:Adam优化器被用于模型的训练,初始学习率设置为1 × 10^(-4)。Adam是一种有效的梯度下降优化算法,用于调整模型参数以减小损失函数。

学习率策略:当验证GAP分数出现平稳时,学习速率会减半。这是一种常见的学习率调整策略,用于帮助模型在训练后期更好地收敛。

模型超参数:选择模型的超参数是通过使用4倍交叉验证来优化平均验证GAP得分完成的。这是一种通过不同训练和验证数据集的组合来评估模型性能的方法。

训练硬件:训练过程是在一台配备英特尔至强E52690 CPU、112GB RAM、一个NVIDIA Tesla P40 GPU、CUDA 8.0和PyTorch 0.4.1的机器上完成的。这个配置提供了足够的计算能力来训练深度神经网络模型。

这些设置和超参数的选择都是为了确保模型在训练过程中能够有效地学习和泛化,以获得较高的性能。

4.2. Quantitative Results

在这里插入图片描述
在表1中,研究报告了ePillID基准测试的不同基线结果,以评估在低拍摄细粒度设置下的模型性能。以下是对这些结果的总结:

普通分类基线:普通分类基线的性能较差,远远低于度量学习基线。这表明在低拍摄细粒度设置下,传统的分类方法难以有效识别药丸类型。模型之间的性能差异与它们在ImageNet上的预训练性能一致,即在低拍摄设置下,ImageNet上的性能并不一定能够直接迁移到细粒度任务上。

多头度量学习模型:多头度量学习模型表现出非常出色的性能,实现了超过95%的平均精度(MAP)和90%的GAP@1(全局平均精度@1)。这意味着这些模型在细粒度药丸识别任务中非常成功,能够准确地识别药丸类型。

双线性池方法:在多头度量学习模型中,双线性池方法表现优于全局平均池方法,显示了双线性特征的表示能力。这些方法能够更好地捕捉不同药丸类型之间的关系,从而提高了性能。

单面实验:研究还报告了单面实验结果,其中每个查询只有一个图像。使用ResNet 152度量学习方法实现了相对较好的MAP和GAP@1,但结果表明,在低拍摄细粒度任务中,要准确识别药丸类型需要更多的信息,即正面和背面图像的综合考虑。

综合来看,多头度量学习模型和双线性池方法在ePillID基准测试中表现出色,为细粒度药丸识别任务提供了强大的性能。这些结果强调了在低拍摄细粒度设置下,模型的特征学习和相似性度量非常重要。

4.3. Qualitative Results

在这里插入图片描述
图4提供了来自ePillID保留数据集的实例图像,以定性比较不同模型的性能。以下是对这些图像的描述和比较:

(a):在这个示例中,简单分类方法在具有挑战性的照明和背景变化的情况下,仍然成功地识别了药丸类型,即使接近误分类。这可能表明对于某些相对简单的情况,传统的分类方法仍然可以工作。

(b):在这个示例中,仅使用CBP方法的度量学习模型能够正确识别药丸类型,这表明CBP在捕获压印文本中的小差异方面非常有效。CBP方法可能更适合处理细微的特征差异。

(c)和(d):在这两个示例中,所有四个模型都未能正确识别药丸类型。在(c)中,消费者图像受到发光药丸材料的照明变化的影响,这对模型构成了挑战。在(d)中,除了印记文本中的一个字符差异之外,药丸类型具有极其相似的外观,这使得任务更加困难。

总的来说,这些示例突出了在细粒度低拍摄识别任务中的挑战性质。尽管度量学习方法在大多数情况下表现出色,但仍然存在一些极端情况,其中所有模型都无法正确识别药丸类型。这强调了细粒度任务的复杂性,需要对各种因素和变化具有鲁棒性。

5. Conclusion

ePillID基准的主要贡献和未来计划:
ePillID基准介绍:ePillID是一个低拍摄的精细粒度药丸图像识别基准。它是第一个公开可用的基准,旨在支持在现实世界的低拍摄设置下开发药丸识别系统。

基线模型评估:基准使用各种基线模型进行了初步评估,发现多头度量学习方法表现出色。然而,误差分析显示这些模型仍然难以可靠地区分容易混淆的药丸类型。

未来计划:未来的工作计划包括集成光学字符识别(OCR)模型,以进一步提高识别性能。尽管OCR集成在其他任务中已经被研究,但在药丸图像中的挑战包括低对比度的压印文本、不规则形状的布局、词汇以及不同药丸材料的多样性。

扩展基准:计划在收集更多数据时扩展基准测试,包括更多的药丸类型和图像。这将有助于更全面地评估药丸识别系统的性能。

通过发布ePillID基准,研究人员希望促进医疗保健领域的进一步研究,解决这一未充分探索但重要的任务,为患者提供更好的医疗服务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值