UBUNTU16下配置gpu版本openpose以及配置过程中相关问题的解决

前置要求

众所周知,Openpose人体骨骼检测框架是基于Caffe框架的,所以在安装openpose前应该把caffe框架配置完成。配置Caffe是一个令人头疼的事,这里强烈推荐使用CMU专门提供给openpose框架的Caffe版本。
该Caffe版本可以从此下载:https://github.com/CMU-Perceptual-Computing-Lab/caffe

Caffe的安装

1.在目录中找个位置把Caffe的代码git下来:

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

2.安装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  pip install --upgrade numpy protobuf

如果找不到相关的包,输入下面的命令,然后继续装上面的包,总会装上的,我用的是清华源,实在不行就一行一行装,重复几次下面的命令就好

sudo apt-get update --fix-missing

3.修改Makefile.config文件
openpose版本的Caffe在目录下面已经有好几个对应的Makefile.config文件了,我的系统是Ubuntu16,cuda10,乍一看没有对应的Makefile.config,于是我用了Makefile.config.Ubuntu16_cuda8.example这个版本,先将文件重命名

mv Makefile.config.Ubuntu16_cuda8.example Makefile.config

下面是Makefile.config里面需要修改的地方

//把下面几处前的#号去掉
# USE_CUDNN := 1
# OPENCV_VERSION := 3 (若你使用的是opencv2,则忽略该条)
# WITH_PYTHON_LAYER := 1

修改INCLUDE_DIRSLIBRARY_DIRS的路径为虚线下部分

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS:= $(PYTHON_LIB) /usr/local/lib /usr/lib
----------------------------------------------------------------------------------------
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

4.修改Caffe目录下的Makefile文件

NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC$(COMMON_FLAGS)
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
----------------------------修改为如下------------------------------------------
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

看到有文章说要把**/usr/local/cuda/include/host_config.h**中的下面这行给注释掉。因为我系统中没有该文件,就没管了

#error-- unsupported GNU version! gcc versionslater than 4.9 are not supported!
----------------------------修改为如下------------------------------------------
// #error-- unsupported GNU version! gcc versionslater than 4.9 are not supported!

5.编译
在Caffe目录下输入命令

sudo make all -j8  (8核并行,当然不用-j8也行)

编译没问题就可以测试Caffe了

sudo make runtest

6.在编译的时候报错了

LD -o .build_release/lib/libcaffe.so.1.0.0
CXX tools/caffe.cpp
CXX tools/compute_image_mean.cpp
CXX tools/convert_imageset.cpp
/usr/bin/ld: 找不到 -lcblas
/usr/bin/ld: 找不到 -latlas
collect2: error: ld returned 1 exit status
Makefile:582: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
make: *** 正在等待未完成的任务....

提示找不到lcblas和latlas的库文件,这种情况多半是包没有安装到,或者Makefile.config中的链接路径问题,百度一搜发现是openblas包没装上

sudo apt-get install libopenblas-dev

然后修改Makefile.config文件中的Blas路径如下

BLAS := open
BLAS_INCLUDE := /usr/include/openblas
BLAS_LIB := /usr/lib

然后再次重来第5步的编译

openpose的配置

1.先把openpose下载到目录

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

2.安装CMAKE和CMAKE-GUI

sudo apt-get install cmake
sudo apt-get install cmake-qt-gui

3.在openpose目录中的3rdparty下建立Caffe的软连接,并且在openpose目录下新建build文件夹

ln -s Caffe目录的绝对路径   (openpose所在目录)/openpose/3rdparty/caffe
mkdir build

4.打开CMAKE,直接在命令行输入cmake-gui,或者在菜单中搜cmake点击打开。填好openpose相关路径后点击configure
在这里插入图片描述在这里插入图片描述
(1)首选项BUILD_CAFFE可以不用勾选了(因为之前我们已经编译过CAFFE)
(2)Caffe_INCLUDE_DIRS的路径为openpose/3rdparty/caffe/include
(3)Caffe_LIBS的路径为openpose/3rdparty/caffe/build/lib/libcaffe.so。
(4)别点Generate,先把模型下载好,然后覆盖到openpose/models.
openpose的模型的百度网盘链接为: https://pan.baidu.com/s/1Y-0vTsVCVJyMeEmXJllpJg 提取码: sg79
(5)点击configure,再点击generate

5.命令行进入openpose/build中,编译openpose

sudo make -j8 (-j8如前面一样,加不加随意,加了编译快)

6.编译过程报了个小错,提示找不到 #include “caffe/proto/caffe.pb.h“,百度了一下,命令行输入

protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto

继续第5步。

7.编译完成后测试,命令行回到openpose目录,测试openpose提供的小demo

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

若有所帮助请点个赞哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值