openpose
-
下载git上面的openpose项目源码:要求带cmakelist
-
下载cmake软件
-
将openpose源码解压并放在合适的路径下:下载caffe和pybind11,分别解压并放在3rdparty文件夹下;分别打开models和3rdparty/windows,其中有bat文件,将其中要下的文件先下载下来并解压至相应的文件夹中 (caffe和pybind11下载地址见:https://xugaoxiang.com/2021/05/29/build-openpose-for-windows-python-api/) (models和windows中bat文件中的下载地址提取方式见:https://www.bilibili.com/video/BV1WV411v7aj?spm_id_from=333.999.0.0,只看其中的下载过程即可)
-
在openpose文件夹下新建一个build文件夹
-
打开cmake软件,键入以下信息
-
点击configuration,选择相应的vs版本、x64或32、默认选项:
-
一次configuration后,选中如下两个:
-
再次点击configuration
-
点击generate
-
点击open project:这个在generate后才能点击,之前是灰色的,无法点击。之后应该自动运行visual studio打开项目。如果出现错误:
cmake open project出现未知错误...
,则跳过cmake,直接找到openpose/build打开项目 -
vs中编译:右键单击相应解决方案-->生成/重新生成
openposedemo:在vs上跑的一个demo项目
pyopenpose:这里就会生成python需要的库文件pyb和依赖dll等
然后按照
具体对照sys.path和os.environ
-
运行:在vs的terminal中,找到openpose/examples/.../01...py,注意不是build中,而是在examples中,其实也好理解:build中的是对源码进行编译的结果,生成了pyopenpose的库,而实际演示的项目本来就不应该在build中,不然岂不是只有先编译才能写demo了?
-
pycharm中实现:细节部分看项目中的path和pyb文件解释
下面临时在一个pycharm中的项目中建立一个文件夹用于trail/实验
建立的文件夹内容如下
另,test.py也是自己建立的,不过内容基本是照搬vs中01xxx.py的
-
错误整理:由于记不清是哪一步出的错了,所以就统一放到这里:顺序是时间顺序:有错误搜索解决方案的历史记录
如果出现这个错误:
CMake Error: The source directory "xxx/openpose" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
:检查下载的压缩包是不是不含cmakelist文件:特别是拉取的release版本可能就不含cakelist,如果没有就拉取源码而非release版本如果出现这个错误:
[CMake Error: The following variables are used in this project, but they are set to NOTFOUND.](https://stackoom.com/en/question/319pY)
:使用管理员模式打开cmake试一下如果出现这个错误:
CMake Error at CMakeLists.txt:3 (project): Failed to run MSBuild command:xxx(一个路径)
:检查上面第4步下载的文件有没有完全解压且放在相应的文件夹下如果出现这个错误:
cmake open project出现未知错误
:则跳过cmake,直接找到openpose/build打开项目如果出现这个错误:
Error: OpenPose library could not be found. Did you enable
BUILD_PYTHONin CMake and have this Python script in the right folder?
:检查是不是改错python文件或者文件对了但是改错了路径 -
其他事项
cuda版本选择
cuda和cudnn版本建议不要太新,最新版的支持少,如现在(22/2/7)就是cuda11.6,但是tensorflow并不支持(支持的最高版本仍没有达到11.6的地步),pytorch想来也是不行
源码+configration, generate出的项目的结构:下面都在build中
有意思的是,在python demo的演示中,似乎将本机视作win32,但实际上这不是x64的吗?这个暂时不知道怎么解释
这个文件的相同路径下有一篇论文,讲的是openpose,中期的时候可以考虑加上,其实也可以看看,比较有用吧
-
安装并实现pychram用到的博文、视频等链接
将来看的: