Ubuntu18.04下OpenPose的安装(详细)

Openpose的安装

借鉴的一些博客

1. https://mp.weixin.qq.com/s/a7KDj_12VJfRgWrhp2FxdA
2. https://blog.csdn.net/schoolblack/article/details/115376256?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163979365016780271586581%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163979365016780271586581&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-9-115376256.first_rank_v2_pc_rank_v29&utm_term=ubuntu+%E5%AE%89%E8%A3%85+openpose&spm=1018.2226.3001.4187
3. https://blog.csdn.net/xhbsss/article/details/116704977?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163996508816780366564986%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163996508816780366564986&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-5-116704977.first_rank_v2_pc_rank_v29&utm_term=ubuntu%E5%AE%89%E8%A3%85openpose&spm=1018.2226.3001.4187
4. https://blog.csdn.net/yhaolpz/article/details/71375762
5. https://xugaoxiang.com/2020/10/26/openpose-build/

我的配置:ubuntu18.04-cuda10.2-cudnn7-python3.7-pytorch1.6.0

步骤

默认大家都安装好cuda和cudnn啦,我就不再赘述啦,如果没有安装的话,这一部分还是挺麻烦的,大家可以去搜相关博客安装即可,然后便可进行下面的步骤啦。

1. 下载依赖

首先根据博客:https://blog.csdn.net/yhaolpz/article/details/71375762的第一步 安装依赖包,将依赖的包安装上

2. 克隆相关库

根据博客:https://blog.csdn.net/schoolblack/article/details/115376256?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163979365016780271586581%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163979365016780271586581&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-9-115376256.first_rank_v2_pc_rank_v29&utm_term=ubuntu+%E5%AE%89%E8%A3%85+openpose&spm=1018.2226.3001.4187的引入库所示,将除了CMake GUI之外的所有库克隆好,并移动到对应的位置。

**注意:**caffe版本一定要是https://github.com/CMU-Perceptual-Computing-Lab/caffe这个版本,而不要去克隆最新版的官方caffe,最新版的caffe貌似与openpose不兼容,在我安装的过程中,最新版的caffe是不能安装成功的,因此一定要用上述链接这个版本。

3. 安装opencv3.2.0

按照博客:https://blog.csdn.net/yhaolpz/article/details/71375762中的第8步,安装opencv,注意我是安装的3.2.0版本的

4. 安装CMake GUI

如博客:https://xugaoxiang.com/2020/10/26/openpose-build/所述,openposecmake版本的最低要求是3.12,而ubuntu中用apt-get方式默认下载安装的版本是3.10.2,因此如果不手动安装的话,后面编译的时候会出现错误。按照此博客所示,手动安装cmake,在这里,我用的是跟博客一样的版本-3.18.4

5. 编译caffe

读者可能有疑惑了,为什么现在就要编译caffe,而openpose文档上写着用cmake-gui来build caffe。这是因为,根据openpose安装文档来说,openpose文档中是在安装openpose过程中进行caffe的编译的,但是我在安装过程中经过数次错误(耗费几天)始终不能顺利安装成功,每次总会有错误产生,因此为了避免错误,选择了先编译caffe,然后再通过设置cmake-gui中caffe相关路径来安装的方法。事实证明,这种方案是最快最便捷的,即使caffe编译时出错,也很容易解决。

编译caffe时,有以下几点:

  1. 大体思路按照这个博客即可:https://blog.csdn.net/xhbsss/article/details/116704977?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163996508816780366564986%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163996508816780366564986&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-5-116704977.first_rank_v2_pc_rank_v29&utm_term=ubuntu%E5%AE%89%E8%A3%85openpose&spm=1018.2226.3001.4187,下面几点是与此博客不同的地方。
  2. 在博客第3步中,你会发现我上面所说的caffe版本中没有Makefile.config.example这个文件,这个文件要从最新的caffe版本库中去拿到,下载下来后放到咱们需要的caffe文件中即可,并按照博客所说进行内容的更改。
  3. 在编译caffe时,会有两个重复的caffe,一个是咱们第一次克隆下来的,另一个是放在/openpose/3rdparty/caffe下的caffe,那么该编译哪一个呢,事实上我编译的第二个,也就是openpose这个,我也建议读者编译这一个,当然,按理来说,编译另一个当然也可以,但我推荐是第二个。
  4. sudo make runtest -j8测试编译出来的caffe时,可能运行到中途会报错误,没关系,可能是咱们的caffe版本很老,而用的是新版的配置文件Makefile.config.example,所以可能会产生对一些层不支持的错误,不要紧,因为运行openpose是用不到这些层的,只要caffe能进行测试代表能用就行。

至此,caffe也编译完成了,在openpose/3rdparty/caffe/build/lib下也会产生libcaffe.so文件了,稍后便会用到这个文件。

6. 下载模型

cd models
./getModels.sh      显示下载结束后,你可以再次执行这条命令,检查是否都已下载好了,以免后续报错找不到模型。
cd ..

通过执行上述命令,可以下载openpose用到的模型,如果不主动下载,此后通过cmake-gui进行配置的时候也会自动下载,只不过那时候下载速度极慢,要等好久了。

我已经将下载好模型的models文件压缩为压缩包,只需解压缩然后将得到的models文件夹替换掉openpose的models文件夹即可,方便快捷。

百度云链接如下:链接: https://pan.baidu.com/s/1QGeOk2oPWe-lqawzzh3NJg 提取码: 8i1i 复制这段内容后打开百度网盘手机App,操作更方便哦

7. 编译openpose

经过上面数次步骤,终于到了要编译openpose的时候啦。

首先通过mkdir build在openpose的目录下创建build文件,然后通过sudo cmake-gui打开cmake,然后根据openpose安装手册所述设置好两个文件夹路径,然后点Configure按钮。然后下面出现Configure done的标志,表示配置成功。然后出现一些配置项,如下图所示(因为我是安装完才写教程的,所以用的图是网上其他博客的,只需理解相关配置项即可,不必非得跟此图一样)。

配置选项

**注意:**要把BUILD_CAFFE选项去掉,然后在Caffe_INCLUDES_DIRSCaffe_LIBS处分别输入openpose/3rdparty/caffe下的inclue文件夹和openpose/3rdparty/caffe/build/lib libcaffe.so文件。此外,一定要把BUILD_PYTHON勾上,在安装过程中看过很多博客说,如果不勾这个选项,那么openpose的demo便不能用,所以还是勾上好了。此外,还有DOWNLOAD_BODY_COCO_MODEL选项,因为我是用openpose来提取视频中COCO关键点格式的骨架,所以我勾上了,但勾不勾应该没什么关系,因为之前的步骤我们已经将所有的模型都下载下来了。出于谨慎,建议各位按需勾上自己要用的选项。

至此,关于编译的配置已经完毕,点击下面的Generate即可,会出现generate done的标志。

返回命令行,通过运行以下两句命令进行编译即可。

cd build
make -j`nproc`

等着到达100%就编译成功啦,到这里真是惊喜,因为我搞这个搞了3天,中间出现无数的错误,奈何caffe错误万千,各种错误也没有什么解答的博客可以借鉴。因此,每次遇到无可奈何的错误,只能通过rm -rf来重新开始,这次编译成功真的是太惊喜了,总算上天垂怜,不致白费我3天多的努力(已经找到了一个tensorflow版本的openpose,差点就去用那个openpose的代码了。不过据我发现,这个caffe编译的openpose效率还是蛮高的,应该会比那个tensorflow的运行快一点点叭)

最后运行测试./build/examples/openpose/openpose.bin --video examples/media/video.avi,会出现如下结果:

在这里插入图片描述

成功!!!啦啦啦~

附上用到的各种库,为了方便国内用户,已经转化为gitee库了:

1. https://gitee.com/Vinncent/openpose.git
2. https://gitee.com/Vinncent/caffe
3. https://gitee.com/Vinncent/pybind11.git

再附上用到的初始的Makefile.config.example文件吧,自取链接:链接: https://pan.baidu.com/s/1eu-jtmWGg0j8Zc0NWngoNQ 提取码: snm8 复制这段内容后打开百度网盘手机App,操作更方便哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值