背景:最近公司需要立项关于体态识别的人工智能项目,经组长调研首选openpose,然后我首先开始在centos搭建openpose,耗时两天均已失败告终,一开始直接在centos环境内搭建,各种莫名其妙的问题。后来尝试用docker的Ubuntu镜像搭建,后面证实这种做法仅适合CPU_ONLY的模式,或者如果想在docker内搭建需要用docker-gpu版。最终还是找了一台机器专门刷了个Ubuntu1604从零开始搭建,耗时一天半终于搭建成功。记录一下,方便后面少踩坑。
硬件环境:显卡GeForce GTX1060 5G
系统:Ubuntu1604(12个逻辑核心数)因为将来是要做服务器用的,所以没刷桌面环境
基础环境
一、搭建个SSH服务,方便远程操作。(过程略)
二、在英伟达的官网上查找你自己电脑的显卡型号下载相应的驱动: https://www.geforce.cn/drivers ,然后安装。
OPENPOSE环境
一:源码下载
选择合适的目录:
1, git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
,2,cd openpose/3rdparty/ && sudo rm -rf caffe/ pybind11/
,3,git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe.git
,4,git clone https://github.com/pybind/pybind11.git
5,cd ../models && sudo ./getModels.sh
6,cd ../scripts/ubuntu && sudo bash ./install_deps.sh
二,cuda和cudnn,protobuf安装
注意:根据自己GPU的驱动版本选择cuda和cudnn版本,参考(https://blog.csdn.net/wanzhen4330/article/details/81699769),protobuf(caffe要求版本为2.6.0或者2.6.1)本人用的2.6.1
安装过程百度(cuda安装完成后会有一些环境配置),版本对上一般问题不大。
三,其他工具和依赖
cmake和opencv都是用apt-get安装Ubuntu1604默认版本即可。
cmake-gui装一个,使用xshell隧道代理,可是在本机使用远程的cmake以及后期效果查看
这一项设置同时可以在cmake的时候省去很多问题定位的麻烦。
cmake-gui执行configure和generate后
cd 到build目录
sudo make -j`nproc`
注意:caffe和openpose看别人的教程可以分开编译也可以一起编译。这里本人是分开编译的。因为在编译openpose的时候需要在cmake-gui选择openpose_lib和openpose_include目录。这个要caffe编译通过后才会有(试过直接一起编译,但是会因为部分原因导致python_api无法编译成功)。
编译通过后测试:
cd /home/openpose/openpose/build/examples/tutorial_api_python/(根据你的目录cd)
python3 01_body_from_image.py(效果如下图)
以上总结,cmake-gui解决了大问题,帮你自动定位需要的依赖路径,可视化配置,比较清晰的提醒你问题所在。
单独下载的内容如下图,其他都是直接apt-get安装: