因为毕设跟姿态识别有关,所以要在电脑上先部署openpose,先参考的大佬的步骤
但是过程中,遇到了一些问题,下面会讲。
环境
python | cuda | cudnn | VS | Cmake |
---|---|---|---|---|
3.7 | 10.2 | 7.6.5 | 2019 | 3.28 |
1.安装anaconda和python
第一步先安装python或者anaconda,第一次做的时候不知道就直接下载cuda和cudnn,编译一直报错,后来看到说要先布置好anaconda的环境,然后再下载cuda。python版本我用的3.7.
2.下载cuda和cudnn
下载cuda和cudnn,虽然说要用和电脑显卡匹配的版本,但是我用的cuda11好像还是会报错,然后又看了很久的文章,看到说可以兼容低版本的cuda,我后来用的版本是
cuda10.2
cudnn7.6.5 后面没有报错。
cuda下载地址:CUDA Toolkit Archive | NVIDIA Developer
cudnn下载地址cuDNN Archive | NVIDIA Developer
下载安装参考上面的文章
3.下载openpose源码
打开models,点击getModels.bat,下载模型,下载不了的可以去找一下别人下好的,
还有3rdparty文件夹下的三个文件也要下载,可以去找别人下载好的。
下载好的文件把源码里的文件替换掉。
随后在open pose-master里建一个build_gpu文件夹,用来存放编译出来的文件。
4.下载Cmake
下载地址:Download CMake
下载最新的就可以,没问题,记得解压好,bin文件下有cmake.exe
5.编译open pose
具体步骤参考文初链接,主要讲一下碰到的问题,首先如果要用python调用,记得加入python接口
如果用anaconda的虚拟环境,就进入虚拟环境的文件夹下选择你的python,
cmake编译会出现许多问题,要耐心看他的提示内容。关于vs版本,我2017和2019都试过,没有问题。编译没问题后,用vs打开项目选择release 然后生成解决方案。我第一次生成成功但是运行不出来骨骼点,后来发现是自己的models文件损坏了,重新下载就解决了,之后重装电脑再做,又出现了生成成功,但是无法定位程序输入点的问题,或者无法连接动态库的问题,这个一般是把bin文件全部拷贝到x64/release文件下能解决,但我觉得根本原因是我用了python3.11,后面用了3.7就没有这个问题。
后面要用pycharm调用open pose基本都是小问题,网上都有解决方案,大多是找不到pyopenpose模块,可以检查一下py环境是不是自己编译时的环境,版本是不是3.7。
总结
我第一次做的时候,卡在cmake上做了一个礼拜,耐心的看文章,找资料,包括去跟原文件对比是不是少东西了,一定要多尝试,细心,后面再碰到问题解决的速度明显就快了很多。如果有问题可以一起讨论。