ubuntu下OpenPose的安装、使用、初步介绍

安装之前你需要安装caffe。

OpenPose 是第一个实时多人姿态估计系统,包括人体姿态、手指、面部表情等,总共有可以检测135个关键点。

特点:

功能:

  • 2D 实时多人关键点检测:

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

2*21个手部关键点检测,运算时间取决于检测出的人数。

70个人脸关键点检测,运算时间取决于检测出的人数。

  • 3D 实时单人关键点检测:

从多个单视图实现3-D triangulation

红外摄像头的同步处理

与红外、点云、灰度摄像头兼容,并且提供c++的例子添加自定义输入。

  • 校准工具箱

能够使得你更加容易估计失真,内在和外在相机参数。

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

输入:图片、视频、网络摄像头、红外/点云灰度摄像头和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: Experimental single-person tracker 增加处理速度观看体现更加流畅!
  • Jun 2018: Combined body-foot model released! 40% faster and 5% more accurate!
  • Jun 2018: Python API 发布!
  • Jun 2018: OpenCL/AMD graphic card version 发布!
  • Jun 2018: Calibration toolbox 发布!
  • Jun 2018: Mac OSX version (CPU) 发布!
  • Mar 2018: CPU version!
  • Mar 2018: 3-D keypoint reconstruction module (从多个摄像头识别)!

更多细节, 检查 all released features 和 release notes.

安装、重装、卸载:

需要在windows下安装的可在官方Github中找到相关链接。这里我在ubuntu下进行安装。

# 下载源码
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
# 检查是否需要更新
git pull origin master
# 安装cmake-gui
sudo apt-get install cmake-qt-gui 
# 下载模型
cd models
./getModels.sh
cd ..
# 创建build文件
mkdir build

填写openpose源码目录以及build,点击Configure按钮, 选择Unix Makefile和use default native compling,点击finish按钮

cmake-gui

ubuntu下OpenPose的安装、使用、初步介绍_第1张图片

完成之后:

ubuntu下OpenPose的安装、使用、初步介绍_第2张图片

重点是将BUILD_CAFFE的勾取消,Caffe_INCLUDE_DIRS和Caffe_LIBS的路径参考上图

点击Generate按钮,显示Generating done。

接下来在openpose文件夹下打开终端,执行:

cd build/
make -j`nproc`

安装完成后,在openpose文件夹下执行:

视频:

./build/examples/openpose/openpose.bin --video examples/media/video.avi

ubuntu下OpenPose的安装、使用、初步介绍_第3张图片

摄像头:

./build/examples/openpose/openpose.bin --face --hand

ubuntu下OpenPose的安装、使用、初步介绍_第4张图片

图片:

./build/examples/openpose/openpose.bin --image_dir examples/media/ --face --hand

ubuntu下OpenPose的安装、使用、初步介绍_第5张图片

 

大多数用户不需要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/,快速完成并且编译整个OpenPose项目,看这个文档examples/user_code/README.md获取更多的创建自己代码的细节问题。
  • OpenPose Python API:与C++的接口类似,Python的接口查看文档examples/tutorial_api_python/。
  • 增加额外的模块:在文档doc/library_add_new_module.md中可以找到更多的信息。
  • 标准的人脸或者手指检测:
  • 脸部关键点检测,不进行身体关键点的检测:如果你想要加速(并且会减少检测人脸的数量),查看文档:doc/standalone_face_or_hand_keypoint_detector.md。
  • 使用你自己的脸部和手部识别工具:与身体关键点识别不同,你可以使用你自己的脸部和手部识别工具。比方说,在手指能看清但身体看不清的时候使用(OpenPose的识别器不能正常工作),查看文档:doc/standalone_face_or_hand_keypoint_detector.md。

输出

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

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

查看增加运行速度、减少内存需求的提示,查看文档:doc/speed_up_preserving_accuracy.md。

扩展:

  1. 论文:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields,Hand Keypoint Detection in Single Images using Multiview Bootstrapping,Convolutional Pose Machines
  2. CMU训练数据集:CMU Panoptic Studio dataset.
  3. windows下OpenCv调用模型实现:https://mp.weixin.qq.com/s/MRRljFBH1T1STvTm0CT4Qw。

DensePose

论文地址:arxiv.org/abs/1802.00434

GitHub地址:github.com/facebookresearch/Densepose

数据集地址:github.com/facebookresearch/DensePose/blob/master/INSTALL.md#fetch-densepose-data

Realtime Multi-Person Pose Estimation

论文地址:arxiv.org/abs/1611.08050

GitHub地址:github.com/ZheC/Realtime_Multi-Person_Pose_Estimation

  • OpenPose C++:github.com/CMU-Perceptual-Computing-Lab/openpose

  • TensorFlow:github.com/ZheC/Realtime_Multi-Person_Pose_Estimation

  • Keras(1):modelzoo.co/model/keras-realtime-multi-person-pose-estimation

  • Keras(2):github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation

  • PyTorch(1):github.com/tensorboy/pytorch_Realtime_Multi-Person_Pose_Estimation

  • PyTorch(2):github.com/DavexPro/pytorch-pose-estimation

  • PyTorch(3):github.com/MVIG-SJTU/AlphaPose/tree/pytorch

  • MXNet:github.com/dragonfly90/mxnet_Realtime_Multi-Person_Pose_Estimation

AlphaPose

论文地址:arxiv.org/abs/1612.00137

GitHub地址:github.com/MVIG-SJTU/AlphaPose

ArtTracker论文:arxiv.org/abs/1612.01465

DeeperCut论文:arxiv.org/abs/1605.03170

网站地址:pose.mpi-inf.mpg.de/

GitHub地址:github.com/eldar/pose-tensorflow

DeepPose

  • Chainer:github.com/mitmul/deeppose

  • TensorFlow:github.com/asanakoy/deeppose_tf

  • 论文地址:static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/42237.pdf

我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

你可能感兴趣的:(ubuntu下OpenPose的安装、使用、初步介绍)