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的报错查解决方案了。


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

  最后终于瞎猫碰上死耗子,解决了这个问题,奉上图片为证

  查到了CMU的Openpose的实验实官方的安装思路,和规避错误的步骤,软件安装步骤上链接link.
  1.主要讲了软件的安装步骤,首先 安装CMake-gui 版本要对应Windows win64-x64格式的,我试过好多版本,最终装的是3.18版的。CMake历史版本链接link.
   2.重点注意的是先安装完成Visual Studio 2015/2017/2019版本中的一个,配置完环境变量


以防万一MSBuild的地址添加了两处

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

  不过奇怪的是我已经通过openpose中的.bat文件下载过需要的文件,CMake 点了Configuration之后还在重新下,这玩意等他下载完不知道猴年马月的,

  靠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说不行那就再解压一遍。
    最后通过了

    open project然后对ALL_BUILD生成exe成功。

    然后C++API中设置启动项

    调成release x64模式运行,然后出现了如下错误,好像是显存不够了

    又没有其他更好的显卡,看样子需要修改参数才能运行
    官方有加快处理速度的教程

巧合下我换了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";

还没试过,估计不明就里还是没效果,

  识别视频并转换输出需要找一下教程我用的是显卡识别的,搜索的时候油管的几个视频使用的设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。。。

更改识别项目我从其他安装视频中学到一招贴图如下

关于如何使用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的一些组件需要更新一遍,做好准备工作才行,可是下载速度真的好慢呀。

试了试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

  第一次运行时出现了一个错误: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上试试吧。

OpenPose环境搭建的经历相关推荐

  1. openpose环境搭建(全教程)

    目录 一.Ubuntu的安装 制作启动盘 装机 二.安装nvidia显卡驱动 第一步 获取显卡型号 第二步 去NVDIA driver search page查看支持 GTX1080ti 显卡的驱动的 ...

  2. cpu_only openpose Windows环境搭建

    Cpu_only openpose 环境搭建 只需要下载源码就能实现的仅cpu环境搭建 使用工具:cmake vs2017 1. 从GitHub官网上下载源码 官网网址https://github.c ...

  3. Java及Android开发环境搭建

    前言 自从接触java以来,配置环境变量折腾了好几次,也几次被搞得晕头转向,后来常常是上网查阅相关资料才解决.但是过一段时间后一些细节就会记不清了,当要在其他机子上配置时又得上网查或者查阅相关书籍,如 ...

  4. yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章

    第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...

  5. windows下pomelo开发环境搭建及JS乱码问题

    from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...

  6. Libgdx环境搭建及介绍

    Libgdx简单介绍: libgdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成.ibgdx兼容大多数微机平台(标准JavaSE实现,能执行在Mac.Linux.Win ...

  7. OSG+VS2010+win7环境搭建---OsgEarth编译

    OSG+VS2010+win7环境搭建 Win7下 osg+vs2010环境搭建 一.相关准备 a) Osg源码 当前最新版:OpenSceneGraph的3.0.0.zip 下载链接: http:/ ...

  8. Selenium简介以及selenium环境搭建

    一.Selenium简介 1.Selenium : 是一款用于Web应用程序测试的工具,它支持多平台.多语言.多浏览去实现自动化测试,支持IE.Chrome.Firefox等浏览器 2.架构:Java ...

  9. linux php环境搭建_PHP-小程序:(1)开发环境搭建

    很久之前就有计划搭建个私人用的听书小程序,利用周末时间,也零零散散的做了些准备,比如php.小程序.redis.linux相关知识的学习等,也记录了一些学习心得到今日头条,但都比较零散,不够系统清晰. ...

最新文章

  1. 【排序】快速排序,C++实现
  2. Handle table中CAS操作与A-B-A Problem解析
  3. cudnn 安装失败_Win10下安装tensorflow环境的一些坑
  4. python就业方向及工资-【行情分享】python就业方向与薪资大揭秘
  5. 客户端手册_山东省税务局社保费管理客户端企业缴费操作手册
  6. 图书馆管理系统用户端心得
  7. 线性代数---线性方程组
  8. 执行点击事件,第一次点击后,一切正常,第二次点击,执行两次,以此类推
  9. 2017.10.25 打鼹鼠 思考记录
  10. 新型冠状病毒肺炎国内分省分日期从1.16起的全部数据爬取与整理代码(附下载)
  11. CentOS 8源码安装Zabbix5.0
  12. 使用NEWSEQUENTIALID解决GUID聚集索引问题
  13. 创业基础-乐训课堂-李家华-答案
  14. vFORUM 2018,开启多云未来
  15. What?Tomcat 竟然也算中间件?
  16. archmanjaro添加black arch及cn源
  17. 【农历】计算方法--- (阳历转阴历)
  18. win11怎么设置电脑字体大小
  19. android内存最小版本下载,猫和老鼠精简版下载-猫和老鼠内存最小版下载v6.6.1 安卓版-芒果手游网...
  20. Spring3.1.0实现原理分析(七).填充Bean属性,初始化Bean,登记善后处理,注册单例Bean

热门文章

  1. X线DR医学图像 --- DR医用滤线栅及摩尔纹详解 (五) 消除摩尔纹
  2. 探秘前端 CRDT 实时协作库 Yjs 工程实现
  3. Python小白机器学习教程:Sklearn精讲
  4. 微信公众号 - Java推送公众号模板消息给用户
  5. 线性代数系列(四)--解方程组
  6. python之模块导入及模块导入路径
  7. 新程序语言 Wyvern 将不同Web语言融合在一起
  8. 块级、内联、内联块级
  9. java接口防刷_API 接口防刷
  10. js距离单位换算_javascript实现的平方米、亩、公顷单位换算小程序