人体行为识别(骨架提取),搭建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,           "-1x368",只需要修改368的数值就可以显著的降低显存使用率,但是相应的会降低准确度,我这里改成了-1x256,基本上2GB显存就可以运行了。

 

 

  2.如果没有摄像头,就会报错找不到摄像头,这时我们就需要修改让程序打开视频文件,修改这个参数为视频文件位置,注意是程序里是反斜杠,相应的你需要在这个目录下放入视频文件,我这里完整目录为A:\openpose-master\examples\media\dance.mp4:

 

  3.如果你需要不用body_25,而用coco或者MPI,相应可以更改  model_pose 这个参数,还有更多的可以更改的参数,自己读一读后面的注释就可以了。

 

经过一番配置,具体的运行结果如下:

 

 

可以看出来帧数真的很低啊,不过识别度真的非常高,接下来就可以愉快的玩耍了!!!

 

posted @ 2019-09-16 21:24  潘工  阅读(17845)  评论(39编辑  收藏  举报