OpenPose环境搭建的经历

2022年11月19日12:25:22

OpenPose环境搭建的经历

由于毕设要用到OpenPose做人脸识别的项目,自己没有用过,也只能硬着头皮从零开始上了

电脑配置需求

  1.window 10 或者 Linux 系统都可以
  2.GPU 必须是英伟达的显卡,CUDA技术对显卡的是比较挑的,显卡的CUDA核心越多工作效率越高,核心频率、显存频率越高越好,显存容量不要低于2GB,然而经历过21年的矿潮后,还有什么显卡是值得你拥有的。 GTX960???对不起我不想做接盘侠,然而我还有的选吗?毕竟太穷了。
  集显???哎~~~所以我笔记本用不了只能台式机死马当活马医了,毕竟疫情封校快递都停了,么的选择。

文件下载和安装教程(直接转载试过的 经验贴,有问题的解决方案也带上)

用的VS2017
CUDA10.0

1.win10 环境配置 链接:link.

  文件的下载和安装都挺全的,在运行bat下载models的过程中是真的慢几百兆的文件要下好几个小时,问题出现在了CMake 的配置问题集中在Visual Studio 上 链接:link.
自然还存在其他问题,只能根据CMake的报错查解决方案了。

OpenPose环境搭建的经历
已经试过的解决方案:
1.安装windows 8.1 SDK
2.path中添加MSBuild的路径,在cmd中调用MSBuild.exe能够显示出对应的版本号。
3.去掉openpose的文件名中的(.)
4.重装不同版本的CMake的。
至于其他的解决方案在内网外网查了好久也没有找到对症的解决方案,无用功做的太多了,自己就麻木了,最后去了CMake的官方论坛发表了自己的问题,死马当活马医吧。
CMake的帖子link.

  最后终于瞎猫碰上死耗子,解决了这个问题,奉上图片为证
OpenPose环境搭建的经历
  查到了CMU的Openpose的实验实官方的安装思路,和规避错误的步骤,软件安装步骤上链接link.
  1.主要讲了软件的安装步骤,首先 安装CMake-gui 版本要对应Windows win64-x64格式的,我试过好多版本,最终装的是3.18版的。CMake历史版本链接link.
   2.重点注意的是先安装完成Visual Studio 2015/2017/2019版本中的一个,配置完环境变量
OpenPose环境搭建的经历
OpenPose环境搭建的经历
以防万一MSBuild的地址添加了两处

  后再安装CUDA和cuDNN,其中CUDA会VS的版本进行不同的配置(之前重装过几遍VS),所以VS变了就要重装CUDA,cuDNN下载解压完成后要合并到CUDA的安装目录中,剩下的就是一些操作步骤中可能出现的问题解决方案了。
  还有一个官方的硬件方面的指导链接link.
3.将openpose转移到了C盘根目录下了。

  不过奇怪的是我已经通过openpose中的.bat文件下载过需要的文件,CMake 点了Configuration之后还在重新下,这玩意等他下载完不知道猴年马月的,
OpenPose环境搭建的经历
  靠CMake下载完这些models基本没戏,还是自己去找官网地址下载吧

  1. \openpose\models\pose\body_25\pose_iter_584000.caffemodel:http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/body_25/pose_iter_584000.caffemodel
  2. \openpose\models\pose\coco\pose_iter_440000.caffemodel:
    http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel
  3. \openpose\models\pose\mpi\pose_iter_160000.caffemodel:http:
    http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/mpi/pose_iter_160000.caffemodel
  4. \openpose\models\face\pose_iter_116000.caffemodel:
    http://posefs1.perception.cs.cmu.edu/OpenPose/models/face/pose_iter_116000.caffemodel
  5. openpose\models\hand\pose_iter_102000.caffemodel:
    http://posefs1.perception.cs.cmu.edu/OpenPose/models/hand/pose_iter_102000.caffemodel

还有第三方库的其他组件,才几百兆的文件,.bat下载速度才几KB/s 太慢,复制网址下载完后再拷贝到对应目录中

  1. 3rdparty\caffe
    https://gitee.com/Somnambulist-liu/caffe
  2. 3rdparty\pybind11:
    https://codeload.github.com/pybind/pybind11/zip/refs/heads/master
  3. 3rdparty/windows/caffe:
    http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe_16_2020_11_14.zip
  4. 3rdparty/windows/opencv:
    http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/opencv_450_v15_2020_11_18.zip
    在CMakeConfiguration的时候,如果出现提示在下载任意的第三方组件或者models的时候,按停止键,直接复制显示出来的下载地址去网页中直接下载好在拷贝然后解压到对应目录,重新CMake,明明之前解压过一遍,但是CMake说不行那就再解压一遍。
    最后通过了
    OpenPose环境搭建的经历
    open project然后对ALL_BUILD生成exe成功。
    OpenPose环境搭建的经历
    然后C++API中设置启动项
    OpenPose环境搭建的经历
    调成release x64模式运行,然后出现了如下错误,好像是显存不够了
    OpenPose环境搭建的经历
    又没有其他更好的显卡,看样子需要修改参数才能运行
    官方有加快处理速度的教程

巧合下我换了openpose1.5,试了一下,小一些的图片还是能够运行识别的,文件太大的话还是会出现out of memery,官方说在windows中使用粗DNN加持后只识别人体关节点至少需要2.2G to Body_25 1.5G to COCO,如果再加上面部或手部的话4G都不够。真的明白了为什么一些专业显卡动不动就需要24G的显存。
Body_25是GPU版本下最快、最准确,当然前提是你的显存足够大,COCO适用于CPU版本说是会被移除。
之后便是一顿测试识别图片没问题

切换模型和加速说是要在OpenPoseDemo中main函数指定位置里添加

	FLAGS_model_pose="COCO";
	FLAGS_net_resolution="320x176";

还没试过,估计不明就里还是没效果,
OpenPose环境搭建的经历

  识别视频并转换输出需要找一下教程我用的是显卡识别的,搜索的时候油管的几个视频使用的设CPU版本的用不到VS直接使用bin\OpenPoseDemo.exe在DOS里命令行处理,我也试了一下官方说需要把DLL文件拷贝到指定位置才能像CPU版本的一样使用命令行操作。[OpenposeDemo.exe].结果指定位置的链接炸了OpenPoseDemo.exe --video examples\media\video.avi --write_json output_json_folder --face --write_video examples\media\video.avi
  看官方的说法,如果你在windows上使用的VS,基本上是用来修改编译源代码或者链接第三方库什么的,反正意思就是想要用的顺就得磕源码,如果说你用的是portable便携版的,只需要DOS中输命令使用OpenPoseDemo.exe就行,相关的命令官方文档里有讲比较简单,可是怎么通过VS操作Openpose,官方文档里很少讲而且仅有的几条说明链接还炸了。心累.jpg。。。

更改识别项目我从其他安装视频中学到一招贴图如下
OpenPose环境搭建的经历

关于如何使用Python使用Openpose这个问题,https://www.youtube.com/watch?v=l4wYt0Ghos0,这个视频里有详细的方法,其实使用Openpose是C++源码编译的,Python语言的使用本质上是调用项目的API接口。

2linux 环境配置

先用虚拟机试一下吧,等快递解封了再买块固态装一下试试。
Ubuntu20.4LTS
CUDA11.1

主要参考的是CSDN上的schoolblack的两篇文章操作,安装CUDA和cuDNN[link1].
openpose的配置[link2]
还有一个全教程[link全教程].三个参考教程参考着弄,肯定还会出错(心累)
对了还有一个逼乎的链接最终效果要跟他的一样[link逼乎].

嗯。。。出错了下载完CUDA解压时tmp临时存储空间不够清空了一下回收站,然后再试gcc 版本不对,看逼乎上说的估计时Ubuntu的一些组件需要更新一遍,做好准备工作才行,可是下载速度真的好慢呀。
OpenPose环境搭建的经历

试了试pytorch-openpose版本(简易版),Pycharm虚拟环境配置

参考视频B站linkB站.
安装组件的时候要关闭代理软件,否则会下载链接失败,Pip的安装地址替换成国内的镜像网站下载能够快很多,常见的镜像网站就这几个:
  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
  豆瓣(douban) https://pypi.douban.com/simple
  阿里云 https://mirrors.aliyun.com/pypi/simple
OpenPose环境搭建的经历

  第一次运行时出现了一个错误:ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’
打开cmd,
卸载当前的版本,安装7.0以前的版本pillow

pip uninstall pillow
Yes
pip install Pillow==6.2.2 --user

卸载重装pillow[link].
之后修改最后一行的报错.py文件中的PILLOW_VERSION为__version__
再次运行一下可以识别测试视频了
  嗯,这个方法出的幺蛾子最少,而且十分的简单吗,对小白很友好,可是我做的项目这个简易版本功能太少了,处理速度也不行,只能说寄了,白费功夫,还是转到windows 和Ubuntu上试试吧。

  • 作者:KItoali
  • 原文链接:https://blog.csdn.net/weixin_45111375/article/details/123506191
    更新时间:2022年11月19日12:25:22 ,共 4444 字。