ubuntu下openpose本地环境搭建

ubuntu下openpose本地环境搭建

因为装得是ubuntu18.04的系统,所以很多坑都得自己慢慢来踩,从中也是学习到了不少,下面依次来介绍边缘端的环境搭配在这里先放出我最终搭建好的环境,nvidia driver:418.74,CUDA version:10.1 cudnn10.1

一.CUDA10.1的安装

首先是最基本的显卡驱动安装
关于显卡驱动安装,网上有很多种方法,其中最简单的应该就是添加官方ppa源,然后直接用apt-git安装了

1
$ sudo add-apt-repository ppa:graphics-drivers/ppa

需要输入密码并按enter键确认。
之后刷新软件库并安装最新驱动。

1
2
$ sudo apt-get update 
$ sudo apt-get install nvidia-367nvidia-settings nvidia-prime

安装完成后通过下面命令查看是否安装成功。

1
$ nvidia-settings

但是你会发现,比较新的显卡驱动在官方ppa源里面是没有的,这时候就要去官网找自己的GPU的相应驱动程序了
https://www.geforce.cn/drivers


搜索后得到观看CUDA10.1的官方文档可知CUDA10.1仅支持显卡驱动版本大于418.39机器,所以挑一个版本号大于418.39非beta版的进行下载


下载完成后我们开始准备工作卸载可能存在的旧版本 nvidia 驱动(对没有安装过 nvidia 驱动的主机,这步可以省略,但推荐执行,无害)

安装驱动可能需要的依赖(可选)

1
2
3
4
$sudo apt-get update 
$sudo apt-get install dkms build-essential linux-headers-generic
把 nouveau 驱动加入黑名单
$sudo vim /etc/modprobe.d/blacklist-nouveau.conf

在文件 blacklist-nouveau.conf 中加入如下内容:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

禁用 nouveau 内核模块

1
2
$echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf 
$sudo update-initramfs -u

然后按ctrl+alt+f5进入字符终端界面,这里必须注意,只有进入字符终端才能进行安装,否则会安装失败报错
更改安装文件的权限(否则会报错无此命令)

1
$sudo chmod u+x NVIDIA-Linux-x86_64-418.74.run

最后安装

1
$sudo ./NVIDIA-Linux-x86_64-418.74.run

安装一开始可能会提示脚本运行失败,继续就可以了

至此,显卡驱动已经安装成功,现在开始CUDA10.1的安装
首先去CUDA官网寻找安装包
https://developer.nvidia.com/cuda-downloads

下载完成后,运行

1
sudo sh cuda_10.1.168_418.67_linux.run

即可进入安装界面
如果安装失败可以尝试减少安装选项

二.cuDNN的安装

安装cudnn需要在nvidia官网注册账号
https://developer.nvidia.com/rdp/cudnn-download#a-collapse731-10

cudnn其实是一些加速CUDA性能的库,首先按照解压放到CUDA的相应路径中
然后把其中的lib64关联到环境变量当中

1
sudo gedit .bashrc

在弹出的gedit文档编辑器(.bashrc中)中最后一行加入:
export LD_LIBRARY_PATH=/your/path/to/cuda/lib64:$LD_LIBRARY_PATH
重启环境变量

1
source .bashrc

三.Pytorch1.0的安装

安装好cuda环境后我们开始安装pytorch1.0环境
1.python环境的安装
首先要装python环境,这里我选择的是直接安装anaconda,里面不仅有python,还有大量的科学包,会省去很多麻烦,(因为贸易战的原因,所以清华镜像站并不能下载,只能去官网耐心下载)
下载完成后运行.sh文件

1
bash Anaconda3-2019.03-Linux-x86_64.sh

进入注册信息页面,输入yes;
阅读注册信息,然后输入yes;查看文件即将安装的位置,按enter,即可安装;
系统是自带python2.7的,可以修改环境变量使其启动的 python 为 anaconda

1
2
3
4
sudo gedit ~/.bashrc 
export PATH="/home/xupp/anaconda3/bin:$PATH"
顺带提一下pip的 安装方法
sudo apt-get install python3-pip

2.pytorch的安装
这时我们就可以安装pytorch1.0了,直接去pytorch的官网
https://pytorch.org/
选择自己系统的配置(官网上并没有CUDA10.1,选择10.0即可)

然后在终端中输入

1
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

即可安装pytorch1.0

四.Caffe的安装

然后到了安装caffe的环节了
在caffe环节,如果按照CSDN上的大多数教程来安装会有很多的坑,因为他们都是下载caffe的源码,然后用cmake进行编译,对于ubuntu18.04来说,makefile里面实在需要改太多路径了,而且有一些函数库已经被代替或者淘汰,有人说源码编译是为了对caffe框架进行微调,在这里,我感觉他是得不偿失,因为微调框架这种需求对于我们这种不作特殊研究的人来说其实是很鸡肋的,所以我选择了caffe官网提供的第二种安装方式
对于Ubuntu(> = 17.04)
安装预编译的Caffe
包括caffe本身在内的所有产品都包装在17.04及更高版本中。要安装预编译的Caffe包,只需执行此操作即可

1
2
sudo apt install caffe-cuda
sudo apt build-dep caffe-cuda # dependencies for CUDA version

第二条命令需要你修改sources.list

1
sudo vim /etc/apt/sources.list

然后把里面的deb-src的注释掉
然后最难办caffe环境就装好了,可以进入python,import caffe 如果没有报错,证明,caffe环境配置成功

五.Opencv3.4的安装

为了编译openpose的源码以及opencv3.4.6,我们需要安装cmake

1
sudo apt-get install cmake-qt-gui

安装完成后直接用命令cmake-gui 就可以使用cmake了
首先我们必须编译好opencv3.4.6
在opencv官网
https://opencv.org/opencv-3-4/
下载opencv3.4的压缩包
解压后到目录启动cmake

1
cmake-gui

如图配置

然后点击Generate
安装完成后需要对系统相关环境变量进行配置:

1
sudo gedit /etc/ld.so.conf.d/opencv.conf

将以下内容添加到最后:
/usr/local/lib
接下来配置库:

1
sudo ldconfig

更改环境变量:

1
sudo gedit /etc/bash.bashrc

在文件后添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。

六.Openpose的安装

现在开始安装openpose

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

检查是否需要更新

1
git pull origin master

七.安装cmake-gui

1
2
3
4
5
6
7
sudo apt-get install cmake-qt-gui 
下载模型
cd models
./getModels.sh
cd ..
创建build文件
mkdir build

八.启动cmake-gui进行编译

1
cmake-gui

填写openpose源码目录以及build,点击Configure按钮, 选择Unix Makefile和use default native compling,点击finish按钮

点击Generate即可开始编译,编译完成后我们在openpose文件夹中执行

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


七.Pytorch模型的训练
在github中下载pytorch训练模型的代码
https://github.com/NiteshBharadwaj/part-affinity
从COCO项目下载train2017.zip,val2017.zip和annotations_trainval2017.zip 关键点描述可在此处找到。提取文件夹并将其放在“/ data”中
然后运行

1
python main.py -data ../data -expID vgg19 -model vgg -train

模型在训练中
这里是通过迭代训练模型的,默认迭代150次,每次迭代都会加大模型的精度,我们这里迭代了三天训练出了29个模型

训练出来的29个模型

即可对视频中的人流进行人数统计

文章作者: QUST-Coder
文章链接: http://qustkx.com/2019/08/21/openpose/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 青岛科技大学信息学院科技创新协会