博客 | Github开源人体姿态识别项目OpenPose中文文档

2018 年 11 月 21 日 AI研习社

本文作者:张子豪(简书:https://www.jianshu.com/p/3aa810b35a5d

注:本文带下划线链接请点击文末【阅读原文】进行查看。

logo

OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。人体姿态估计技术在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,人们更加熟悉的应用就是抖音尬舞机。

OpenPose项目Github链接:https://github.com/CMU-Perceptual-Computing-Lab/openpose

为了便于中国开发者学习CMU开源人体姿态识别项目,我将README文档翻译成了中文。

向卡耐基梅隆大学大学的开发者以及本项目其他贡献者致敬。

英译汉:张子豪(同济大学开源软件协会)

文章勘误、补充,请看译者知乎专栏:人工智能小技巧

In order to facilitate Chinese software developers to learn, use Openpose, make progress in human gesture recognition development and source code contributions, we translated README file into simplified Chinese.

Salute to the developers in Carnegie Mellon university and the contributors to this project.

Translattor: Tommy in Tongji Univerisity Opensource Software Association


人体姿态识别与估计的应用场景:抖音尬舞机、体育动作教学、3D健身教练、3D试衣、绘画辅助、游戏人物动作采集。

本项目更详细的中文介绍:【AI识人】OpenPose:实时多人2D姿态估计 | 附视频测试及源码链接

本项目理论基础来自Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ,是CVPR 2017的一篇论文,作者是来自CMU感知计算实验室的曹哲,Tomas Simon,Shih-En Wei,Yaser Sheikh 。


一些人体姿态识别案例案例:

《芳华》文工团跳舞视频片段:人体姿态识别

《芳华》文工团跳舞视频片段:人体姿态识别

《叶问》武打视频片段:人体姿态识别

《叶问》武打视频片段:人体姿态识别

内容

  1. 特点

  2. 最近更新

  3. 效果

  4. 安装、重装、卸载

  5. 快速启动

  6. 输出

  7. 增加运算速度以及基准测试

  8. 向我们提供出错信息和反馈

  9. 作者和项目贡献者

  10. 引用

  11. 授权协议


特点

  • 功能:

            ·能够对摄像机拍摄中出现的扭曲等内外参数进行简易评估。

            ·通过多个单一角度的视频进行三角测量。

            ·菲力尔品牌摄像机的视频同步处理。

            ·与Flir摄像机和Point Grey摄像机兼容,提供了C++语言的代码样本,用户可以自定义输入。

            ·15、18或 25个身体/脚部的关键点识别,运算时间与检测出的人数无关。

            ·221个手部关键点识别。目前,运算时间取决于检测出的人数*。

           ·70个面部关键点的识别。目前,运算时间取决于检测出的人数

            ·二维多人关键点实时识别:

            ·三维单关键点实时识别:

            ·校准工具:

            ·针对未来的加速优化和视觉流畅,增加了单人位置追踪 。

  • 输入: 图片、视频、网络摄像头的视频流、Flir或Point Grey和IP摄像机。项目提供了C++语言的代码样本,用户可以自定义输入。

  • 输出: 原有图片+关键点展示(PNG、JPG、AVI等格式),关键点数据存储文件((JSON, XML, YML等格式)。

  • 操作系统: Ubuntu (14, 16), Windows (8, 10), Mac OSX, Nvidia TX2.

  • 其它:

            ·项目提供: 命令行测试、C++封装、C++ API接口。

            ·CUDA (Nvidia GPU), OpenCL (AMD GPU), and CPU 版本。


最近更新

  • Sep 2018: 单人位置追踪测试 增加处理速度,观看体验更加流畅!

  • Jun 2018: 躯干、脚部联合检测的模型发布!速度加快40%,精确度增加5%!

  • Jun 2018: Python API接口发布!

  • Jun 2018: OpenCL/AMD 显卡版本 发布!

  • Jun 2018: 校准工具 发布!

  • Jun 2018: Mac OSX 版本(CPU) 发布!

  • Mar 2018: CPU 版本!

  • Mar 2018: 三维关键点重建模型 (从多个摄像机角度识别)!

更多信息可访问 全部更新文档 以及 版本更新记录.


效果

躯干、脚部识别

躯干、脸部、手部识别

身体、手指关键点识别

身体识别


安装、重装、卸载

Windows能用的版本: 点击所有版本 下载最新的版本即可。

或者,你也可以点击 安装文档 查看通过源代码编译安装的安装指南


快速启动

大部分用户不需要调用OpenPose的C++和Python的开发接口,这些用户只需要运行OpenPose Demo即可

  • OpenPose Demo: 为了便于处理图片、视频或者网络摄像头的视频流,并展示和后处理结果,你需要看doc/demo_overview.md. 例如,你可以直接通过以下命令在Ubuntu操作系统上处理一个视频。

# Ubuntu./build/examples/openpose/openpose.bin --video examples/media/video.avi
:: Windows - Portable Demo
bin\OpenPoseDemo.exe --video examples\media\video.avi


  • 校准工具: 三维的OpenPose处理和其它立体视觉处理任务需要你便捷校准摄像机,可查看 doc/modules/calibration_module.md文档。

  • OpenPose C++ API: 如果你想定制开发读取特定内容的接口、增加个性定制的后处理功能或者展示存储功能,点击这个链接查看C++的API接口,examples/tutorial_api_cpp/ 和 doc/library_introduction.md。你可以增加自己的代码examples/user_code/ 使用Cmake快速编译整个项目。快速增加自己定制的代码,看这个文档:examples/user_code/README.md

  • OpenPose Python API: 类似C++的API接口,点击文档查看Python API的教程examples/tutorial_api_python/.

  • 增加额外的模块:查看 doc/library_add_new_module.md.

  • 独立的脸部和手指检测:

      • 脸部 不对身体关键点进行识别,仅对脸部关键点识别:如果你想加快处理速度(同时也会减少识别脸的个数),请看OpenCV脸部识别文档:doc/standalone_face_or_hand_keypoint_detector.md.

      • 使用你自己的脸部和手部识别工具: 与身体关键点识别不同,你可以使用你自己的脸部和手部识别工具。比方说,在手指能看清但身体看不清的时候使用(OpenPose的识别器不能正常工作)。查看文档doc/standalone_face_or_hand_keypoint_detector.md.

输出

请点击这个文档,查看输出文件的格式、关键点数据结构等信息。doc/output.md.


增加运算速度以及基准测试

点击这个文档,查看增加运行速度、减少内存需求的提示 doc/faq.md#speed-up-memory-reduction-and-benchmark.


向我们提供出错信息和反馈!

我们的代码库面向以科学研究为目的开发者开源,我们希望持续不断地优化它!所以,如果出现了以下情况,请及时向我们反馈。

  1. 你发现OpenPose处理图片或视频出错,请把识别失败的案例发到openposecmu@gmail.com邮箱中,我们会运用你提供的信息优化我们的算法。

  2. 你发现了软件功能或者运行速度上的bug。

  3. 你增加了一些我们可能吸纳到项目源代码中的函数、类或者其它子类。

  4. 你知道如何针对本项目优化性能、提升检测速度。

  5. 你发现本项目的一个潜在应用场景。

  6. 其它问题.

你可以在Github上评论,或者pull request提交你的新代码,我们会尽快回复你的。如果你基于本项目做了有趣的开发或者录制了Youtube视频,请给我们发电子邮件。


作者和项目贡献者

Openpose项目由 Gines Hidalgo, Zhe Cao, Tomas Simon, Shih-En Wei, Hanbyul Joo, 和 Yaser Sheikh创造发起。 目前,这个项目由 Gines Hidalgo 和 Yaadhav Raaj进行日常维护。  original CVPR 2017 repo 包括了Matlab和Python版本,以及模型训练代码。人体姿态评估方面的工作是基于 the original ECCV 2016 demo的。

除此之外,不可或缺的还有 CMU Panoptic Studio dataset。

我们还想感谢所有帮助过OpenPose项目的人,主要贡献者列在了这个文档里doc/contributors.md。


引用

如果本项目帮助了你的研究,请在你发表的作品里注明引用出处(人脸关键点识别与[Simon et al. 2017]使用了同样的训练方法)。

@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{simon2017hand,
 author = {Tomas Simon and Hanbyul Joo and Iain Matthews and Yaser Sheikh},
 booktitle = {CVPR},
 title = {Hand Keypoint Detection in Single Images using Multiview Bootstrapping},
 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}
}


授权协议

Openpose对于非商业化使用是免费的,而且仅限于这些情况。点击 license查看更多细节。对商业使用的授权感兴趣?点我吧。咨询商业应用相关信息可以联系 Yaser Sheikh.


参考文献和扩展阅读

【1】论文:

https://arxiv.org/pdf/1611.08050.pdf

【2】姿态检测视频制作源码:muyiguangda/caffe_rtpose

【3】开头视频:Changing Batteries 更换电池「中字」

【4】CMU训练数据集: CMU Panoptic Dataset

【4】匈牙利算法: Hungarian algorithm

登录查看更多
13

相关内容

深度学习目标检测方法及其主流框架综述
专知会员服务
147+阅读 · 2020年6月26日
专知会员服务
109+阅读 · 2020年3月12日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
八篇 ICCV 2019 【图神经网络(GNN)+CV】相关论文
专知会员服务
29+阅读 · 2020年1月10日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
18+阅读 · 2019年10月9日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
Github项目推荐 | PyTorch文本分类教程
AI研习社
7+阅读 · 2019年6月7日
Github库分享:超全的PyTorch学习资源汇总
专知
21+阅读 · 2019年5月9日
2018机器学习开源资源盘点
专知
6+阅读 · 2019年2月2日
人体骨骼关键点检测综述
极市平台
21+阅读 · 2018年6月29日
开源 | 基于Python的人脸识别:识别准确率高达99.38%!
全球人工智能
4+阅读 · 2017年7月29日
Arxiv
20+阅读 · 2020年6月8日
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
9+阅读 · 2018年1月4日
VIP会员
相关VIP内容
深度学习目标检测方法及其主流框架综述
专知会员服务
147+阅读 · 2020年6月26日
专知会员服务
109+阅读 · 2020年3月12日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
八篇 ICCV 2019 【图神经网络(GNN)+CV】相关论文
专知会员服务
29+阅读 · 2020年1月10日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
18+阅读 · 2019年10月9日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关论文
Top
微信扫码咨询专知VIP会员