关于使用 Ultralytics YOLO11 检测药片的深度解析
在本编码教程中,学习如何使用 YOLO11 和 Medical-Pills 数据集检测药片。同时,探索其潜在的应用场景和优势。

人工智能正被应用于几乎所有行业,但它对医疗保健(尤其是制药业)的影响尤为显著。今年,AI in the pharmaceutical 市场的估值为 19.4 亿美元,预计到 2034 年将增长到 164.9 亿美元。
推动这一市场发展的一大关键技术驱动力是计算机视觉。与传统的图像处理不同,计算机视觉是人工智能的一个子领域,它使机器能够实时理解和分析视觉数据。

Fig 1。制药市场人工智能概览。
在制药行业,即使是最小的错误也可能导致严重的后果,而视觉 AI 提供了提高安全性和精度的全新且可靠的方法。
例如,Ultralytics YOLO11 是一种专为实时任务(如目标检测和实例分割)设计的计算机视觉模型,可用于识别药片或检测医疗包装缺陷等应用。
在这篇文章中,我们将带你通过训练 Ultralytics YOLO11 来检测药丸,从而动手实践视觉 AI。我们还将探讨其现实世界中的应用。让我们开始吧!
构建药丸检测 AI 模型#
在我们深入探讨如何训练 Ultralytics YOLO11 来检测药丸之前,让我们先退一步,理解一下训练模型意味着什么以及数据集的作用。
训练模型涉及通过向其展示大量示例来教会它识别模式。在这种情况下,数据集是一个图像集合,其中每张图像都被标记以指示药丸所在的位置。这个过程有助于模型从这些示例中学习,以便稍后能够在新的图像中识别药丸。
Ultralytics Python package 通过以精简的 YOLO 文件格式支持各种数据集,让这个过程变得更加简单。它们提供了对popular datasets的无忧访问,并为药片检测等应用提供支持。
例如,Medical Pills Dataset 是一个专门的概念验证集合,旨在展示目标检测如何通过质量控制、分类和防伪检测等任务来改善制药工作流程。
选择开发环境#
在使用 Ultralytics Python 软件包开始训练之前,你需要考虑的另一个因素是选择合适的开发环境。以下是三个热门选项:
- 命令行界面 (CLI): CLI 或终端是一个简单的、基于文本的工具,你可以在其中输入命令来运行代码并与计算机交互。
- Jupyter Notebooks: 这是一个更具交互性的环境,你可以在其中以小块(单元格)的形式编写和运行代码,从而轻松地进行实时测试和调试。
- Google Colab: 一个基于云的选项,其工作方式类似于 Jupyter Notebooks,但额外附带免费的 GPU 访问权限,因此你不必担心在本地进行任何设置。
你可以在官方 Ultralytics documentation中探索其他设置选项,但上面提到的三个选项易于设置和使用,是快速入门的绝佳选择。
在本指南中,我们将重点介绍如何使用 Google Colab、Jupyter Notebooks 或基本的 Python 脚本来设置和训练 Ultralytics YOLO11,因为在这些环境中的操作过程都非常相似。
此外,本教程与我们先前介绍的关于使用 Ultralytics YOLO11 检测野生动物的教程非常相似。如果你对本编码教程中的任何步骤感兴趣,可以查看它。
探索用于实时药丸检测的 YOLO 数据集#
Medical Pills Dataset 包含 92 张训练图像和 23 张验证图像,为构建和测试你的模型提供了稳健的拆分。训练图像用于教授模型,而验证图像有助于评估模型在新的、未见数据上的表现。
数据集中的每张图像都被标记为一个单一类别:药丸。边界框注释清晰地标记了每个药丸的位置,使该数据集非常适合药丸检测等重点任务,且无需处理多个对象类别的复杂性。

图 2. Medical Pills Dataset 一瞥。
为了支持使用 YOLO11 进行训练,Ultralytics 提供了一个YAML configuration file,其中定义了模型训练所需的关键参数,如文件路径、类名和元数据。无论你是微调预训练模型还是从头开始,这个文件都能让过程变得更加简单,并帮你快速上手。
在药丸数据集上训练 Ultralytics YOLO 模型#
首先,我们将为training和测试模型设置一个环境。你可以根据自己的喜好选择使用 Google Colab、Jupyter Notebooks 或简单的 Python 文件。只需在你选择的环境中创建一个新的笔记本或 Python 文件即可。
然后,我们可以设置环境并使用下方显示的命令安装 Ultralytics Python 软件包。如果你使用的是基于笔记本的环境(Google Colab 或 Jupyter),请在开头加上感叹号 (!) 运行以下命令。
pip install ultralytics安装完成后,下一步是下载并使用 Medical Pills 数据集训练 YOLO11。由于 Ultralytics Python 软件包支持该数据集,因此过程很简单。
理解模型训练过程#
首先,我们可以从 Ultralytics 软件包中导入 YOLO 类。然后,我们可以从文件“yolo11n.pt”加载预训练的 YOLO11 模型,鉴于它是 nano 模型且轻量化,因此推荐使用它。
最后,我们可以通过将模型指向我们的数据集配置 (medical-pills.yaml) 并将训练周期数(对整个数据集进行一次完整遍历)设置为 100 来开始训练过程,如下所示。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="medical-pills.yaml", epochs=100)进行多个周期的训练可以让模型在每次遍历中学习并提高其性能。你将能够在“runs/train/”子文件夹中找到保存的日志和检查点,你可以使用它们来监控进度并审查模型的性能。
训练完成后,自定义训练的 YOLO11 模型应该能够准确地识别药丸。你可以在“runs/detect/train/weights/”子文件夹下找到以“best.pt”命名的最终训练模型权重。
在模型训练后评估 Ultralytics YOLO11#
为了评估模型学习检测药丸的效果,我们可以运行验证,如下所示:
metrics = model.val()此过程会返回常见的目标检测指标,从而让你深入了解model's performance。以下是其中一些指标的详细说明:
- 精确率 (Precision): 它衡量模型检测到的药丸中正确的比例。
- 召回率 (Recall): 它表示模型成功识别出的实际药丸的比例。
- 平均精度均值 (mAP): 该指标结合了各种检测阈值下的精确率和召回率,以给出一个综合性能评分。
总之,这些指标全面展示了模型在新的、未见数据中检测药丸的准确程度。
如果你的模型表现不如预期,你可以尝试增加训练轮数(epochs),或者微调其他training parameters(例如控制模型优化期间步长大小的学习率,或者图像大小),以进一步提升其性能。
使用你自定义训练的 Ultralytics YOLO11 模型运行推理#
一旦训练并评估了 Ultralytics YOLO11 模型,下一步就是测试它在新的、未见过的图像上的表现如何。这有助于模拟现实世界中的条件,例如在不同的光照、排列或包装风格下检测药丸。
为了测试模型,我们从免费库存图片网站 Pexels 下载了一张样本图片,并使用如下代码片段中所示的自定义训练的 Ultralytics YOLO11 模型对图片进行了分析或运行了预测。
你可以使用此示例图像或任何其他相关图像来评估模型在现实场景中的表现。
results = model.predict("path/to/image.jpg", save=True, conf=0.3)保存选项告诉模型存储输出图像,置信度设置确保只有置信度至少为 30% 的预测结果才会被包含在内。
当你运行预测时,输出将显示一条消息,告诉你保存的图像位于何处 - 例如,“Results saved to runs/detect/train”。
你的输出图像将与此处显示的类似,药丸会被检测出来并使用边界框突出显示。显示的置信度分数表明了每次检测的确定程度。

图 3. 使用 Ultralytics YOLO11 进行药丸检测。
Ultralytics YOLO11 在制药行业的实际应用#
既然我们已经探讨了如何使用 Medical-Pills Dataset 训练 Ultralytics YOLO11 并运行图像推理来进行药丸检测,接下来让我们看看 YOLO11 在制药行业中的实际应用。
使用 Ultralytics YOLO11 进行制药药丸分拣#
结合 Ultralytics YOLO11 的自动药丸检测可应用于制药分拣。手动分拣通常速度慢、重复性高且容易出错,从而危及药品安全和合规性。
通过使用微调后的 Ultralytics YOLO11 模型,我们可以根据大小、形状和颜色等视觉属性准确检测和分拣药丸。这种自动化加快了流程,并有助于确保产品符合严格的质量标准,使其成为制药运营中的宝贵工具。

Fig 4. 在 YOLO11 的帮助下检测药片。
在 Ultralytics YOLO11 的帮助下监控库存#
按时储备正确的药物不仅仅是一个物流任务,它还会影响患者护理和成本。关键药丸缺货可能会延误治疗,而库存过多则会导致药物过期和库存浪费。由于制药行业有大量的药丸类型和包装变体,自动化库存系统可以实现更准确的记录。
智能inventory systems可以使用像 Ultralytics YOLO11 这样的计算机视觉模型来实时监控库存水平。该模型可以使用图像或视频扫描货架和包装区域,以检测和清点药片。随着库存水平的变化(无论是添加、移除还是移动物品),系统都可以自动更新数量。
由 Ultralytics YOLO11 驱动的医药质量控制#
在pharmaceutical production中,质量控制至关重要,它能确保每一片药都安全有效。即使是微小的缺陷(如裂纹、形状不均或轻微的颜色变化)也可能导致剂量错误或产品召回。
Ultralytics YOLO11 可以通过自动检测不符合质量标准的药丸来提供帮助。该模型可以学习视觉特征,并使用边界框实时标记破损、印记模糊或变色等问题。这允许及早移除有缺陷的药丸,减少浪费并确保只有经过质量保证的药物才能到达患者手中。
最重要的是,Ultralytics YOLO11 还可用于在检查药丸时对其进行检测和计数,以便在监控质量的同时进行准确追踪。

图 5. Ultralytics YOLO11 可用于检测和计数胶囊。
将视觉 AI 用于药丸检测的优缺点#
既然我们已经探讨了视觉 AI 如何应用于制药行业,让我们快速了解一下在该领域使用计算机视觉的一些主要好处:
- 预测性维护: Ultralytics YOLO11 可用于通过识别药丸或包装的不一致性来检测机器磨损的早期迹象。它有助于安排及时的维修并防止计划外的生产停机。
- 可扩展的模型使用: 该模型可以针对不同的药丸和包装在各种数据集上进行微调。随着业务的增长,这使得检查过程具有可扩展性和成本效益。
- 远程监控: 当与云系统和边缘设备集成时,它能够实现实时质量检查,非常适合管理农村药房、自动化单元和远程远程药学设置。
虽然在制药行业实施视觉 AI 有许多好处,但在使用此类技术时也有一些注意事项需要牢记:
- 操作集成: 将 AI 系统集成到现有工作流程中可能需要调整、培训以及与现有基础设施的兼容性检查。
- Regulatory compliance:自动化系统必须遵守严格的监管标准,以确保持续的产品质量和患者安全。
- 错误管理: 即使是先进的模型也可能产生误报或漏报。建立处理和纠正这些错误的流程非常重要。
AI 制药工作流程的前路#
未来,人工智能很可能会在让clinical trials更快、更智能、更具成本效益方面发挥更大的作用。它有助于设计更好的试验方案、选择合适的患者群体并实时监控数据。
这可能使研究人员能够在问题出现时而不是事后才去应对。AI 还可以通过减少人工文书工作和自动化常规检查来加快审批过程。总的来说,将 AI 集成到制药工作流程中可以减少延误,并加快获取新疗法的速度。
关键要点#
在 Medical Pills Dataset 上训练 Ultralytics YOLO11 展示了该模型适应制药任务的速度和有效性。即使使用少量数据集,它也能准确检测药丸,使其在分拣、质量控制和库存跟踪等方面非常有用。
随着数据集的增长和模型的改进,视觉 AI 在制药领域的潜力不仅限于物流。该技术还可以通过辅助一致的药丸识别和跟踪,以及协助研究人员安全地测试新的药物组合,来支持临床试验。
探索我们的GitHub repository以了解更多信息,并成为我们不断壮大的community的一部分。从AI in agriculture到computer vision in healthcare,探索各个行业的尖端创新。查看我们的licensing options,立即开启你的视觉 AI 项目。






