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

在本编码教程中,学习如何使用YOLO11和Medical-Pills数据集检测药丸。此外,还将探讨其潜在应用和优势。
人工智能几乎被应用于每个行业,但它对医疗保健,尤其是在制药领域的影响尤为显著。今年,制药领域的人工智能市场价值为 19.4 亿美元,预计到 2034 年将增长到 164.9 亿美元。
这个市场的一个关键技术驱动因素是计算机视觉。与传统的图像处理不同,计算机视觉是 AI 的一个子领域,使机器能够实时理解和分析视觉数据。
在制药行业,即使是最小的错误也可能产生严重的后果,视觉 AI 提供了新的、可靠的方法来提高安全性和精确度。
例如,Ultralytics YOLO11 是一种计算机视觉模型,专为实时任务而设计,例如目标检测和实例分割,可用于识别药丸或检测医疗包装中的缺陷等应用。
在本文中,我们将介绍如何通过训练 YOLO11 来检测药丸,从而亲身体验视觉 AI。我们还将探讨它的实际应用。让我们开始吧!
在我们深入探讨如何训练 YOLO11 来检测药丸之前,让我们退一步,了解训练模型意味着什么以及数据集的作用。
训练模型包括通过向其展示许多示例来教它识别模式。在本例中,数据集是图像的集合,其中每个图像都标有药丸所在的位置。此过程有助于模型从这些示例中学习,以便以后可以在新图像中识别药丸。
通过支持简化的YOLO文件格式中的各种数据集,Ultralytics Python包使此过程更加容易。它们提供对常用数据集的无忧访问,并为药丸检测等应用提供支持。
例如,Medical Pills Dataset 是一个专门的概念验证集合,旨在展示目标检测如何通过质量控制、分类和假冒检测等任务改进药物工作流程。
在使用 Ultralytics Python 包开始训练之前,需要考虑的另一个因素是选择正确的开发环境。以下是三个流行的选项:
您可以在Ultralytics官方文档中探索其他设置选项,但上面提到的三种设置简单易用,是快速入门的绝佳选择。
在本指南中,我们将重点介绍如何使用 Google Colab、Jupyter Notebook 或基本的 Python 脚本来设置和训练 YOLO11,因为在这些环境中的过程非常相似。
此外,本教程与我们之前介绍的关于使用 YOLO11 检测野生动物的教程非常相似。如果您对本编码教程中任何步骤的更多细节感兴趣,您可以查看它。
Medical Pills 数据集包括 92 张训练图像和 23 张验证图像,为构建和测试您的模型提供了可靠的分割。训练图像用于训练模型,而验证图像有助于评估模型在新数据上的表现。
数据集中的每张图像都标记为单个类别:药丸。边界框注释清楚地标记了每颗药丸的位置,使数据集非常适合专注于药丸检测等任务,而无需处理多个对象类别的复杂性。
为了支持使用 YOLO11 进行训练,Ultralytics 提供了一个 YAML 配置文件,其中定义了关键参数,如文件路径、类名和模型训练所需的元数据。无论您是微调预训练模型还是从头开始,此文件都能大大简化流程,并帮助您快速入门。
首先,我们将为模型的训练和测试设置环境。您可以根据自己的偏好选择使用 Google Colab、Jupyter Notebook 或简单的 Python 文件。只需在您选择的环境中创建一个新的 notebook 或 Python 文件即可。
然后,我们可以设置我们的环境并使用下面显示的命令安装Ultralytics Python包。如果您使用的是基于notebook的环境(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)
通过多次 epoch 训练,模型可以在每次迭代中学习并提高其性能。 您可以在“runs/train/”子文件夹中找到保存的日志和检查点,您可以使用它们来监控进度并查看模型的性能。
训练完成后,经过自定义训练的 YOLO11 模型应该能够准确地识别药丸。您可以在“runs/detect/train/weights/”子文件夹下找到名为“best.pt”的最终训练模型权重。
为了评估模型学习检测药丸的效果如何,我们可以按如下方式运行验证:
metrics = model.val()
此过程返回常见的对象检测指标,这些指标提供了对模型性能的深入了解。以下是一些这些指标的详细介绍:
总而言之,这些指标全面地展示了模型在新数据中检测药丸的准确程度。
如果您的模型表现不如预期,您可以尝试训练更多 epoch 或微调其他训练参数,例如学习率(控制模型优化过程中采取的步长大小)或图像大小,以进一步提高其性能。
YOLO11 模型经过训练和评估后,下一步是测试其在新图像上的性能。这有助于模拟真实环境,例如在不同的光照、排列或包装样式下检测药丸。
为了测试该模型,我们从免费的图片网站 Pexels 下载了一个示例图片,并分析了该图片,或者使用自定义训练的 YOLO11 模型运行了预测,如下面的代码片段所示。
您可以使用此示例图像或任何其他相关图像来评估模型在实际场景中的表现。
results = model.predict("path/to/image.jpg", save=True, conf=0.3)
保存选项指示模型存储输出图像,而置信度设置确保结果中仅包含置信度至少为 30% 的预测。
当您运行预测时,输出将显示一条消息,告诉您保存的图像位于何处 - 例如,“Results saved to runs/detect/train”。
您的输出图像将与此处显示的图像类似,其中药丸被检测到并使用边界框突出显示。显示的置信度分数表示每次检测的确定程度。
既然我们已经探讨了如何使用 Medical-Pills 数据集训练 YOLO11,以及如何在图像上运行推理以进行药丸检测,现在让我们看看 YOLO11 在制药行业的实际应用。
使用 YOLO11 进行自动药丸检测可应用于药物分拣。手动分拣通常速度慢、重复性高且容易出错,这可能会损害药物安全性和合规性。
通过使用经过微调的 YOLO11 模型,我们可以根据尺寸、形状和颜色等视觉属性准确地检测和分类药丸。这种自动化加快了流程,并有助于确保产品符合严格的质量标准,使其成为制药运营中的宝贵工具。
及时储备正确的药物不仅仅是一项物流任务,它还会影响患者护理和成本。关键药物的短缺可能会延误治疗,而库存过多可能导致药物过期和库存浪费。由于制药行业中存在多种类型的药物和包装变体,因此自动化的库存系统可以实现更准确的记录。
智能库存系统可以使用像 Ultralytics YOLO11 这样的计算机视觉模型来实时监控库存水平。该模型可以使用图像或视频扫描货架和包装区域,以检测和计数药丸。随着库存水平的变化(无论是添加、移除还是移动物品),系统都可以自动更新计数。
在药品生产中,质量控制对于确保每种药丸的安全性和有效性至关重要。 即使是微小的缺陷,如裂缝、形状不均匀或颜色略有差异,也可能导致剂量错误或产品召回。
YOLO11 可以通过自动检测不符合质量标准的药丸来提供帮助。该模型可以学习视觉特征,并使用边界框来标记诸如缺损、褪色印记或变色等问题,从而实现实时检测。这可以及早剔除有缺陷的药丸,减少浪费,并确保只有质量保证的药物才能到达患者手中。
除此之外,YOLO11 可用于在药丸检查时检测和计数药丸,从而在监控质量的同时进行准确跟踪。
现在我们已经探讨了视觉 AI 如何应用于制药行业,接下来快速了解一下在该领域使用计算机视觉的一些主要优势:
虽然在制药行业实施视觉人工智能有很多好处,但在使用此类技术时,还需要牢记一些注意事项:
未来,AI 有望在加速 临床试验、使其更智能、更具成本效益方面发挥更大的作用。它可以帮助设计更好的试验方案,选择合适的患者群体,并实时监控数据。
这可能使研究人员能够在问题出现时立即做出反应,而不是事后。人工智能还可以通过减少人工文书工作和自动化例行检查来加快审批流程。总的来说,人工智能在医药工作流程中的集成可以减少延误,并更快地获得新的治疗方法。
在 Medical Pills Dataset 上训练 Ultralytics YOLO11 展示了该模型如何快速有效地适应药物任务。 即使使用小型数据集,它也能准确地检测药丸,使其可用于分类、质量控制和库存跟踪等任务。
随着数据集的增长和模型的改进,视觉 AI 在制药领域的潜力不仅仅局限于物流。这项技术还可以通过帮助进行一致的药丸识别和跟踪,以及帮助研究人员安全地测试新的药物组合来支持临床试验。
探索我们的GitHub 仓库以了解更多信息,并加入我们不断壮大的社区。探索从农业 AI到医疗保健领域的计算机视觉等各个领域的尖端创新。查看我们的许可选项,立即启动您的 Vision AI 项目。