MMPose关键点标注半自动化指南:8000张图像两周交付的实操路径
MMPose关键点标注半自动化指南8000张图像两周交付的实操路径【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose手头有8000张待标注的人体图像排期只有两周——靠纯人工点选每天标200张已经是极限交付大概率泡汤。MMPose 的标注工具链给了另一条路用预训练姿态模型先打底生成伪标注人工只做修正和抽检把最耗时的点选环节压缩到原来的三分之一左右。这篇文章按一个真实项目的节奏讲清楚怎么把这条半自动化标注流水线从零跑通。能力地图标注流水线由哪几块拼成MMPose 本身不管你在哪个前端画点它管的是模型打底和格式落地这两头。整个工具链拆成四个能力点各管各的脏活模型推理打底MMPoseInferencer一次调用自动完成检测人体框 估计17个COCO关键点默认人体检测器RTMDet-m已内置不用自己拼检测器。它解决的是第一批伪标注从哪来的问题单张图像推理在GPU上通常不到1秒。候选框预生成tools/misc/generate_bbox_file.py单独跑目标检测把每张图的人体框和置信度落成 JSON供 Top-Down 流程复用。它解决姿态模型需要的人体框先验问题也可以反过来当人工框选前的参考线。标注格式转换器tools/dataset_converters/labelstudio2coco.py把 Label Studio 导出的 JSON 转成 COCO 格式的images/annotations/categories三元组bbox 和 area 会自动从标注里回算。它解决标注平台导出的东西训练框架不认这个卡脖子环节。数据集校验器tools/misc/browse_dataset.py加载数据集配置后把标注画回原图上逐张检查。它解决格式没错但标错了怎么发现的问题交付前的最后一道防线。实操主线从零跑通一条完整流程先装环境。克隆仓库git clone https://gitcode.com/GitHub_Trending/mm/mmpose后创建 conda 环境装依赖再用 mim 装 mmengine、mmcv、mmdet 三件套这一步没坑就不展开了。下面按四个关键动作推进。批量推一遍先让模型把底稿画出来不用手写推理循环。MMPoseInferencer支持直接传文件夹路径检测模型自动加载结果可落盘到pred-out-dirpython demo/inferencer_demo.py data/raw_images/ \ --pose2d rtmpose-m \ --vis-out-dir data/vis_draft \ --pred-out-dir data/pred_json \ --kpt-thr 0.3 --show-progress--vis-out-dir把骨架画回原图这一步强烈建议开伪标注里手点到了肩膀上这类肉眼可见的错误翻一遍可视化图就能抓出来比事后翻 JSON 快得多。RTMPose 系列配置见 configs/body_2d_keypoint/rtmpose/m 档是精度和速度的平衡点打底够用。框不够准就先补框Top-Down 流程的效果很大程度取决于人体框质量。如果推完发现小目标、边缘人物框歪得离谱用tools/misc/generate_bbox_file.py单独调一遍检测模型调--score-thr和--nms-thr重新出一版框文件再喂回推理流程。这个脚本依赖 mmdet 的DetInferencer装好 mmdet 即可直接跑。人工过筛难例把修正预算花在刀刃上全量 8000 张不需要人逐张过。做法是把可视化结果导出按低置信度 遮挡 小目标三类筛出难例子集实测下来大约占 20%~30%只修这部分高置信度样本抽 10% 抽检即可。修正在 Label Studio 里做标注接口要同时配KeyPointLabels、PolygonLabels、RectangleLabels三种组件且关键点必须标在实例的最前面、矩形/多边形标在最后转换器靠这个顺序把同实例的标注拼到一起——这是整个流程里最容易踩的一个约定详细规则见 Label Studio 文档。转换格式并抽检交付修正完导出 JSON一条命令转 COCOpython tools/dataset_converters/labelstudio2coco.py \ config.xml data/labelstudio_corrected.json data/coco_final.json注意 Label Studio 会截断长文件名图片要取导出 COCO 压缩包里的图片文件夹别直接用上传目录的。转完之后别急着交付跑一遍校验python tools/misc/browse_dataset.py 数据集配置 \ --phase train --max-item-per-dataset 50 --output-dir data/vis_check它会把关键点画回原图--mode original看原始标注、默认模式看数据增强后的效果标注错位、关键点数量对不上[数据集配置](https://link.gitcode.com/i/8de08202b700c8af2464d77c606fc5ad)里dataset_info声明的都会一目了然。进阶玩法三个值得提前做的优化按不确定性挑难例主动学习式采样。模型对每个关键点都会输出置信度把伪标注里均值置信度最低的 20% 样本拎出来优先人工修正修正完重训一轮模型再推下一批。适合标注周期长、可以分轮交付的项目——第二轮模型的打底质量会明显好于第一轮人工修正量随之递减。起步不用写复杂代码在伪标注 JSON 里按kpt_thr过滤排序即可。双模型互检。一个快模型RTMPose打底一个准但慢的模型如 HRNet 系列 Top-Down 网络在难例子集上复推一遍两版关键点平均偏差超过阈值的样本标为高疑强制人修。适合对交付质量有量化验收比如 PCK 或定位误差要求的场景成本是难例集上多一次推理换标注返工率下降。按场景切分任务包做分布式标注。万级以上数据别再按时间切任务按场景类型室内/室外、单人/多人密集切分成独立任务包不同标注员只负责同类场景标注一致性Kappa 系数会好很多。进度监控用每包导出时间戳就能做不必上重型工具。避坑速查高频现象典型原因解法转换后num_keypoints全为 0Label Studio 标注顺序错矩形标在关键点前面重新修正难例集严格关键点→矩形/多边形顺序转换器靠顺序聚合同实例标注导出的图片文件名和标注对不上Label Studio 截断长文件名直接用了上传目录用 Export COCO 压缩包里的 images 文件夹小目标/边缘人物关键点整体偏移人体框框歪或框太大Top-Down 裁剪偏了调低--score-thr重出框文件或推理时加大输入分辨率遮挡关节如被手臂挡住的肘乱飘模型对不可见点也会给高置信度该类点交人工修正标注时按 COCO 可见性协议设 visible交付后训练报关键点数量不匹配dataset_info声明的顺序/数量与标注不一致对照 数据集配置 里dataset_info逐项核对转换前就定死标签顺序选型收束规模决定路线给个直接的分档建议千张以内纯人工标成本可控还省了模型打底的钱一千到一万张走本文这条模型打底 难例修正的半自动化流水线人工只碰低置信度样本上万张或要持续迭代的数据集必须在半自动化之上叠主动学习采样和按场景切分的分布式标注否则质量一致性撑不住。标注流水线的一次性搭建成本不高但流程里标注顺序约定和交付前抽样校验这两步不能省——前者决定转换是否成功后者决定你交付的到底是什么。【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考