尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ultralytics YOLO26 包裹分割实战:基于 Package Segmentation 数据集训练物流场景实例分割模型

Ultralytics YOLO26 包裹分割实战:基于 Package Segmentation 数据集训练物流场景实例分割模型 Ultralytics YOLO26 包裹分割实战基于 Package Segmentation 数据集训练物流场景实例分割模型【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文围绕 Ultralytics 仓库内置的 Package Segmentation 数据集2,197 张标注图片、单一package类别展开面向物流分拣、仓储自动化与质检等场景讲解如何借助该数据集训练、验证并部署 YOLO 实例分割模型。读完本文你将掌握数据集的下载与目录结构、package-seg.yaml配置文件的逐项含义、Python/CLI 两种完整训练流程以及分割训练器SegmentationTrainer与验证器SegmentationValidator在源码层面的关键工作机制。数据集概览Package Segmentation Dataset 是由 Ultralytics 整理的包裹package实例分割数据集包含2,197 张人工标注图片全部标注为单一package类别。它专为物流与仓储自动化中的包裹识别、分拣、搬运等需求设计可与 Ultralytics YOLO 系列分割模型直接搭配在计算机视觉管线中实现实时包裹分析。从仓库内置的配置文件 package-seg.yaml 可以确认数据集的完整规格项目数值训练集1,920 张图片images/train用于训练深度学习模型验证集188 张图片images/val训练期间调参、监控过拟合测试集89 张图片images/test训练结束后评估模型类别单一package类覆盖所有被标注的包裹下载体积约 103 MB.zip压缩包数据集覆盖多种场地、环境与包裹密度模型在真实物流场景中训练后需要泛化到的正是这类多样性。关于分割任务的更多工作流可参考仓库的 segmentation 任务文档更多分割数据集可查阅 分割数据集索引。典型应用场景智能仓储与物流现代仓库中视觉 AI 可以自动化包裹识别与分拣。用该数据集训练的模型能在实时甚至光线昏暗、空间杂乱的环境下检测并分割包裹从而加快处理速度、减少差错、提升整体运营效率。质量控制与破损检测通过分析包裹的轮廓形状与外观模型可以识别变形、破损的包裹让只有完好的包裹进入供应链减少客诉与退货。这是制造质量控制的关键一环对保障货物完整性至关重要。数据集 YAML 配置详解在 Ultralytics 中数据集通过 YAML 文件声明其中定义路径、类别与下载信息。Package Segmentation 数据集对应的是仓库内的 package-seg.yaml其完整内容如下# Ultralytics AGPL-3.0 License - https://ultralytics.com/license # Package-seg dataset by Ultralytics # Documentation: https://docs.ultralytics.com/datasets/segment/package-seg # Example usage: yolo train datapackage-seg.yaml # parent # ├── ultralytics # └── datasets # └── package-seg ← downloads here (103 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: package-seg # dataset root dir train: images/train # train images (relative to path) 1920 images val: images/val # val images (relative to path) 188 images test: images/test # test images (relative to path) 89 images # Classes names: 0: package # Download script/URL (optional) download: https://github.com/ultralytics/assets/releases/download/v0.0.0/package-seg.zip逐项说明path数据集根目录名。首次使用时框架会自动下载压缩包并解压到datasets/package-seg/目录下注释中的目录树也说明了这一点train/val/test三个划分子集均为相对于path的目录路径分别对应 1,920 / 188 / 89 张图片。这里也体现了 YOLO 数据 YAML 支持三种写法目录、图片路径列表文件imgs.txt或目录列表names类别字典本数据集只有0: package一个类download可选的自动下载地址。首次使用时的自动下载与校验机制源码层面datapackage-seg.yaml会被 check_det_dataset 处理值得关注的行为有裸名称解析如果传入的字符串既不是 URL 也不存在对应文件框架会尝试补全.yaml/.yml后缀如package-seg→package-seg.yaml因此在命令行中写datapackage-seg.yaml或裸名均可命中仓库内置配置自动下载若 YAML 中path指向的目录不存在且提供了downloadURL框架会下载并解压约 103 MB 的package-seg.zip到 datasets 目录之后无需再下载格式校验函数会强制要求train与val两个键存在缺失会抛出SyntaxError并要求names或nc至少有一个若两者同时出现还校验names长度与nc一致。Package 数据集声明了names框架据此自动推导nc1。这套机制意味着只要机器上装好了 ultralytics第一次调用训练时数据集就会自动就绪无需手动下载解压。训练与验证完整用法下面以 YOLO26n 分割模型为例在 Package Segmentation 数据集上训练 100 个 epoch、输入尺寸 640。所有可调参数详见 训练文档 与 超参数调优指南。Python APIfrom ultralytics import YOLO # Load a model model YOLO(yolo26n-seg.pt) # load a pretrained segmentation model (recommended for training) # Train the model on the Package Segmentation dataset results model.train(datapackage-seg.yaml, epochs100, imgsz640) # Validate the model results model.val() # Perform inference on an image results model(path/to/image.jpg)CLI# Load a pretrained segmentation model and start training yolo segment train datapackage-seg.yaml modelyolo26n-seg.pt epochs100 imgsz640 # Resume training from the last checkpoint yolo segment train datapackage-seg.yaml modelpath/to/last.pt resumeTrue # Validate the trained model yolo segment val datapackage-seg.yaml modelpath/to/best.pt # Perform inference using the trained model yolo segment predict modelpath/to/best.pt sourcepath/to/image.jpg几点实操建议结合仓库 模型训练技巧指南单类别、2,197 张图的小数据集建议先用yolo26n-seg.pt这类轻量预训练权重微调epochs100是文档给出的推荐起点实际可用patience早停避免过拟合验证集仅 188 张验证指标会有波动可结合 89 张测试集做最终评估不要只看验证曲线imgsz640是默认值若仓库相机视角中大包裹占比高可以适当降低输入尺寸换取速度反之小包裹多则可适度增大。源码视角分割训练器与验证器如何工作在 Ultralytics 中yolo segment train与model.train(data..., tasksegment)最终都会落到 SegmentationTrainer。该类继承自DetectionTrainer核心差异在于构造函数中强制将task覆写为segmenttrain.py#L37-L40确保数据加载器按分割格式解析标注多边形/掩码而非仅边界框get_model()用SegmentationModel构建网络并根据数据 YAML 的nc自适应类别数——Package 数据集nc1模型的分割头输出即为单类掩码系数get_validator()返回 SegmentationValidator训练期间每个验证轮次都会用它计算 Box 与 Mask 双套指标。SegmentationValidator的几个关键实现值得了解双轨指标get_desc()返回的指标表头包含Box(P, R, mAP50, mAP50-95)与Mask(P, R, mAP50, mAP50-95)两组列val.py#L76-L90因此验证日志中会同时看到检测框与分割掩码两套 mAP掩码匹配_process_batch()在类别匹配之外额外用mask_iou()计算预测掩码与真值掩码的 IoU生成tp_m正确预测矩阵这是 Mask mAP 的计算基础val.py#L140-L167原型proto解码postprocess()从模型输出中取出 proto 特征图与逐目标系数结合经ops.process_mask还原出掩码val.py#L92-L107开启save_json或save_txt时会自动切换到更高精度的process_mask_nativeCOCO 风格评估pred_to_json()将掩码编码为 COCO 的 RLE 字符串segmentation字段eval_json()按bbox与segm两类指标走 COCO 评测val.py#L293-L312适合与第三方基线对比。对于 YOLO26 系列分割模型网络结构定义在 yolo26-seg.yamlbackbone 与 head 在 P3/8、P4/16、P5/32 三个尺度上做多尺度预测末端由Segment26头输出分割原型与系数文件中的scales段给出了 n/s/m/l/x 五档规格如n档约 313 万参数、10.5 GFLOPs。训练包裹这类单类、目标通常较大的场景n档即有良好性价比。样本数据与标注示例数据集中的图片来自真实物流环境标注掩码勾勒出每一个包裹的轮廓。训练后的典型效果是模型在一张堆满包裹的传送带画面上同时输出多个带类别标签与置信度的分割掩码系统可据此实时定位、计数和检验每一个包裹。数据集覆盖不同场地、环境条件与包裹密度组合因此在其上训练的模型能够泛化到真实物流场景中的各种画面。更多分割数据集如 carparts-seg、crack-seg、coco8-seg 等可在 数据集总览 中查找。部署建议训练完成后模型可按 ONNX 集成文档 与 TensorRT 集成文档 导出为onnx/engine格式部署到仓库边缘硬件工控机、Jetson 等上运行实时推断例如yolo export modelpath/to/best.pt formatonnx yolo export modelpath/to/best.pt formatengine单类别、目标数量可控的包裹分割任务在边缘端上的开销通常较低配合导出格式即可满足实时分拣流水线的延迟要求。引用与致谢如果你在研究或开发中使用了 Package Segmentation 数据集请按如下方式引用来源为 Roboflow Universe 上 factorypackage 用户发布的数据集misc{ factory_package_dataset, title { factory_package Dataset }, type { Open Source Dataset }, author { factorypackage }, url { https://universe.roboflow.com/factorypackage/factory_package }, year { 2024 }, month { jan }, note { visited on 2024-01-24 }, }感谢数据集作者对计算机视觉社区的贡献。更多数据集与训练技巧可分别参考 Ultralytics 数据集合集 与 模型训练技巧指南。常见问题FAQPackage Segmentation Dataset 是什么如何配合 YOLO26 使用它是 2,197 张包裹图片的实例分割数据集标注单一package类别面向物流分拣与质检场景。通过仓库内置的package-seg.yaml配置直接传给YOLO.train()或yolo segment train即可使用。数据集有多少图片和类别共 2,197 张图训练 1,920、验证 188、测试 89均为单一package类。约 103 MB 的压缩包在首次使用时自动下载并解压。如何训练加载预训练分割权重如yolo26n-seg.pt以package-seg.yaml为数据配置执行训练Python 与 CLI 完整示例见上文 训练与验证 小节全量参数见 训练文档。为什么物流包裹分割适合 YOLO26YOLO26 在实例分割上兼顾实时速度与精度能在光线昏暗或杂乱的仓库环境中可靠地检测与分割包裹训练产物还可导出 ONNX、TensorRT 等格式部署到仓库硬件。配置文件在哪里位于仓库的 ultralytics/cfg/datasets/package-seg.yaml定义了数据集路径、三个子集目录、单一package类别与自动下载地址。【免费下载链接】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),仅供参考
返回列表