
Ultralytics YOLO 医疗药片检测数据集实战从 medical-pills.yaml 配置到训练推理全流程【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文基于 Ultralytics 仓库中的 Medical Pills 检测数据集文档docs/en/datasets/detect/medical-pills.md完整讲解这一单类药片pill目标检测数据集的结构、YAML 配置、自动下载机制以及如何用 YOLO26 模型完成训练与推理。读完后你可以直接复用文档中的 Python/CLI 命令在药片质检、包装自动化等制药场景下训练自己的检测模型并能从源码层面理解 Ultralytics 是如何解析数据集 YAML、触发下载与校验的。数据集概述115 张图、单类 pill 的 POC 数据集UltralyticsMedical Pills是一个概念验证proof-of-concept, POC级别的目标检测数据集面向制药行业的计算机视觉应用。数据集共包含115 张标注图片只有一个类别pill按训练/验证划分为两个子集由medical-pills.yaml配置定义划分 (Split)图片数说明Train92用于模型训练的标注图片Validation23留作评估与基准测试的验证图片该数据集没有独立的测试集test split其定位是演示模型在制药领域的可用性典型应用场景包括药品分拣Pharmaceutical Sorting基于尺寸、形状或颜色自动分拣药片提升生产效率AI 研发AI Research and Development作为制药用例下计算机视觉算法开发与测试的基准数字化库存系统Digital Inventory Systems结合自动药片识别实现实时库存监控与补货规划质量控制Quality Control识别缺陷、异常或污染保证药片生产的一致性假药检测Counterfeit Detection将视觉特征与已知标准比对辅助识别潜在假药。数据集配置medical-pills.yaml 逐行解读数据集的核心配置文件是 ultralytics/cfg/datasets/medical-pills.yaml定义了数据集路径、类别和下载源。文件实际内容如下# Ultralytics AGPL-3.0 License - https://ultralytics.com/license # Medical-pills dataset by Ultralytics # Documentation: https://docs.ultralytics.com/datasets/detect/medical-pills # Example usage: yolo train datamedical-pills.yaml # parent # ├── ultralytics # └── datasets # └── medical-pills ← downloads here (8.19 MB) # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: medical-pills # dataset root dir train: images/train # train images (relative to path) 92 images val: images/val # val images (relative to path) 23 images # Classes names: 0: pill # Download script/URL (optional) download: https://github.com/ultralytics/assets/releases/download/v0.0.0/medical-pills.zip各字段的作用path: medical-pills数据集根目录名。相对路径会解析到全局数据集目录DATASETS_DIR下train/val相对path的图片目录分别对应 92 张训练图与 23 张验证图names类别字典本数据集仅有一类0: pilldownload可选的自动下载地址压缩包含 8.19 MB 的 zip 包首次训练时若本地缺少图片会自动拉取。源码级解读训练时 YAML 如何被校验与自动下载当你执行yolo detect train datamedical-pills.yaml时训练器的get_dataset流程会进入 ultralytics/engine/trainer.py对detect任务它调用check_det_dataset(self.args.data)完成数据集的下载、校验与路径解析。该函数实现在 ultralytics/data/utils.py关键行为有YAML 查找与解析check_file(dataset)定位 YAML 文件后读取为字典若传入的是 zip 文件会先解压到数据集目录并从中寻找 YAML必填键校验train和val为必需键validation会被自动重命名为val且必须有names或nc之一names数量与nc必须一致——对 Medical Pills 而言即nc推导为 1路径解析path为相对路径且本地不存在时会解析为DATASETS_DIR / path其中DATASETS_DIR定义在 ultralytics/utils/init.py取值为SETTINGS[datasets_dir]默认~/ultralytics/datasets可在 settings 中修改自动触发下载当val或指定的split图片路径不存在、且 YAML 提供了以.zip结尾的downloadURL、且autodownloadTrue时调用safe_download将包下载到数据集目录并解压完成后日志会打印Dataset download success。这正是medical-pills.yaml中download字段的实际生效路径。此外若训练时附加single_clsTrueget_dataset会把类别名统一覆盖为item、nc覆盖为 1见 ultralytics/engine/trainer.py——对本身就只有一类pill的 Medical Pills 数据集这一参数通常不需要显式使用。训练Python 与 CLI 两种方式在 Medical Pills 数据集上训练 YOLO26n 模型100 个 epoch、图像尺寸 640文档给出了两种等价写法。更完整的参数说明可参考 Training 模式文档。Pythonfrom ultralytics import YOLO # Load a model model YOLO(yolo26n.pt) # load a pretrained model (recommended for training) # Train the model results model.train(datamedical-pills.yaml, epochs100, imgsz640)CLI# Start training from a pretrained *.pt model yolo detect train datamedical-pills.yaml modelyolo26n.pt epochs100 imgsz640几点源码层面的补充说明datamedical-pills.yaml可以直接写裸名check_det_dataset会尝试把coco8这类裸名称自动补全为coco8.yamlultralytics/data/utils.py因此也可以传datamedical-pillsYOLO26n 的体量从模型配置 ultralytics/cfg/models/26/yolo26.yaml 可以看到yolo26n对应 scaling 常量[0.50, 0.25, 1024]共 260 层、约 257 万参数、6.1 GFLOPs是五档n/s/m/l/x中最轻的一档非常适合这种百张图片规模的小数据集该模型为端到端模式end2end: Truereg_max: 1小数据集训练提示92 张训练图规模很小epochs100配合 640 输入尺寸是文档推荐的起点。若出现过拟合可考虑减小epochs、开启single_clsTrue或结合数据增强参数见下文 Mosaic 说明调整。更多模型能力细节见 YOLO26 文档。推理用微调后的模型检测药片训练完成后使用微调得到的best.pt进行推理。示例使用官方提供的样图 URL 作为输入源Pythonfrom ultralytics import YOLO # Load a model model YOLO(path/to/best.pt) # load a fine-tuned model # Inference using the model results model.predict(https://ultralytics.com/assets/medical-pills-sample.jpg)CLI# Start prediction with a fine-tuned *.pt model yolo detect predict modelpath/to/best.pt imgsz640 sourcehttps://ultralytics.com/assets/medical-pills-sample.jpg更多推理参数如置信度阈值、NMS 等可参考 Predict 模式文档。样本图像与 Mosaic 数据增强文档在“Sample Images and Annotations”一节展示了一张来自数据集的标注样例图并特别说明图中展示的是一个经过 Mosaic 拼接的训练批次——把多张数据集图片合并到一张画布上以增加训练多样性、提升模型泛化能力。这一增强在源码中的实现是 ultralytics/data/augment.py 中的Mosaic类它将 4 张n4或 9 张图片拼接为一张 mosaic 图像并同步拼接、裁剪对应的实例标签。其默认行为由 ultralytics/cfg/default.yaml 中的两个参数控制mosaic: 1.0每个 batch 应用 Mosaic 增强的概率默认 1.0即全程开启close_mosaic: 10最后 10 个 epoch 关闭 Mosaic设为 0 则始终开启让模型在训练末期“看到”未经拼接的真实单图分布。对 Medical Pills 这类单类、小样本数据集而言Mosaic 的价值在于每张药片图片都能以不同位置、不同邻接背景参与训练等效扩充了样本的构图多样性。与其他数据集的集成若需要构建更完整的制药视觉方案文档建议将 Medical Pills 数据集与其他数据集组合使用与 package-seg 实例分割数据集结合用于药盒/药板等包装的识别与分割与 brain-tumor 等医学影像检测数据集结合探索端到端的医疗 AI 流水线。Ultralytics 的 data YAML 机制train/val支持目录、txt 清单或路径列表三种形式使得自定义合并数据集时只需编写新的 YAML 指向这些子集即可。引用与许可Medical Pills 数据集在AGPL-3.0 许可LICENSE下提供。若在研究或开发工作中使用了该数据集建议按以下 BibTeX 格式引用dataset{Jocher_Ultralytics_Datasets_2024, author {Jocher, Glenn and Rizwan, Muhammad}, license {AGPL-3.0}, month {Dec}, title {Ultralytics Datasets: Medical-pills Detection Dataset}, url {https://docs.ultralytics.com/datasets/detect/medical-pills}, version {1.0.0}, year {2024} }常见问题FAQ1. 数据集有多少图片和类别共 115 张图片92 训练 23 验证无独立测试集每张图片只标注单一类别pill。它以 8.19 MB 的自动下载包形式提供下载配置定义在 ultralytics/cfg/datasets/medical-pills.yaml 中。2. 如何用 YOLO26 训练该数据集使用上文 Python 或 CLI 方式100 epoch、imgsz 640。训练细节见 Training 文档模型细节见 YOLO26 文档。3. 这个数据集对 AI 项目的价值是什么它支撑药片检测的自动化服务于假药防范、质量保障与制药流程优化同时是开发药品安全与供应链效率类 AI 方案的良好起步基准。4. 如何执行推理用微调后的 YOLO26 模型通过 Python 或 CLI见上文推理示例更多选项参考 Predict 模式文档。5. 在哪里可以找到 YAML 配置文件仓库内路径为 ultralytics/cfg/datasets/medical-pills.yaml包含数据集路径、类别与download等训练所需的全部元数据。小结Medical Pills 数据集虽然只有 115 张图片、单一pill类别但它完整演示了 Ultralytics 检测数据集的“YAML 描述 → 自动下载 → 校验解析 → 训练 → 推理”全链路配置在 ultralytics/cfg/datasets/medical-pills.yaml下载与校验逻辑在 check_det_dataset训练入口在 BaseTrainer.get_datasetMosaic 增强在 ultralytics/data/augment.py。对于想在制药质检、药品分拣等垂直场景快速搭建检测基线的开发者这是一条可直接复制运行的最短路径。【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考