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. 授权协议

特点

  • 功能:

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

      • 15、18或 25个身体/脚部的关键点识别,运算时间与检测出的人数无关
      • 221个手部关键点识别。目前,运算时间取决于检测出的人数*。
      • 70个面部关键点的识别。目前,运算时间取决于检测出的人数
    • 三维单关键点实时识别:
      • 通过多个单一角度的视频进行三角测量。
      • 菲力尔品牌摄像机的视频同步处理。
      • 与Flir摄像机和Point Grey摄像机兼容,提供了C++语言的代码样本,用户可以自定义输入。
    • 校准工具:
      • 能够对摄像机拍摄中出现的扭曲等内外参数进行简易评估。
    • 针对未来的加速优化和视觉流畅,增加了单人位置追踪 。
  • 输入: 图片、视频、网络摄像头的视频流、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

古画人体姿态分析

Github开源人体姿态识别项目OpenPose中文文档相关推荐

  1. python人体识别_Github开源人体姿态识别项目OpenPose中文文档

    OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库.可以实现人体动作.面部表情.手指运动等姿态估计.适用于单人和多人,具有极好的鲁 ...

  2. perfect-scrollbar 一个全浏览器适用的自定义scrollbar,使用方法 中文文档

    在开发过程中为了保持界面样式的一致性,需要自定义scrollbar的样式,可是只有chrome可以定义样式,IE只能设置颜色,火狐是直接不可以设置,于是就找了这个库,它是github开源的,但没有中文 ...

  3. 中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

    近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事--TiDB Hackathon 2020 比赛圆满落幕.今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之 ...

  4. 期盼数月的召唤|PaddlePaddle中文文档利剑来袭

    发布三年之后,百度深度学习框架PaddlePaddle有了官方中文版文档. 今年11月份,PaddlePaddle的用户们在中文社区论坛以及社群上发出召唤:PaddlePaddle官方是否能搞个Pad ...

  5. semantic ui中文文档_Vuetify-广受欢迎的Material风格的开源UI框架

    全世界范围内广受欢迎的 Vue UI 框架,一个非常精致的 Material Design UI 套件. Material Design 风格 UI 框架 Vuetify 是一个基于 Vue.js 精 ...

  6. springboot中文文档_登顶 Github 的 Spring Boot 仓库!艿艿写的最肝系列

    源码精品专栏 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 My ...

  7. GitHub 中文文档正式发布

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 中国作为全球最大的人口大国,所属开发者在 GitHub 上的占比自 ...

  8. GitHub 中文文档正式发布了!激动人心的大好事!

    中国作为全球最大的人口大国,所属开发者在 GitHub 上的占比自然也少不了. 近几年,随着 GitHub 在国内的不断推广普及,不少开发者都开始纷纷采用 GitHub 来作为公司内部的代码管理工具. ...

  9. keras中文文档_【DL项目实战02】图像识别分类——Keras框架+卷积神经网络CNN(使用VGGNet)

    版权声明:小博主水平有限,希望大家多多指导. 目录: [使用传统DNN] BG大龍:[DL项目实战02]图像分类--Keras框架+使用传统神经网络DNN​zhuanlan.zhihu.com [使用 ...

  10. golang中文文档_Golang 标准库 限流器 time/rate 设计与实现

    限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务.网关.和一些后台服务中会经常遇到.限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现 ...

最新文章

  1. 生物学将是下一代计算平台:DNA是代码,CRISPR是编程语言
  2. OpenStack Liberty 连接vCenter
  3. 马哥-51CTO-Linux培训-0910-程序包管理
  4. 2019ICPC(南昌) - Magic Master(模拟)
  5. 键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)
  6. 1061. 判断题(15)
  7. oracle12537错误,ORA-12537:TNS:connection closed错误处理方法
  8. 北京师范大学新生入学计算机考试内容,北京师范大学
  9. linux sed 循环多行,linux sed 多行处理详细总结
  10. 漫步最优化二十七——二次插值法
  11. java常规普氏分析法_人脸对齐:Procrustes analysis 普氏分析
  12. Elsevier旗下期刊利用latex模板撰写论文记录
  13. ArduinoUNO测试VEML6075紫外线传感器
  14. GBase 8a 集群维护工具C3介绍
  15. 【报告分享】2021中国医生洞察报告-丁香园(附下载)
  16. 超声波测距1602显示程序
  17. 201771010101 白玛次仁
  18. CCD视觉检测设备如何选择光源
  19. L1-020 帅到没朋友(C语言)
  20. 电机世界之直流无刷电机(科普文)

热门文章

  1. iOS逆向(八)逆向工具 otool 介绍
  2. VIVO校招C++岗面经(笔试+一面+二面+Offer)
  3. XeCJK 使用系统字体
  4. win10开启ftp连接不上的正确解决方案
  5. Linux ab压力测试工具安装教程
  6. java实现同步的几种方式(总结)
  7. Navicat安装教程
  8. baymax平台导入任务错误日志报错: Please login with USER and PASS.
  9. JLINK-->JFlash烧录固件
  10. 想系统的学习一下项目管理,有什么好的书籍推荐吗?