ubuntu16.04安装openpose

(一)安装caffe

安装相关依赖库:

sudo apt-get --assume-yes install build-essential
 
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
 
sudo apt-get install --no-install-recommends libboost-all-dev
 
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
 
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
 
sudo -H pip install --upgrade numpy protobuf

查看protobuf版本:

protoc --version

openpose与当前Anaconda中自带的protobuf版本不兼容,需要2.6.1版本的protobuf。(CMU官方github上说不要安装Anaconda,其实是可以的,像hdf5等等的依赖库用Anaconda就可以一起安装了,免去了自己安装的麻烦)

下载Caffe:

git clone https://github.com/BVLC/caffe.git

检查Caffe版本:

cd caffe/
git checkout f019d0dfe86f49d1140961f8c7dec22130c83154

OpenPose贡献人员还没解决因最新版Caffe增加Layer导致不兼容的问题,所以需要使用commit为f019d0dfe86f49d1140961f8c7dec22130c83154的Caffe。(所以我们不能用openpose的脚本自动下载caffe,之前我用官方的方法直接配,全部编译通过了,但是运行的时候报错。我们要通过Anaconda下载指定版本的caffe来编译,在编译openpose时链接之前我们自己编译好的caffe)

(二)安装OpenPose

下载OpenPose:

git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git

下载模型(这一步可跳过,因为之后会自动下载):

cd openpose
cd models
./getModels.sh
cd ..

打开cmke软件:

cmake-gui

填写openpose源码目录以及build:

点击Configure按钮, 选择Unix Makefile和use default native compling,点击finish按钮

点击Generate按钮,中间会出现一些红色的可配置项。之后按图操作配置caffe编译路径 :

最后点击Generate按钮

OpenPose 编译

cd OPENPOSE_ROOT/build/
make -j`nproc`

编译过程中出现过一个错误 cannot find #include “caffe/proto/caffe.pb.h” 
通过下图方法解决问题(在caffe目录下输入如下代码):

测试:

./build/examples/openpose/openpose.bin --video examples/media/video.avi

(三)其他相关


[1] - 编译时不采用 cuDNN:

在OpenPose 配置中,去除 CMake 的 USE_CUDNN 勾选.

如果不采用 cuDNN,则需要减少 --net_resolution 设定的尺寸,以避免 GPU 显存不足.

--net_resolution 可尝试:640x320, 320x240, 320x160, 160x80。

如:--net_resolution -1x320.

[2] - 自定义 Caffe 版本:

在OpenPose 配置中,去除 CMake 的 BUILD_CAFEE 勾选,手工定义 Caffe include路径和 library路径.

     - 自定义 OpenCV 版本:

在OpenPose 配置中,如果是从源码编译安装的 OpenCV,导致 OpenPose 不能找到 OpenCV路径,则可以手工指定 OPENCV_DIR 路径.

如:

cmake -DOpenCV_INCLUDE_DIRS=/home/"${USER}"/softwares/opencv/build/install/include \
  -DOpenCV_LIBS_DIR=/home/"${USER}"/softwares/opencv/build/install/lib \
  -DCaffe_INCLUDE_DIRS=/home/"${USER}"/softwares/caffe/build/install/include \
  -DCaffe_LIBS=/home/"${USER}"/softwares/caffe/build/install/lib/libcaffe.so -DBUILD_CAFFE=OFF ..

cmake -DOpenCV_CONFIG_FILE=/home/"${USER}"/softwares/opencv/build/install/share/OpenCV/OpenCVConfig.cmake \
  -DCaffe_INCLUDE_DIRS=/home/"${USER}"/softwares/caffe/build/install/include \
  -DCaffe_LIBS=/home/"${USER}"/softwares/caffe/build/install/lib/libcaffe.so -DBUILD_CAFFE=OFF ..

(四)Python API


OpenPose的 Python API,需要在 CMake GUI 中设置 BUILD_PYTHON.

如:./build/examples/tutorial_developer/python_1_pose_from_heatmaps.py.

(五)CPU 版本


为了可以手工选择 CPU 版本,则在 CMake GUI 中设置 GPU_MODE 为 CPU_ONLY.

注:CPU 版本的精度比 CUDA 版本的精度高大约 1%. 故结果可能有不同.

Ubuntu 中的 OpenPose 利用了 Caffe 的 Intel MKL(Math Kernel Library) 版本. 也可以通过取消选择USE_MKL,利用自定义的 Caffe 版本.

默认 CPU 版本在 Ubuntu 上大概每秒 0.2 张图像(比 GPU 版本慢 ~50X ). MKL 版本能够提升 2X 的速度,每秒 ~0.4 张图像.

(六)OpenPose 重新安装与删除


[1] - 如果运行了 sudo make install,则,首先在 build/ 中运行 sudo make uninstall.

[2] - 删除 build/ 路径.

[3] - CMake GUI 中,点击 File - Delete Cache.

[4] - 重新安装.(或删除 OPENPOSE_ROOT/ 路径.)

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值