资讯动态

MMPose 关键点标注实战:5 步把一万张原图变成可训练的数据集

发布时间:2026/9/20 3:20:15 来源:尧图企业网站定制
MMPose 关键点标注实战5 步把一万张原图变成可训练的数据集【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose假设现在是晚上十点你刚收到数据供应商的压缩包1 万张运动场景原图要求每张标出 17 个关键点和 1 个人体框。按人工每张 5 分钟估算你已经承诺了约 400 小时。MMPose 关键点标注在这类任务上有现成路径——先让预训练模型打一遍底人只负责纠偏。这篇文章带你把这条半自动流水线从原图一路走到 COCO 格式的可训练数据集每一步都给出最小可用的命令。为什么不全靠人标先看两种工作方式的差别。全人工模式下每张图的检测框、17 个点都要你亲手放模型没出场人也省不了任何一步质检时你还要再逐张过一遍等于干了两遍活。换成模型打底之后分工变了清晰单人图上的关键点预训练模型给出的初稿多数能直接用人不需要标注只需要挑错。真正要动手的只剩三类——被遮挡的关节、画面里的小人、多人交叠导致的点串到别人身上。这三类加起来通常只占少量样本但质检强度反而更高你盯着的是模型草稿找的是它错在哪。人工那部分从全量生产变成局部返工这才是半自动流程省时间的根本原因。 组件地图先认识工具再动手这条流水线涉及的组件不多先用一张图理清它们的先后关系各组件一句话说明组件负责什么什么时候用demo/inferencer_demo.py检测模型 姿态模型一次跑完落盘预测 JSON 和可视化图批量生成自动标注底稿tools/misc/generate_bbox_file.py用 mmdet 检测器单独批量产出人体框走 top-down 流程、需要独立框文件时Label Studio labelstudio2coco.py交互式修点、导出再转成 COCO 格式人工纠偏环节详见官方指南tools/misc/browse_dataset.py按训练配置打开数据集、翻图看渲染格式转换完、开训前的最后校验tools/dataset_converters/300wlp、wflw 等第三方数据转 COCO混入外部公开数据时tools/analysis_tools/训练日志分析、FLOPs 统计标注收尾后跟进训练阶段实操走通从克隆仓库到交付数据集4.1 环境准备git clone https://gitcode.com/GitHub_Trending/mm/mmpose cd mmpose pip install -r requirements.txt # 生成检测框一步依赖 mmdet按 docs/en/installation.md 装齐 mmcv / mmengine / mmdet跑不通先检查 Python 版本和这三个 OpenMMLab 组件能否import通过再谈后面的步骤。4.2 选一个打底模型推荐 RTMPose-m 起步速度够快、精度对初稿足够。配置在 configs/body_2d_keypoint/rtmpose/coco/ 下选rtmpose-m_8xb256-420e_coco-256x192.py即可若你的场景人体偏小换 384x288 输入的同款配置。权重文件按官方发布页说明下载到本地。注意你的关键点定义若不是 COCO 17 点要另选或修改配置里的dataset_info保证点与顺序一致。4.3 批量跑自动标注一条命令完成检测 姿态 落盘python demo/inferencer_demo.py data/raw_images \ --pose2d configs/body_2d_keypoint/rtmpose/coco/rtmpose-m_8xb256-420e_coco-256x192.py \ --pose2d-weights rtmpose-m_simcc-coco.pth \ --det-model demo/mmdetection_cfg/rtmdet_tiny_8xb32-300e_coco.py \ --bbox-thr 0.3 --kpt-thr 0.3 \ --vis-out-dir data/auto/vis \ --pred-out-dir data/auto/pred--vis-out-dir输出标注好的图片肉眼扫一眼就知道哪些帧问题大--pred-out-dir输出含关键点和置信度的 JSON是后续修正的结构化基础。如果只想要框文件配合 top-down 模型改用python tools/misc/generate_bbox_file.py det_config det_weight data/bboxes.json已有框时也可以用tools/misc/keypoints2coco_without_mmdet.py直接出伪标签。4.4 人工修正重点区域把data/auto/vis里的图导入 Label Studio。标签接口需要三类标注KeyPointLabels、PolygonLabels、RectangleLabels分别对应 COCO 的 keypoints、segmentation、bbox标注顺序必须关键点在前、框或多边形收尾转换器靠这个规则把碎片合并成实例具体接口示例在官方指南里。修正时只盯三处遮挡关节对照原图判断点该不该留、小人体框偏移、多人帧里串到别人身上的点。改完在项目页 Export 出 JSON——注意它只有标签没有图片配对的图片文件夹用 Export 里 COCO 工具打出的压缩包。4.5 格式转换与校验# config.xml 是 Label Studio 里 Labeling Interface 的 Code 原文 python tools/dataset_converters/labelstudio2coco.py config.xml \ data/auto/project.json data/auto/result.json # 写一个训练配置指向新数据集开训前翻图确认渲染正常 python tools/misc/browse_dataset.py your_dataset_config.py \ --max-item-per-dataset 50转换后把图片文件夹与result.json放在一起配置里把ann_file和data_prefix指过去就能训练。browse_dataset 翻到异常帧时先回查该实例在 Label Studio 里的标注顺序十有八九是合并规则没满足。质量进阶底稿不够好怎么办主动学习挑难例预测结果里带keypoint_scores按均分排序把后 20% 的样本优先排进人工队列修最值钱的样本。双模型交叉RTMPose-t 快、RTMPose-m/l 准两个都跑一遍两版结果差异大的图自动升级进人工复核比单模型盲跑更稳。大规模管理超过 1 万张时按场景室内/室外和人体密度拆包分配进度用 tools/analysis_tools/analyze_logs.py 之类脚本盯标注结果按批次增量保存并做版本管理避免整批返工。⚠ 避坑速查现象对策导出的 JSON 里没有图片属正常JSON 只含标签图片用 Export 的 COCO 压缩包目录框和关键点没合并成一个实例标注顺序违反关键点先、框后回 Label Studio 重标该实例小人的关键点挤成一团换 384x288 输入的模型配置或调低--bbox-thr遮挡点被补到不合理位置底稿不区分遮挡与否此类样本必须人工对照原图确认转换后点数对不上配置KeyPointLabels的标签顺序、数量需与配置中dataset_info严格一致browse_dataset 报错找不到图核对ann_file里的file_name与磁盘目录层级是否一致收尾按数据量选打法少于 1k 张直接在 Label Studio 全人工标注导出后过一遍labelstudio2coco.py即可别为省事引入模型底稿反而多一轮核对。1k ~ 10k 张走本文的完整流水线模型打底加人工纠偏配合 browse_dataset 收尾校验。超过 10k 张在流水线之上叠主动学习排序、任务分包和结果版本管理否则返工成本会吃掉省下的时间。最实际的第一步挑 200 张图今天就把这条链路完整跑一遍修正率稳定了再上量——数据是模型的上限先把这个上限守住。【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价