绿色检查
链接复制到剪贴板

使用Ultralytics YOLO11深入检测药丸

在本编码教程中,您将学习如何使用YOLO11 和医疗药片数据集检测药片。此外,还将探讨其潜在应用和优势。

几乎所有行业都在使用人工智能,但人工智能对医疗保健,尤其是制药业的影响尤为巨大。今年,人工智能在医药 市场的价值为 19.4 亿美元,预计到 2034 年将增长到 164.9 亿美元。 

计算机视觉是推动这一市场发展的关键技术。与传统的图像处理不同,计算机视觉是人工智能的一个子领域,能让机器实时理解和分析视觉数据。 

图 1.医药市场中的人工智能概述。

在制药行业,即使是最小的错误也可能造成严重后果,而视觉人工智能为提高安全性和精确度提供了可靠的新方法。  

例如 Ultralytics YOLO11是一种计算机视觉模型,专为物体检测和实例分割等实时任务而设计,可用于识别药丸或检测医疗包装缺陷等应用。 

在本文中,我们将介绍如何通过训练YOLO11 检测药丸来亲身体验视觉人工智能。我们还将探索它在现实世界中的应用。让我们开始吧!

建立药片检测人工智能模型

在深入探讨如何训练YOLO11 来检测药丸之前,我们先来了解一下训练模型的意义以及数据集的作用。 

训练模型包括通过向模型展示大量示例,教它识别模式。在这种情况下,数据集是一组图像,每张图像都标注了药丸的位置。这一过程有助于模型从这些示例中学习,以便以后在新的图像中识别药丸。

Ultralytics Python 软件包以精简的YOLO 文件格式支持各种数据集,使这一过程变得更加简单。它们可以轻松访问流行的数据集,并为药片检测等应用提供支持。 

例如,医用药片数据集是一个专门的概念验证集,旨在展示物体检测如何通过质量控制、分类和假冒检测等任务改进制药工作流程。

选择开发环境

在开始使用Ultralytics Python 软件包进行培训之前,另一个需要考虑的因素是选择合适的开发环境。以下是三种常用的选择:

  • 命令行界面(CLI): CLI 或终端是一种基于文本的简单工具,您可以在此输入命令来运行代码并与计算机交互。

  • Jupyter 笔记本:这是一种交互性更强的环境,您可以在其中以小块(单元)的形式编写和运行代码,这样就可以轻松地边测试边调试。

  • Google Colab:基于云的选择,工作方式与 Jupyter Notebooks 相似,但有免费GPU 访问的额外优势,因此您不必担心在本地设置任何东西。

你还可以在 Ultralytics 官方文档中找到其他设置选项,但上面提到的三个选项都很容易设置和使用,是快速上手的最佳选择。

在本指南中,我们将重点介绍如何使用Google Colab、Jupyter Notebooks 或基本Python 脚本设置和训练YOLO11 ,因为在这些环境中的过程都非常相似。

此外,本教程与我们之前介绍的使用YOLO11 检测野生动物的教程非常相似。如果您对本编码教程中任何步骤的更多细节感兴趣,可以查看。

利用YOLO探索实时药丸检测数据集

医用药片数据集包括 92 张训练图像和 23 张验证图像,为构建和测试模型提供了坚实的基础。训练图像用于教授模型,而验证图像则有助于评估模型在新的未知数据上的表现。 

数据集中的每张图像都只标注了一个类别,即药片。边界框注释清楚地标注了每粒药丸的位置,使数据集成为药丸检测等重点任务的理想选择,而无需处理多个对象类别的复杂性。

图 2.医用药片数据集一瞥。

为了支持YOLO11训练,Ultralytics 提供了一个YAML 配置文件,用于定义模型训练所需的文件路径、类名和元数据等关键参数。无论您是对预训练模型进行微调,还是从头开始训练,该文件都能简化训练过程,帮助您快速上手。

在药片数据集上训练Ultralytics YOLO 模型

首先,我们将建立一个用于训练和测试模型的环境。您可以根据自己的喜好选择使用Google Colab、Jupyter 笔记本或简单的Python 文件。只需在你选择的环境中创建一个新的笔记本或Python 文件即可。

然后,我们就可以使用下面的命令设置环境并安装Ultralytics Python 软件包了。如果你使用的是基于笔记本的环境Google Colab 或 Jupyter),请运行以下以感叹号(!)开头的命令。

pip install ultralytics

安装完成后,下一步就是下载并使用医用药片数据集训练YOLO11 。由于Ultralytics Python 软件包支持该数据集,因此过程非常简单。 

了解模型训练过程

首先,我们可以从Ultralytics 软件包中导入YOLO 类。然后,我们可以从文件 "yolo11n.pt "中加载一个预训练的YOLO11 模型,推荐使用该模型,因为它是一个轻量级的纳米模型。 

最后,我们可以将模型指向我们的数据集配置(medical-pills.yaml),并将训练历元数(对整个数据集进行一次完整遍历)设置为 100,从而开始训练过程,如下图所示。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

results = model.train(data="medical-pills.yaml", epochs=100)

多历元训练可以让模型不断学习并提高性能。您可以在 "runs/train/"子文件夹中找到保存的日志和检查点,用于监控进度和查看模型性能。

训练完成后,自定义训练的YOLO11 模型应能准确识别药片。您可以在名为 "best.pt "的 "runs/detect/train/weights/"子文件夹中查找最终训练好的模型权重。

模型训练后评估YOLO11

为了评估模型在检测药丸方面的学习效果,我们可以进行如下验证:

metrics = model.val()

这一过程会返回常见的物体检测指标,从而帮助我们深入了解模型的性能。下面我们来详细了解其中的一些指标:

  • 精确度:
  • 召回率:
  • 平均精度 (mAP):该指标综合了不同检测阈值下的精确度和召回率,从而得出总体性能得分。

这些指标结合在一起,可以全面反映模型在未见过的新数据中检测药丸的准确性。 

如果模型的表现不如预期,您可以尝试训练更多的历元或微调其他训练参数,如学习率(控制模型优化过程中步骤的大小)或图像大小,以进一步提高模型的性能。

使用自定义训练的YOLO11 模型运行推论

YOLO11 模型经过训练和评估后,下一步就是测试它在未见过的新图像上的表现。这有助于模拟真实世界的条件,例如检测不同光线、排列或包装样式的药片。

为了测试该模型,我们从免费图片库网站Pexels 下载了一张样本图片,并使用自定义训练的YOLO11 模型对图片进行了分析或预测,如下文代码片段所示。 

您可以使用该示例图像或任何其他相关图像来评估模型在实际场景中的表现。 

results = model.predict("path/to/image.jpg", save=True, conf=0.3)

保存选项可让模型存储输出图像,而置信度设置可确保结果中只包含至少 30% 确定性的预测。

运行预测时,输出将显示一条信息,告诉您保存图像的位置,例如 "结果保存到 runs/detect/train" 。

您的输出图像将与此处显示的图像相似,图像中检测到了药丸,并使用边界框突出显示。显示的置信度分数表示每次检测的确定程度。

图 3.使用YOLO11 进行药丸检测。

在制药领域使用YOLO11 实际应用

现在,我们已经了解了如何使用医用药片数据集训练YOLO11 并在图像上运行推理以检测药片,让我们来看看YOLO11在制药行业的实际应用。

使用YOLO11分拣药丸

使用YOLO11 进行药片自动检测可用于药品分拣。人工分拣通常速度慢、重复性高,而且容易出错,从而影响药品的安全性和合规性。 

通过使用经过微调的YOLO11 模型,我们可以根据尺寸、形状和颜色等视觉属性对药丸进行精确检测和分类。这种自动化技术加快了流程,有助于确保产品符合严格的质量标准,是制药业务中的重要工具。

图 4. 借助YOLO11 检测药丸。

借助YOLO11监测清单

及时储备正确的药品不仅仅是一项后勤任务,它还会影响患者护理和成本。关键药品库存不足可能会延误治疗,而库存过多则会导致药品过期和库存浪费。制药行业的药片种类繁多,包装各异,自动化库存系统可以实现更准确的记录。

智能库存系统可以使用Ultralytics YOLO11 等计算机视觉模型来实时监控库存水平。该模型可以使用图像或视频扫描货架和包装区域,以检测和清点药丸。当库存水平发生变化时,无论是添加、移除还是移动物品,系统都能自动更新计数。

由YOLO11驱动的制药质量控制

药品生产中,质量控制对于确保每粒药片安全有效至关重要。即使是微小的缺陷,如裂缝、形状不均匀或轻微的颜色变化,也可能导致剂量错误或产品召回。 

YOLO11 可以自动检测出不符合质量标准的药片。该模型可以学习视觉特征,并使用边界框实时标记碎片、褪色印记或变色等问题。这样就能及早清除有问题的药片,减少浪费,并保证只有质量有保证的药品才能送到患者手中。

除此以外,YOLO11 还可用于在检测药丸时对其进行检测和计数,以便在监控质量的同时进行准确跟踪。 

图 5.YOLO11 可用于检测和计数胶囊。

使用视觉人工智能检测药片的利弊 

既然我们已经探讨了视觉人工智能如何应用于制药行业。让我们快速了解一下在这一领域使用计算机视觉的一些主要优势:

  • 预测性维护: YOLO11 可通过识别药丸或包装不一致来检测机器磨损的早期迹象。
  • 可扩展的模型使用: 该模型可在各种数据集上针对不同的药丸和包装进行微调。
  • 远程监控: 与云系统和边缘设备集成后,可进行实时质量检查,是管理农村配药机、自动化设备和远程远程药房设置的理想选择。

在制药行业实施视觉人工智能有很多好处,但在使用这类技术时也要注意一些问题: 

  • 操作集成:
  • 遵守法规:
  • 错误管理: 即使是先进的模型也会产生误报或误判。制定处理和纠正这些错误的流程非常重要。

人工智能制药工作流程的未来之路

未来,人工智能可能会在使临床试验更快、更智能、更具成本效益方面发挥更大作用。它可以帮助设计更好的试验方案、选择合适的患者群体并实时监控数据。 

这可以让研究人员在问题出现时,而不是在事后做出反应。人工智能还可以通过减少人工文书工作和自动化例行检查来加快审批流程。总之,将人工智能融入制药工作流程可以减少延误,加快新疗法的获得。

主要收获

在医用药丸数据集上对Ultralytics YOLO11 进行的训练表明,该模型能够快速有效地适应制药任务。即使数据集很小,它也能准确地检测出药丸,因此在分类、质量控制和库存跟踪等方面非常有用。

随着数据集的增长和模型的改进,Vision AI 在制药业的应用潜力将不仅仅局限于物流。这项技术还可以支持临床试验,帮助进行一致的药片识别和跟踪,并协助研究人员安全地测试新的药物组合。 

探索我们的 GitHub 存储库,了解更多信息,成为我们不断发展壮大的社区的一员。探索各个领域的前沿创新,从农业中的人工智能医疗保健中的计算机视觉。查看我们的许可选项,立即启动您的人工智能视觉项目。

LinkedIn 徽标Twitter 徽标Facebook 徽标复制链接符号

在此类别中阅读更多内容

让我们共同打造人工智能的未来

开始您的未来机器学习之旅