Realtime_Multi-Person_Pose_Estimation
Realtime_Multi-Person_Pose_Estimation 是一款专注于实时多人姿态估计的开源项目,由卡内基梅隆大学等机构的研究团队开发。它曾荣获 2016 年 MSCOCO 关键点挑战赛冠军及 CVPR 2017 最佳论文口头报告奖。
该工具主要解决在复杂场景中同时检测多人身体关键点(如关节位置)的难题。与传统方法不同,它创新性地采用了“自底向上”的技术路线:无需预先使用人员检测器来框选每个人,而是先检测图像中所有的身体部位,再通过算法将其智能组合成完整的人体骨架。这一设计不仅大幅提升了处理速度,实现了真正的实时运行,还有效避免了多人重叠时的检测遗漏问题。
该项目非常适合计算机视觉领域的研究人员、算法工程师以及希望集成人体动作分析功能的开发者使用。无论是进行学术研究、视频内容分析,还是开发互动应用,都能从中获益。虽然原始代码库提供了基于 Caffe 和 MATLAB 的实现,但社区已衍生出包括 OpenPose(C++)、TensorFlow、PyTorch 等多种主流框架的版本,极大地降低了使用和二次开发的门槛。如果你需要高效、精准地捕捉视频中多人的动作细节,这是一个极具参考价值的经典方案。
使用场景
某智能健身镜开发团队正在构建一套能同时识别多名用户动作并实时纠正姿势的家庭健身系统。
没有 Realtime_Multi-Person_Pose_Estimation 时
- 多人识别困难:传统自上而下的方法需先检测每个人再估算姿态,当家庭成员同时入镜时,检测器容易漏人或混淆身份,导致无法同步分析。
- 延迟严重:分步处理流程计算量大,在普通硬件上帧率极低,用户做完动作几秒后屏幕才反馈错误,完全失去指导意义。
- 依赖昂贵算力:为保证基本流畅度,必须部署高性能服务器或专用加速卡,大幅推高了消费级产品的硬件成本。
- 复杂场景失效:一旦用户发生肢体遮挡或快速舞动,算法极易丢失关键点跟踪,导致动作评分系统频繁报错中断。
使用 Realtime_Multi-Person_Pose_Estimation 后
- 原生多人支持:采用自底向上架构,无需预先检测人物,直接从图像中提取所有关键点并组装,完美支持全家一起跳操的场景。
- 真正实时反馈:算法针对实时性优化,在单块 GPU 甚至部分 CPU 环境下即可达到高帧率运行,用户动作偏差能被毫秒级捕捉并语音提示。
- 降低部署门槛:高效的推理性能使得该方案可运行于嵌入式设备或中端显卡上,显著降低了智能硬件的量产成本。
- 鲁棒性增强:即使面对肢体交叉、快速旋转等复杂动态,仍能稳定输出连贯的人体骨架,确保健身课程流畅不卡顿。
Realtime_Multi-Person_Pose_Estimation 通过高效的自底向上架构,将多人体态识别从“离线分析”带入了“实时交互”时代,让低成本设备也能拥有精准的动作捕捉能力。
运行环境要求
- Linux
- Windows
- 训练和实时演示推荐需要 NVIDIA GPU(支持多卡并行,示例命令为双卡),具体型号和显存未说明
- C++ 版本支持 CPU 运行但速度较慢
未说明(注:生成的 LMDB 数据集文件约为 189GB,暗示需要大量存储和内存)

快速开始
实时多人姿态估计
作者:Zhe Cao、Tomas Simon、Shih-En Wei、Yaser Sheikh。
简介
本代码库曾荣获2016年MSCOCO关键点挑战赛冠军、2016年ECCV最佳演示奖以及2017年CVPR口头报告论文。
我们提出了一种自下而上的实时多人姿态估计方法,无需使用任何人体检测器。更多细节请参阅我们的 CVPR'17论文、我们在CVPR 2017的 口头报告视频录像,或我们在ILSVRC和COCO研讨会2016上的 演示幻灯片。
本项目遵循 LICENSE 中的条款进行许可。
其他实现
感谢大家为重新实现所做的努力!如果您有新的实现并希望与他人分享,请随时提交拉取请求或发送邮件给我!
- 我们的全新C++库 OpenPose(仅测试中)
- Tensorflow [版本1] | [版本2] | [版本3] | [版本4] | [版本5] | [版本6] | [版本7 - TF2.1]
- Pytorch [版本1] | [版本2] | [版本3]
- Caffe2 [版本1]
- Chainer [版本1]
- MXnet [版本1]
- MatConvnet [版本1]
- CNTK [版本1]
目录
测试
C++(实时版本,用于演示)
- 请使用 OpenPose,目前支持CPU/GPU以及Windows/Linux系统。
- 输入选项包括:图片、视频、网络摄像头。
Matlab(较慢,用于COCO评估)
- 兼容通用的 Caffe。编译matcaffe。
- 运行
cd testing; get_model.sh以从我们的服务器获取最新的MSCOCO模型。 - 修改
config.m中的caffepath路径,并运行demo.m以查看示例用法。
Python
cd testing/pythonipython notebook- 打开
demo.ipynb并执行代码。
训练
网络架构

训练步骤
- 运行
cd training; bash getData.sh以获取COCO数据集中的图像文件(dataset/COCO/images/)、关键点标注文件(dataset/COCO/annotations/)以及COCO官方工具箱(dataset/COCO/coco/)。 - 在Matlab中运行
getANNO.m将标注格式从json转换为mat格式,并保存至dataset/COCO/mat/。 - 在Matlab中运行
genCOCOMask.m以生成未标记人员的掩码图像。可使用Matlab的parfor加速计算。 - 运行
genJSON('COCO')以在dataset/COCO/json/文件夹中生成一个json文件。该文件包含训练所需的基础信息。 - 运行
python genLMDB.py以生成LMDB文件。(您也可以通过运行bash get_lmdb.sh下载我们提供的COCO数据集LMDB文件,大小为189GB) - 下载我们修改过的Caffe:caffe_train。编译pycaffe。它将很快与用于测试的caffe_rtpose合并。
- 运行
python setLayers.py --exp 1以生成用于训练的prototxt和shell脚本。 - 下载 VGG-19模型,我们将用其初始化前10层以开始训练。
- 运行
bash train_pose.sh 0,1(由setLayers.py生成)以使用两块GPU启动训练。
引用
如果本文对您的研究有所帮助,请在您的出版物中引用以下文献:
@inproceedings{cao2017realtime,
author = {Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},
booktitle = {CVPR},
title = {Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},
year = {2017}
}
@inproceedings{wei2016cpm,
author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh},
booktitle = {CVPR},
title = {Convolutional pose machines},
year = {2016}
}
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器