3周交付5000张标注:MMPose关键点标注半自动化流水线实操指南

发布时间:2026/9/20 13:09:56
3周交付5000张标注:MMPose关键点标注半自动化流水线实操指南 3周交付5000张标注MMPose关键点标注半自动化流水线实操指南【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose上周我接了个活一个运动品牌的动作库要把 5000 张视频截图标成关键点数据——在每张图上把人体 17 个关节点肩、肘、腕、髋、膝、踝等的位置逐一标出来。交付期限 3 周手上只有 2 名标注员还没算返工的缓冲。用老办法逐张手标5000 张怎么也算不完。所以这条流水线我是用 MMPose 搭的让预训练模型先自动标一遍人只负责修模型标错的地方最后脚本转成 COCO 格式、工具验收归档。下面每个工位都按做什么、敲什么、坑在哪来写你照着跑就行。一、先把人工标注的账算清楚纯人工标注的代价先用数字说话成本项纯人工实测水平交付意味着什么单张图标注耗时约 12 分钟1 张人体图 17 个关键点1000 张 ≈ 20 人·天5000 张还没算质检关节点定位误差误差超过 5 像素的关节点占比约 8%训练出来的模型在手腕、脚踝这类小关节上明显发飘标注一致性两名标注员的 Kappa 系数普遍在 0.55~0.7 之间Kappa 低于 0.7 通常意味着这批数据要返工重标结论先行规模上千的活人工只能当质检员不能当主力。二、流水线全景五个工位怎么分工整条线长这样把它想象成一条流水线机器干重活人干判断活预标注工位机器姿态模型给每张图打出 17 个初始关键点一张 1~2 秒。修正工位人标注员打开界面只修错的地方而不是从零画起。转换工位脚本把标注平台的结果翻译成 MMPose 训练要的 COCO 格式。验收工位工具可视化抽查关键点落点和数据集配置归档留版本。人只做原来那 12 分钟里判断对不对的部分点在哪由模型先给。三、五个工位逐个实操工位1环境与模型准备做什么装好 MMPose 和依赖确认 RTMPose 预训练模型能跑起来。# 克隆仓库并建独立环境 git clone https://gitcode.com/GitHub_Trending/mm/mmpose cd mmpose conda create -n mmpose python3.8 -y conda activate mmpose pip install -r requirements.txt上面是环境三件套下面这行用来确认姿态模型配置能正常加载以 RTMPose-M 为例精度和速度比较均衡python -c from mmengine import Config; print(Config.fromfile(configs/body_2d_keypoint/rtmpose/coco/rtmpose-m_8xb256-420e_coco-256x192.py))⚠️ 易踩坑模型权重从 MMPose 的模型库按配置名下载对应 checkpoint别拿别的数据集比如 AIC训练的权重跑 COCO 配置——关键点顺序对不上后面全错。工位2批量自动预标注做什么先用目标检测模型给每张图生成人体框bbox即圈住人的矩形框存成 bbox 文件姿态模型之后只负责框内回归关键点。仓库自带脚本 generate_bbox_file.py 就是干这个的# 跑检测模型生成 bbox 文件score-thr 是置信度阈值 python tools/misc/generate_bbox_file.py \ det_config det_weight \ --score-thr 0.1 \ output/bboxes.jsonbbox 文件在手TopDown 姿态模型就不再需要现场检测每张图的推理时间能省掉检测那一截。用 mmpose/apis/inference.py 里的接口对整批图跑关键点# 单张图预标注init_model 加载配置与权重inference_topdown 在给定框内回归17个关键点 from mmpose.apis import init_model, inference_topdown model init_model( configs/body_2d_keypoint/rtmpose/coco/rtmpose-m_8xb256-420e_coco-256x192.py, checkpoint_file) # 注意 bbox 是 (x, y, w, h) 格式即从工位2的 bboxes.json 里取 result inference_topdown(model, img, bbox(x, y, w, h))⚠️ 易踩坑小人人体高度不足 1/4 屏幕是预标注重灾区置信度看着不低、点就是偏。工位 3 修正时优先翻这类图。工位3人机协同修正做什么把预标注结果导入 Label Studio人工只修正模型标错的地方。修正时重点盯三类场景遮挡手臂挡住的肘关节、腿交叠的膝盖模型会把点标到遮挡物上小人远处人体的框和点整体偏移需要放大原图逐点核对多人混淆两个人挨得近时模型可能把 A 的手腕标到 B 身上要逐人核对 17 个点的归属。⚠️ 易踩坑Label Studio 里的标注顺序必须先关键点、后多边形或矩形这是 labelstudio2coco.py 判定哪些标注属于同一个人的依据。另外别用 LS 直接上传的图它会截断长文件名——导出时用 Export 功能里带图片压缩包的那个 COCO 格式。工位4格式转换与导出做什么把修正完的 Label Studio JSON 转成 COCO 格式摆进数据集目录。转换命令一行就够config传你在 LS 界面 Settings → Labeling Interface → Code 里保存下来的那份 XMLpython tools/dataset_converters/labelstudio2coco.py \ label_interface.xml \ labelstudio_corrected.json \ output/result.json转完后目录长这样图片放images/、标注放旁边output/ ├── images/ │ └── 000001.jpg └── result.json⚠️ 易踩坑XML 里关键点的顺序和数量必须和 MMPose 配置里dataset_info声明的顺序完全一致否则 17 个点会整体错配——脚本不报错但训练出来的模型会告诉你哪里错了。工位5质量验收与归档做什么用数据集浏览工具可视化抽查验收通过后带版本号归档。# 把最终配置里的数据集可视化出来肉眼核对关键点是否落在关节上 python tools/misc/browse_dataset.py 你的数据集配置.py \ --phase train --max-item-per-dataset 50 --not-show \ --output-dir vis_output/抽查标准定死关键点在关节附近 ±5 像素内、body box 贴合人体、17 个点的归属和人体 ID 对得上。验收过的result.json连同版本号如v1.2_20260919提交到版本库增量保存别整包覆盖。⚠️ 易踩坑没有图形界面的机器上必须加--not-show --output-dir保存可视化图否则命令会卡住不出结果。四、效率看板24 天变 5.7 天以 1000 张为单位的对比环节耗时按参考口径统计环节纯人工半自动化变化数据准备1 天1 天—人体框生成含在标注内5 天0.5 天脚本自动框的活完全交给检测模型关键点标注/修正15 天3 天单张从 12 分钟降到约 5 分钟格式转换0.5 天0.2 天脚本一行命令质检返工3 天1 天一致性上去了返工少了总周期24 天5.7 天约省 76%误差率也能压住人工误差点占比约 8%半自动化流程下控制在 3% 以内定位误差 3 像素以内。剩下的瓶颈就是人工修正那 3 天——下面两招专门砍它。五、进阶两手主动学习挑难例均匀抽检很浪费不如让模型自己暴露没把握的图# 取每张图17个关键点的平均置信度把最低的20%挑出来优先人工复核 scores [r.pred_instances.keypoint_scores.mean() for r in results] hard [r for r, s in zip(results, scores) if s thr]实践里这批难例只占总量 10%~15%修它们比抽 10% 均匀样更能拉高整体精度——因为模型标错的地方高度集中在少数难例上。多模型投票提精度RTMPose 快、HRNet 准两个都跑一遍同一关键点两处预测相距 8 像素以内自动通过超过的标记进修正队列。分歧大的就是模型意见不一的样本人来了直接重点核对。六、避坑清单症状→原因→处方症状原因处方关键点系统性偏移误差普遍超过 5 像素图里人体太小256×192 的默认输入分辨率下细节不够换 384×288 输入的配置重跑预标注修正时放大原图逐点核对关键点落在遮挡物上、位置明显错误模型把相邻肢体当成目标关节人工在 Label Studio 修正并把这批图单独归档重训时加采样权重密集人群里 ID 来回切换、点串到相邻人身上无时序关联逐帧独立检测无法保持身份一致用相邻帧跟踪关联身份标注时用不同颜色区分不同人体labelstudio2coco 转换后字段缺失或报错标注顺序不是先关键点后多边形/矩形或用了 LS 截断过的文件名严格按顺序重标图片从导出压缩包里取不要用直接上传的那份七、收尾按数据量选档位一句话总结半自动化的本质是模型干粗活、人干判断、脚本做转换、工具做验收。按你的数据量挑档位小于 1000 张纯人工更省事半自动化的环境成本不划算1000~10000 张跑本文这条基础流水线五个工位全上大于 10000 张基础流水线 主动学习挑难例 分场景分批交付标注结果按版本增量归档。下一步值得跟进的是端到端关键点回归模型省掉检测框这一环的成熟度——等它对遮挡场景也稳了工位 2 和工位 3 的边界还会再往前移一截。【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考