windows11下编译openpose并通过pyCharm调用

目录

前言

做毕设的时候要用到Openpose提取人体骨骼关键点,且需要在python中调用编程。过程花了几天,踩了不少坑,做个详细的笔记在这里。

环境

  1. windows 11 64bit;
  2. CUDA v11.6
  3. cuDNN 8.3.2.44
  4. Visual Studio 2022 Community
  5. PyCharm 2021.3 Community

准备工作

  1. 安装CUDA和cuDNN(网上教程很多)
  2. 下载Openpose(目前最新的是1.7.0,链接是github 的下载链接)
    Openpose 1.7.0 zip压缩包
  3. 下载依赖caffe和pybind11
    caffe
    pybind11 2.9.1

编译Openpose并运行Demo

解压下载下来的Openpose 1.7.0压缩包,如图所示

windows11下编译openpose并通过pyCharm调用
点击进入3rdparty文件夹,此时caffe和pybind11两个文件夹应该是空白的。
windows11下编译openpose并通过pyCharm调用
将提前下载好的caffe和pybind11解压后放入这两个空文件夹:
windows11下编译openpose并通过pyCharm调用
windows11下编译openpose并通过pyCharm调用
依赖放入对应文件夹之后打开CMake_gui进行编译。上面一栏选择openpose解压的位置,然后再该目录下新建一个build文件夹,填入下面一栏。
windows11下编译openpose并通过pyCharm调用
点击configure,会提示进行VS版本的选择,装了哪个就选哪个就行。
windows11下编译openpose并通过pyCharm调用
然后就自动开始下载资源并配置了,这个过程要一段时间的,取决于网速(和运气)。
windows11下编译openpose并通过pyCharm调用
Configuring done之后出现如下界面,这边勾选BUILD_PYTHON之后点击Generate开始生成(勾选是为了在python中调用,只要运行Demo的话可以不勾)。这个过程比较快。
windows11下编译openpose并通过pyCharm调用
生成完毕后红色会消失,如果这里报错可能是缺少依赖的原因,检查下之前说的依赖有没有放进去。没问题就点击Open Project打开VS进行编译了。
windows11下编译openpose并通过pyCharm调用
点击后自动启动VS打开Openpose的解决方案,在Example中找到OpenposeDemo并右击生成:
windows11下编译openpose并通过pyCharm调用
windows11下编译openpose并通过pyCharm调用
接下来将Demo设置成启动项目。
windows11下编译openpose并通过pyCharm调用
点击windows本地调试器即可运行Demo:
windows11下编译openpose并通过pyCharm调用
这边默认是会调用摄像头进行姿态识别的(人丑不放)。如果要对特定图片或视频进行识别的话,可以添加运行参数。点击调试——Openpose 调试属性。
windows11下编译openpose并通过pyCharm调用
在调试——命令参数中按如下格式输入要检测的图片或视频路径:
windows11下编译openpose并通过pyCharm调用
应用并点击运行:
windows11下编译openpose并通过pyCharm调用
就可以成功在指定图片或视频上运行Demo了。

; 在Python中调用

首先我们要打开Openpose解决方案,切换模式为release:

windows11下编译openpose并通过pyCharm调用
然后右击pyopenpose进行生成:
windows11下编译openpose并通过pyCharm调用
生成成功的标志是在build——python——openpose——Release文件夹下有如下三个文件:
windows11下编译openpose并通过pyCharm调用
接下来才是坑最多的地方…按照其他的教程,我们可以在build——examples——tutorial_api_python中找到示例python代码并修改路径后运行,但我在实际操作中发现总是出现如下错误:即找不到pyopenpose。
windows11下编译openpose并通过pyCharm调用
因此我们找到import pyopenpose需要的几个必要的文件:
windows11下编译openpose并通过pyCharm调用
windows11下编译openpose并通过pyCharm调用
将以上五个文件copy到bin文件夹中:
windows11下编译openpose并通过pyCharm调用
其实就是把所有需要的库文件放到同一个文件夹中,这样就不会找不到pyopenpose了。然后我们把示例代码、待测图片和模型也copy过来:
windows11下编译openpose并通过pyCharm调用
windows11下编译openpose并通过pyCharm调用
model文件夹在openpose文件夹中:
windows11下编译openpose并通过pyCharm调用
也copy到bin中(总之就是示例代码要什么就粘什么过来):
windows11下编译openpose并通过pyCharm调用

打开示例代码进行一些小修改,原来用来搜索路径的三行代码注释掉:

windows11下编译openpose并通过pyCharm调用
修改图片资源检索路径:
windows11下编译openpose并通过pyCharm调用
修改模型获取路径:
windows11下编译openpose并通过pyCharm调用
就能够成功运行了:
windows11下编译openpose并通过pyCharm调用

结语

总之真的是一个非常闹心的过程…尤其是路径搜索那段,无论如何也找不到pyopenpose模块,所以只能全放在一个文件夹里,反正能跑起来就行。继续去看代码了…毕设要做不出来了QAQ。

Original: https://blog.csdn.net/qq_43483625/article/details/123301876
Author: 深濑祈
Title: windows11下编译openpose并通过pyCharm调用

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

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

(0)

大家都在看

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