Ultralytics Dog-Pose 数据集实战指南:用 YOLO26 训练 24 关键点犬类姿态估计模型
Ultralytics Dog-Pose 数据集实战指南用 YOLO26 训练 24 关键点犬类姿态估计模型【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文以 Ultralytics 仓库中的 Dog-Pose 数据集文档为核心系统讲解这一专为犬类关键点估计打造的数据集8,476 张图片、每只狗 24 个关键点、YOLO 格式标签与内置下载机制。读完本文你将掌握dog-pose.yaml的完整配置、Python/CLI 两种训练方式、关键参数校验逻辑kpt_shape、kpt_names的源码实现以及 Mosaic 数据增强在姿态训练中的作用可以独立复现从数据下载到模型训练、验证的完整流程。数据集简介Dog-Pose 数据集由 Ultralytics Dog-Pose dataset 文档 定义是面向犬类关键点估计dog keypoint estimation的高质量数据集规模共 8,476 张图片其中 6,773 张训练图、1,703 张703 张验证图且每张图都配有对应 YOLO 格式标签文件关键点每只狗标注24 个关键点每个关键点含3 维信息——(x, y, visibility)即归一化坐标加可见性标记因此适合研究遮挡场景下的姿态估计下载体积约 337 MB应用方向动物行为分析、宠物监控、兽医研究等场景的犬类姿态估计模型开发与验证。数据集结构与 YAML 配置目录布局数据集下载解压后的标准结构为datasets/dog-pose/ ├── images/{train,val} └── labels/{train,val}图片与标签按训练/验证集分别存放标签路径由图片路径经固定规则映射得到。这一映射关系在 ultralytics/data/dataset.py 的get_label_files中实现——通过img2label_paths把images/替换为labels/得到标签文件路径这也是 YOLO 数据集格式的通用约定。dog-pose.yaml 全量解析数据集配置定义在仓库文件 dog-pose.yaml官方文档中给出的完整内容如下逐项说明# 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: dog-pose # dataset root dir train: images/train # train images (relative to path) 6773 images val: images/val # val images (relative to path) 1703 images # Keypoints kpt_shape: [24, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible) # Classes names: 0: dog # Keypoint names per class kpt_names: 0: - front_left_paw - front_left_knee - front_left_elbow - rear_left_paw - rear_left_knee - rear_left_elbow - front_right_paw - front_right_knee - front_right_elbow - rear_right_paw - rear_right_knee - rear_right_elbow - tail_start - tail_end - left_ear_base - right_ear_base - nose - chin - left_ear_tip - right_ear_tip - left_eye - right_eye - withers - throat # Download script/URL (optional) download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dog-pose.zip各字段的作用字段取值说明pathdog-pose数据集根目录相对路径会解析到DATASETS_DIR下train/valimages/train/images/val相对path的图片目录分别为 6,773 / 1,703 张kpt_shape[24, 3]关键点数量与维度第 2 位为3表示每个关键点含x, y, visiblenames0: dog单类数据集仅dog一类kpt_names24 个部位名四肢 12 点左右前/后肢的爪、膝、肘、尾巴 2 点、头部 8 点耳基/耳尖/鼻/下巴/双眼、背部 2 点withers、throatdownload资产包 URL数据本地缺失时自动下载解压关于kpt_shape源码层面有两处硬性约束值得注意配置解析阶段ultralytics/data/utils.py 中的check_det_dataset会校验所有数据集键的类型其中kpt_shape必须是 list见 ultralytics/data/utils.py#L59 的DATASET_KEY_TYPES。标签校验阶段ultralytics/data/dataset.py#L187-L192 的verify_args明确检查nkpt 0且ndim必须是 2 或 3否则抛出kpt_shape in data.yaml missing or incorrect错误——这意味着如果自建设计姿态数据集时写错维度例如只写了[24]训练在缓存标签前就会直接失败。kpt_names列表则让可视化、结果解读如Results.plots绘制的骨架连线拥有可读的部位名而非单纯的索引编号。自动下载机制文档 FAQ 中提到“数据集在首次使用时会自动下载”其实现链路可以确认check_det_datasetultralytics/data/utils.py#L551会依次执行——若传入裸名称如dog-pose自动尝试补全为dog-pose.yaml并在内置配置目录中查找读取 YAML 后校验train、val、names/nc等必需键缺失即报SyntaxError将path解析为绝对路径相对路径挂到DATASETS_DIR下把train/val/test目录逐一拼接为绝对路径若本地目录不存在且 YAML 含download字段则下载 zip 包并解压到datasets/目录。因此训练时只需写datadog-pose.yaml无需手动下载解压。训练 YOLO26 Pose 模型官方文档给出的标准用法在 Dog-Pose 数据集上以 640 输入尺寸训练yolo26n-pose模型 100 个 epoch。Python APIfrom ultralytics import YOLO # Load a model model YOLO(yolo26n-pose.pt) # load a pretrained model (recommended for training) # Train the model results model.train(datadog-pose.yaml, epochs100, imgsz640)CLI# Start training from a pretrained *.pt model yolo pose train datadog-pose.yaml modelyolo26n-pose.pt epochs100 imgsz640完整参数清单可参考仓库的 Training 模式文档。补充两个实操要点模型规模选择yolo26n-pose对应模型配置 yolo26-pose.yaml 中scales.ndepth 0.50 / width 0.25 / max_channels 1024注释标注为约 3.75M 参数、10.7 GFLOPs是轻量档位同文件还提供s/m/l/x四档复合缩放可按算力需求切换如yolo26m-pose.pt。注意模型 YAML 中kpt_shape默认为[17, 3]COCO 人体姿态预训练值训练时由数据集 YAML 的[24, 3]覆盖头部关键点输出维度。训练后验证model.train结束后返回 metrics 对象也可单独运行yolo pose val datadog-pose.yaml modelbest.pt在 1,703 张验证图上复测 mAP 等指标相关任务文档见 Pose Estimation 任务页。训练中的 Mosaic 增强文档“Sample Images and Annotations”一节展示了一张由多张 Dog-Pose 图片拼合的训练批次图并解释了 Mosaic马赛克增强的价值把多张图拼成一张训练图让每个 batch 覆盖更多样的目标尺寸、长宽比与场景上下文从而提升泛化能力并缓解过拟合。这一机制在仓库中的实现是 ultralytics/data/augment.py 的Mosaic类将 4 或 9 张图片组合进一张画布n4或n9并对实例与标签做拼接、裁剪apply_instances/_cat_labels随机选取参与拼图的索引由get_indexes完成。对姿态任务而言拼图会把不同狗的姿态、姿态比例混入同一张图模型在单步训练中即可见到更宽的尺度分布——这正是文档配图想表达的训练效果。数据标注格式与引用说明每张标注图的标签文件遵循 YOLO 姿态格式每行为class x_center y_center width height加上 24 组x y visibility共 72 个数值坐标相对图像尺寸归一化。visibility取值 0 表示该关键点未标注/不可见3 维标注方式与kpt_shape: [24, 3]严格对应。若在你的研究或开发工作中使用了 Dog-Pose 数据集官方文档要求引用以下论文源自 docs/en/datasets/pose/dog-pose.md 的 Citations 一节inproceedings{khosla2011fgvc, title{Novel dataset for Fine-Grained Image Categorization}, author{Aditya Khosla and Nityananda Jayadevaprakash and Bangpeng Yao and Li Fei-Fei}, booktitle{First Workshop on Fine-Grained Visual Categorization (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, year{2011} } inproceedings{deng2009imagenet, title{ImageNet: A Large-Scale Hierarchical Image Database}, author{Jia Deng and Wei Dong and Richard Socher and Li-Jia Li and Kai Li and Li Fei-Fei}, booktitle{IEEE Computer Vision and Pattern Recognition (CVPR)}, year{2009} }数据集原始图像来自 Stanford Vision Lab 的 ImageNetDogs 项目Research-Only 许可该许可限定其用于研究目的商用前建议自行确认许可边界。常见问题FAQQ1Dog-Pose 数据集是什么如何配合 YOLO26 使用数据集含 6,773 张训练图与 1,703 张验证图每图标注 24 个犬类关键点专为训练和验证犬类姿态估计模型设计适用于动物行为分析、宠物监控、兽医研究等场景其 3 维x, y, visibility标注覆盖遮挡情形。Q2如何用 Ultralytics 训练一个 YOLO26 模型加载预训练权重yolo26n-pose.pt然后调用model.train(datadog-pose.yaml, epochs100, imgsz640)CLI 等价命令见上文。完整参数列表见 Training 文档。Q3该数据集的优势是什么8,476 张图覆盖多种犬种与姿态24 个关键点 × 3 维标注提供了真实场景的覆盖度可直接用于宠物监控、行为分析等落地任务的姿态模型训练。Q4Mosaic 如何帮助训练过程它把多张 Dog-Pose 图拼进一张训练图每步训练可见更多样的姿态、尺寸与背景减少过拟合并提升对新尺度、新场景的泛化能力。Q5YAML 文件在哪如何使用位于 dog-pose.yaml定义了路径、类别、24 关键点配置与下载 URL训练命令中直接引用datadog-pose.yaml即可数据集会在首次使用时自动下载解压。小结Dog-Pose 数据集为犬类姿态估计提供了“开箱即用”的完整闭环YAML 声明式配置、24 关键点 3 维标注、自动下载解压、预训练权重微调。结合源码可以确认的关键约束是——kpt_shape的第二维必须是 2 或 3dataset.py#L187-L192以及数据集校验链check_det_datasetutils.py#L551对train/val/names键的强制检查这两点是自建同类姿态数据集时最值得对照的参考点。【免费下载链接】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),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →