MMPose 关键点标注实战:5 步把一万张原图变成可训练的数据集
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),仅供参考

相关新闻

TiXL SplitMeshVertices 算子详解:网格顶点拆分实现 Flat Shading 与平滑几何散射

TiXL SplitMeshVertices 算子详解:网格顶点拆分实现 Flat Shading 与平滑几何散射

TiXL SplitMeshVertices 算子详解:网格顶点拆分实现 Flat Shading 与平滑几何散射 【免费下载链接】t3 TiXL is an open source software to create realtime motion graphics. 项目地址: https://gitcode.com/GitHub_Trending/t3/t3 SplitMeshVertices 是 T…

2026/9/20 3:20:17 阅读更多 →
SeaTunnel Kubernetes 混合集群模式部署指南:Master 与 Worker 同进程的高可用集群搭建

SeaTunnel Kubernetes 混合集群模式部署指南:Master 与 Worker 同进程的高可用集群搭建

SeaTunnel Kubernetes 混合集群模式部署指南:Master 与 Worker 同进程的高可用集群搭建 【免费下载链接】seatunnel SeaTunnel is a multimodal, high-performance, distributed, massive data integration tool. 项目地址: https://gitcode.com/GitHub_Trending/…

2026/9/20 3:20:17 阅读更多 →
IsaacLab 电机执行器配置速查:DCMotor参数单位与选型避坑一次讲清

IsaacLab 电机执行器配置速查:DCMotor参数单位与选型避坑一次讲清

IsaacLab 电机执行器配置速查:DCMotor参数单位与选型避坑一次讲清 【免费下载链接】IsaacLab Unified framework for robot learning with multi-physics/renderer support 项目地址: https://gitcode.com/GitHub_Trending/is/IsaacLab 本文是一份 IsaacLab …

2026/9/20 3:19:17 阅读更多 →

最新新闻

QQ空间历史说说导出:用GetQzonehistory三步把说说、配图、评论存成本地表

QQ空间历史说说导出:用GetQzonehistory三步把说说、配图、评论存成本地表

QQ空间历史说说导出:用GetQzonehistory三步把说说、配图、评论存成本地表 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 准备换手机重装QQ前,我意识到QQ空间从没…

2026/9/20 5:27:32 阅读更多 →
攀爬机器人文献复现:从PDF综述到可验证模块的工程落地

攀爬机器人文献复现:从PDF综述到可验证模块的工程落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 5:27:32 阅读更多 →
AI论文写作工具全攻略:从文献管理到格式规范

AI论文写作工具全攻略:从文献管理到格式规范

1. 论文写作工具革命:当传统参考文献管理遇上AI去年指导学弟修改毕业论文时,他的参考文献部分突然全部变成乱码,距离查重只剩3天。这种崩溃场景每个写过论文的人都经历过——从格式调整到文献排序,手工操作不仅耗时耗力&#xff0…

2026/9/20 5:27:32 阅读更多 →
Java生产级日期与并发工具设计实战

Java生产级日期与并发工具设计实战

1. 这不是“工具类合集”,而是一套Java工程师的日常生存装备包你有没有过这种经历:凌晨两点改完线上Bug,发现又要写一个格式化日期的工具方法——明明三个月前在另一个项目里写过几乎一模一样的代码;又或者,在做订单超…

2026/9/20 5:27:32 阅读更多 →
免费窗口布局工具 FancyZones:3 分钟让窗口自动归位

免费窗口布局工具 FancyZones:3 分钟让窗口自动归位

免费窗口布局工具 FancyZones:3 分钟让窗口自动归位 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys …

2026/9/20 5:27:32 阅读更多 →
文学创作中的环境描写与心理刻画技法

文学创作中的环境描写与心理刻画技法

1. 文学创作中的环境描写技法解析雨夜独行者的场景描写堪称环境描写的经典范例。这种通过外部环境映射人物内心的创作手法,在文学创作中被称为"客观对应物"理论——即用具体可感的物象来表现抽象的情感状态。路灯在湿漉漉的街道上摇曳的描写,不…

2026/9/20 5:26:32 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →