[openpose最新&简单安装]ubuntu16.04+openpose1.4+cuda8.0+cudnn5.1+opencv2.4+caffe

由于实验室需要,被安排跑卡内基梅隆大学开源项目openpose。按照网山各种教程安装环境及测试,都遇到各种问题,有的编译成功了测试时还出问题。几经重装与尝试,花了六七天的时间,综合各种帖子的方法,最后成功了。特写博客记录一下,也希望能帮到看到此博客的人。

个人觉得前面的安装驱动、cuda8.0、cudnn5.1等基本都不会有什么太大问题,重点在本文中的 “第六步 caffe及openpose的安装”。

本次基本配置为:

处理器:Intel® Core™ i7-5930K CPU @ 3.50GHz × 12

内存: 16g

硬盘:2T机械硬盘

显卡:NVIDIA GeForce 1080(2块)

安装的环境各版本参数

nvidia:384.130

cuda:8.0.61

cudnn:5.1.10

opencv:2.4.9.1

caffe:不详(openpose文件自带的)

 

第一步 安装ubuntu16.04(过程略)

第二步 安装nvidia驱动

此处采用简单的方法(毕竟标题说的是简单):依次点击:设置——软件和更新——附加驱动,选择对应的驱动

然后重启,ctrl+alt+t进入终端,输入nvidia-smi如有显卡信息表,则表示成功

第三步 安装cuda8.0 [1][2]

1.点击下载 cuda8.0

下载完毕将其拷贝至home/scu210  (scu210是电脑名,实际就是拷贝在了download的上一级)

2.安装cuda依赖:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 

因为对linux不怎么熟悉,所以为了保证后面的安装不出奇怪的错误,先把可能的依赖文件都装一下比较稳妥,请各位自行决定是否安装: 依次执行下列语句进行安装[2]

sudo apt-get update
sudo apt-get install build-essential cmake git pkg-config
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install libatlas-base-dev
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libopencv-dev

3.安装cuda

1.简单方法:

ctrl+alt+t进入终端

sudo sh cuda_8.0.61_375.26_linux.run

a)会先有个阅读声明,一直按q即可,然后accept

b)第一个选项install nvidia accelerated Graphics Driver (n,因为我们之前安装过了nvidia显卡)

之后就选择y或者默认

2.一般出现如图,就表示安上了

3.搭配环境[2]

cuda路径添加

sudo gedit /etc/profile

在profile文件末尾中添加:

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH

4.依次执行下列语句测试CUDA的samples 

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

或者在终端输入

nvcc -V

得到编译器信息则安装成功

第四步 cudnn5.1安装[7]

点击下载cudnn

下载cudnn 5.1.tgz后解压,cd到解压后的文件夹,里面包含两个文件夹include和lib64,终端输入下述命令即可

我是下载cudnn5.1,解压后,复制到download文件夹的上一级

cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
 
sudo cp lib64/* /usr/local/cuda/lib64/
 
cd /usr/local/cuda/lib64
 
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
 
sudo ln -sf libcudnn.so.5 libcudnn.so
 
sudo ldconfig -v

第五步 opencv2.4安装[1][4]

1.通过apt-get安装

sudo apt update
sudo apt upgrade 
sudo apt install libopencv-dev python-opencv

2.查看是否安装成功 

pkg-config --modversion opencv

若输出opencv2.4的版本信息,则成功

第六步 caffe及openpose的安装

1.下载openpose及caffe[1][5]

1.OpenPose下载:点击进入

   或者直接在终端用git下载

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

   相关paper:[CVPR2017] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

   下载链接:https://arxiv.org/abs/1611.08050

2.caffe 下载 :点击进入

    下载后解压,然后将所有文件复制到,openpose/3rdparty/caffe/

2.安装caffe

首先进入openpose/3rdparty/caffe/文件夹

cd openpose/3rdparty/caffe/

根据你的系统和cuda版本选择以下命令 我的系统是16.04,cuda是8.0,所以选的cp Makefile.config.Ubuntu16_cuda8.example Makefile.config

cp Makefile.config.Ubuntu14_cuda7.example Makefile.config # Ubuntu 14, cuda 7
cp Makefile.config.Ubuntu14_cuda8.example Makefile.config # Ubuntu 14, cuda 8
cp Makefile.config.Ubuntu16_cuda7.example Makefile.config # Ubuntu 16, cuda 7
cp Makefile.config.Ubuntu16_cuda8.example Makefile.config # Ubuntu 16, cuda 8

如果你的OpenCV是3版本,需要将Makefile.config里的 OPENCV_VERSION := 3的注释去掉。可以到文件夹下找到该文件打开修改,也可以在终端使用sudo gedit Makefile.config修改

# Uncomment if you're using OpenCV 3
 OPENCV_VERSION := 3

由于此处我们用的是自带的opencv2.4,所以对于Makefile.config不用修改。

#-j后面的数字写成你cpu的核数即可
make all -j12 && make distribute -j12

然后用以上语句编译caffe,不出问题的话会成功。我遇到缺少python-numpy的包的问题(如下图),用sudo apt-get install python-numpy安装后再编译即可。

sudo apt-get install python-numpy

3.安装openpose

1.安装cmake-gui

sudo apt install cmake-qt-gui

2.下载模型

cd models
./getModels.sh

3.编译安装

首先在终端输入打开cmake图形界面

cmake-gui

最上面两行填写openpose的路径和该路径下新建一个build文件夹(参考下图),然后点Configure

然后还有Caffe_INCLUDE_DIRS和Caffe_LIBS的路径(参看下图),然后点Generate生成。

注意:此处因为用的项目自带caffe,所以第一个BUILF_CAFFE要打勾。

下载完成后回到OpenPose主目录,和安装caffe的时候一样,将ubuntu目录下的与你系统对应的Makefile.config.example 文件复制到主目录下。如果你用的OpenCV 3版本,这里同样要将Makefile.config里的 OPENCV_VERSION := 3的注释去掉 意思就是说前面编译caffe的时候对Makefile.config做了什么修改,这里要做出同样的修改,否则编译可能会出错[4]。当然由于我们用的opencv2.4所以不用做修改。复制后进行编译即可。

cd ..
cp ubuntu/Makefile.config.Ubuntu16_cuda8.example Makefile.config
cd build
make all -j12   #后面的数字是cpu核数

最后输出build信息即成功。顺利的话,到这里就安装好了。如果出错了,先找到问题,make clean 一下之后再make all即可。 想卸载的话直接删掉OpenPose目录即可[4]。

 

第七步 openpose的测试[1][5][6]

1.视频测试

# human pose 
./build/examples/openpose/openpose.bin --video examples/media/video.avi 
# human pose with face and hands 
./build/examples/openpose/openpose.bin --video examples/media/video.avi --face --hand 

上面命令会对输入视频标记之后输出到屏幕 我们要将标记好的视频输出到文件而不是在屏幕打开,但是openpose目前没有相关命令,因此我们用如下命令输出标记好的图片序列输出到results文件夹下 ./build/examples/openpose/openpose.bin --video openpose_test1.avi --write_images results 然后,采取在用工具将图片序列转化为视频输出[6]。

2.摄像头测试

# human pose
./build/examples/openpose/openpose.bin
# human pose with face and hands
./build/examples/openpose/openpose.bin --face --hand

3.图片测试

# human pose
./build/examples/openpose/openpose.bin --image_dir examples/media/
# human pose with face and hands
./build/examples/openpose/openpose.bin --image_dir examples/media/ --face --hand

4.测试结果

 

参考文献:

[1]卡内基梅隆大学开源项目Github,详细内容请点击:https://github.com/CMU-Perceptual-Computing-Lab/openpose#quick-start

[2]来自 linhai1028 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/linhai1028/article/details/79451648

[3]来自 兜售小学生 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq897107499/article/details/79266348

[4]来自 linhai1028 的CSDN 博客,全文地址请点击:https://blog.csdn.net/linhai1028/article/details/79452759

[5]来自 二极管具有单向导电性 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u013512448/article/details/78076670

[6]来自 linhai1028 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/linhai1028/article/details/79452977

[7]来自 brucechen135 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u014436581/article/details/80761930

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值