Ubuntu16.04下openpose编译及测试demo

一、安装

官方安装流程见openpose官方

在安装前,尽量保证有很好的显卡以及内存,不然在运行demo的过程中会出现out of memory的情况出现。

流程如下:

  1.下载

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

2.更新

git pull origin master

  可以直接通过git方式更新最新的openpose

3.依赖项安装

  (1)caffe安装

        安装caffe见caffe安装。注意安装caffe的过程会因为Protobuf的问题出现很多bug,尽量在安装caffe之前不要安装anaconda,用原始的python就不太会出现版本的问题

  (2)cmake-gui

        cmake-gui是cmake的用户界面模式,对于大多数项目来说是很好用的工具。安装方式见下:

sudo apt-get install cmake-qt-gui

  (3)GPUs的安装

         包括了cuda和cudnn的安装见cuda-cudnn

         注意版本问题,cuda8.0+cudnn5.1(官方推荐,但我在安装过程中5.1报错,改为6.0成功)

4.OpenPose配置

  打开cmake-gui,选择源文件所在文件夹,以及build文件夹位置,如果当前没有,会提醒你是否新建一个,选择是,然后点下Configure,成功后再点Generate。显示成功即可关闭

5.OpenPose编译

cd build/
make -j`nproc`

    编译过程中出现的bug记录在下面。

6.运行Demo

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

二、bug记录

1.运行demo过程中,错误记录:ERROR: something wrong with flag 'logtostderr' in file 'src/logging.cc'. One possibility: file 'src/logging.cc' is being linked both statically and dynamically into this executable

  解决:主要的原因就是glog与gflags的版本问题,首先要保证两者的版本合适,其次,在编译过程中,必须保证加上-fPIC,不然就会出现上述问题或者在make过程中出现Bad values类似的错误

  具体加上-fPIC的方法有所不同。对于Makefile文件来说,直接打开文件,查找CXXFLAGS,加上-fPIC即可,对于CMake环节,可以直接在终端CMake后面加上-fPIC.

  特别注意,上述问题其实不是openpose的问题,因为openpose没有用到glog,,实际上是caffe的问题。即使你在安装caffe过程中没有问题且运行成功,也可能出现此问题

  -fPIC的具体解释见https://blog.csdn.net/derkampf/article/details/69660050

2.运行demo过程中,错误记录:Segmentation fault

  解决:出现段错误的可能性很多,但是对于直接出现的Segmentation fault,我的原因同样是因为glog编译过程没有加上-fPIC

3.运行demo过程中,错误记录: Check failed: error == cudaSuccess (2 vs. 0)  out of memory

  解决:一方面有可能是cuda版本和cudnn的版本问题,一方面有可能就是显存不够。

4.build caffe或者openpose会出现下列错误,或者demo可以运行,外部运行时报错:

  ERROR: something wrong with flag 'flagfile' in file '/pose_estimator/gflags/src/gflags.cc' One possibility: '/pose_estimator/gflags/src/gflags.cc' is being linked both statically and dynamically into this executable.

解决:主要原因是gflag和glog的版本对应问题,与bug1类似,关键在于gflags和glog应该都编译为so文件更好一些,因此,如果是sudo安装的gflsg与glog,需要sudo apt remove ,如果是源码安装的,具体的步骤是

删除之前安装的gflags与glog
cd ${your_path}/gflags(glog)/build
sudo make uninstall
make clean
cd ..
sudo rm -rf build


对于gflags
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G"Unix Makefiles"//-DBUILD_SHARED_LIBS=ON是关键,这样在/usr/local/lib下只会生成.so文件,而不是.a文件
make -j8//数字根据你cpu核数,最终终端会看到.so文件的信息
sudo make install
sudo ldconfig

对于glog
cd glog 
./autogen.sh 
sudo CFLAGS="-fPIC" CFXXLAGS="-fPIC" ./configure 
mkdri build 
cd build 
cmake -D BUILD_gflags_LIBS=ON -D BUILD_SHARED_LIBS=ON -D BUILD_gflags_nothreads_LIBS=ON -D GFLAGS_NAMESPACE=ON .. 
make -j8
sudo make install

之后重新编译caffe,openpose即可

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值