人体行为识别(骨架提取),搭建openpose环境,VS2019(python3.7)+openpose
这几天开始接触人体行为识别,经过多方对比后,选择了现在最热的人体骨架提取开源库,openpose。
下面就不多说了,直接开始openpose在win10下的配置:
需求如下:
1. VS2019 据说VS2015以上的版本就可以,VS201x主要是为了通过cMake生成的.sln文件生成可执行exe文件、dll文件,和一些程序运行所必需的文件,下载VS2019 community版本就可以,有微软账号(免费申请)就可以免费用;
2. Python3.7+Pycharm 想要在Python环境下运行的需要安装这两个,当然也可以是其他的组合,不过还是推荐最新版本的,而且Pycharm真的很棒;
3.cmake-3.15.3-win64-x64 https://cmake.org/download/ 打开官方网站下载即可,选择最新版本的,这个版本可以生成VS2019的文件,其他的比如有VS2017。。。。也可以选旧版本的,不过这个向下兼容,下载最新的就可以;
4.cudnn(最新)+cuda(最新) 这两个怎么装百度一下就可以了,很简单,但是推荐在装好VS201x后安装,不然可能会出现一些问题,不会的可以留言问我;
5.openpose 在GitHub上下载最新的openpose源文件,网址如下https://github.com/CMU-Perceptual-Computing-Lab/openpose。
以上差不多就是配置openpose所必须的东西了,接下来是具体的步骤:
1.假设你已经装好了VS2019,Python3.7+Pycharm,cudnn(最新)+cuda(最新);然后两个下载并解压好的Cmake和OpenPose(我这里为openpose-master,不同的下载方式可能还会有不同的命名方式,不过都无伤大雅)源文件如下图红色下划线所指:
2.文件路径如下,打开cmake-gui.exe;
打开cmake-gui.exe如下,按照我所用红色下划线标注的填写,对应的路径修改为自己的,如果你跟我一样放在A盘,并且文件名都一样就可以 不用改,build_pan_20190913可以改成别的名字;
3.需要在Python中运行的,在这里打勾:
需要下载全部动作识别模型文件的,在找到这些选项打勾,默认只选BODY_25,这个模型识别关节点最多,有20多个,而且是标准CUDA运行 的,后面的COCO,MPI各有不同的优缺点,建议下载:
没有下载或者下载不成功也可以先通过Cmake编译以后再下载,路径如下,双击getModels.bat即可
4.回到Cmake,先点Configure,结束而且成功后再点Generate,此过程费时非常长,建议点完Configure后去吃个饭,回来可能就快好了。。
5.然后在如下图所示中会有这样一个文件:
如果你已经装好了VS201x,可以直接双击打开,之后会这样显示:
这里改成我这样,用Release模式:
然后生成解决方案,快捷键Ctrl+Shift+B,至此,所有配置完毕。
解决方案管理器中目录如下,打开示例程序,如果你的显卡足够好(显存需要4GB左右)而且有摄像头,可以直接按F5运行。
如果不行,就需要改一下东西,来让电脑运行起来(openpose需要的资源真的非常多):
1.显存不够就会报错:error == cudaSuccess (2 vs. 0) out of memory ,这个意思就是显存不够了,这时我们就需要修改头文件,鼠标放在flags.hpp上,按F12跳转到flag.hpp,如下:
修改 net_resolution, “-1×368″,只需要修改368的数值就可以显著的降低显存使用率,但是相应的会降低准确度,我这里改成了-1×256,基本上2GB显存就可以运行了。
2.如果没有摄像头,就会报错找不到摄像头,这时我们就需要修改让程序打开视频文件,修改这个参数为视频文件位置,注意是程序里是反斜杠,相应的你需要在这个目录下放入视频文件,我这里完整目录为A:\openpose-master\examples\media\dance.mp4:
3.如果你需要不用body_25,而用coco或者MPI,相应可以更改 model_pose 这个参数,还有更多的可以更改的参数,自己读一读后面的注释就可以了。
经过一番配置,具体的运行结果如下:
可以看出来帧数真的很低啊,不过识别度真的非常高,接下来就可以愉快的玩耍了!!!