人体姿态估计openpose学习与应用

前言

   2021年时,就有做人体姿态估计的想法,具体应用场景是想去把这个姿态估计与工厂操作工的动作结合起来,搭建一套能够监控和规范产线操作工装配动作的基于视觉的人体姿态估计系统。因为一系列的各种原因就搁置了(不要问原因,问就是没时间),近来时间宽裕些,就想着学习和搭建起来。这个博客制作的初衷也是想着记录下整个过程,方便复盘和帮助别人避雷。
  OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积和监督学习并以caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。人体姿态估计技术在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,人们更加熟悉的

应用就是抖音尬舞机。

一、环境搭建

1.openpose的获取

打开openpose下载链接
选择最新版本(我采用的是openpose1.7.0),点击clone or download,下载到项目目录。

2.vs2017安装

建议按默认路径安装

3.CUDA+CUDNN安装

(1)CUDA安装

CUDA下载链接
通过以上下载链接,选择合适的CUDA类型下载。(建议下载非最新版本,不要下载最新的版本,因为好多框架可能还不支持,导致后面各个深度学习框架安装报错,并且去官网重新下载,用已经安装过会报奇怪的错误)

人体姿态估计openpose学习与应用
选择需要的版本后,点击”DownLoad”下载即可;
待下载完成后,点击exe文件,进行安装即可。

; (2)cudnn安装

cudnn下载链接

人体姿态估计openpose学习与应用
基于上述下载链接,下载cudnn(注意版本应与cuda版本相符)。把cudnn解压到安装的cuda安装目录下。

通过百度网盘分享的文件:cuda&cuD…
链接:https://pan.baidu.com/s/1elieCnXVAMzXUgqfzTauzg
提取码:wob7
复制这段内容打开「百度网盘APP 即可获取」

将下载好的cuDNN解压,
①将cuda/bin中的cudnn64_7.dll复制到刚刚cuda的bin目录中,我的是C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/bin,
②同理将cuda/include中的cudnn.h复制到C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/include,
③将cuda/lib/x64中的cudnn.lib复制到C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/lib/x64。

; 4.CMAKE下载(已安装可忽略)

人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用
选择以下五个模型(必选)

人体姿态估计openpose学习与应用
然后等待下载五个模型
人体姿态估计openpose学习与应用
选CPU_ONLY
GPU_MODE改为如图所示(本文仅使用CPU操作,GPU操作后续会有)

然后再次点击configure,可能会下载一些文件,
注意选择相应的vs版本,默认是vs2017,若为64位平台选择win64
等进度条跑完,红色底色表示为新的内容,建议把所有model都勾选上,因为coco和mpi模型相对body_25较为简化,可加快运行速度。
记得将gpu-mode 改成cuda
单击generate生成工程文件,可能会下载一些文件。

人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用

二、编译运行

1.生成库

用 Visual Studio 2017打开build/OpenPose.sln
切換到 Release Mode并 生成项目
这一点非常重要,如果没有改成release,后面的python api会启动失败。

人体姿态估计openpose学习与应用

; 2.运行测试

将希望运行的项目(openposedemo或者tutorial里的项目等)右击设为启动项目f5运行。
Windwos调试器,这时就会调用摄像头实时地识别人体关节点了

人体姿态估计openpose学习与应用

(1)图片测试
bin\OpenPoseDemo.exe –image_dir examples/media/
(2)视频测试
bin\OpenPoseDemo.exe –video examples/media/video.avi
(3)摄像头
bin\OpenPoseDemo.exe –camera 0

如果想使用某个视频文件来运行OpenPoseDemo,可以在visual studio中增加命令行参数,方法是右键打开解决方案中的OpenPoseDemo,选择属性

人体姿态估计openpose学习与应用
选择调试,然后在命令参数输入:

–video C:\Users\hzkdediannao\Desktop\python\openpose\test.mp4 (这是视频保存的位置)

人体姿态估计openpose学习与应用

3.测试效果图片

人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用
人体姿态估计openpose学习与应用

; 三、问题分析解决

1.- Failed to parse NetParameter file: models\pose/body_25/pose_iter_584000.caffemodel
0x00007FF9F320286E (ucrtbase.dll) (OpenPoseDemo.exe 中)处有未经处理的异常: 请求了严重的程序退出。
编译遇到这个错误大概率是model没有下载全,去models目录下运行getModels.bat

人体姿态估计openpose学习与应用
2.demo启动缺少库、
只要将3rdparty\windows\caffe_cpu\bin对应库拷贝到demo所在文件夹即可。
人体姿态估计openpose学习与应用
下载链接1
下载地址2

Original: https://blog.csdn.net/weixin_37864926/article/details/124929651
Author: 快乐的叮小当
Title: 人体姿态估计openpose学习与应用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/720003/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球