openpose的搭建

openpose的搭建

总体来讲,我的实现过程分成了三步
(1)安装caffe(由于我的电脑只有intel显卡,所以是cpu版教程,没有安装CUDA)
(2)安装opencv
(3)openpose实现

安装caffe(CPU)

主要参考了这位博主的文章,受益匪浅。
Ubuntu16.04安装Caffe最全最详细教程(CPU)

我的总结(附带一些小技巧)如下:

(1)如何判断自己的电脑是否支持GPU
在终端输入命令: lspci | grep -i nvidia
若按回车之后没有显示任何内容,则证明你的电脑不支持GPU
(2)切换root,毕竟root可以执行一切
sudo su root
---------正式开始了下面----------

一、更新工具源

#备份原来的下载源文件
cp /etc/apt/sources.list /etc/apt/sources_init.list
# 使用gedit命令(或vim)打开文档,将下面的阿里源内容覆盖掉原文档中的内容,按ctrl + S保存并关掉文件
gedit /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

(1)输入命令,apt-get update
(2)更新工具软件,输入命令,apt-get upgrade
(3)执行完此条命令之后会出现如下图某些包无法下载,根据提示执行命令,apt-get update --fix-missing,然后重新执行pt-get upgrade

二、安装依赖项

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 apt-get install git cmake build-essential

有一定几率安装失败而导致后续步骤出现问题,所以要确保以上依赖包都已安装成功,验证方法就是重新运行安装命令,如验证 git cmake build-essential是否安装成功共则再次运行以下命令:

 sudo apt-get install git cmake build-essential 

三、下载caffe

安装完上面依赖之后,用git clone指令拉取远程仓库GitHub上的caffe项目,首先安装git包,其次再拉取。拉取耗时稍微有点长(大概5、6分钟)

apt-get install git
git clone git://github.com/BVLC/caffe.git

小窍门: 如果你觉得速度太慢,可以使用码云Gitee,具体就是先fork项目到自己的github上,再去码云上注册账号,在“+”里选择从github导入仓库,选择你刚刚fork的库,再clone码云中的地址就OK了,会快很多哦

git clone https://gitee.com/yuan_ya_ting/caffe.git

四、配置文件

cd 进入caffe目录,执行命令:

#备份Makefile.config.example文件
cp Makefile.config.example Makefile.config

ls查看可以发现多了一个新文件Makefile.config。接下来,修改新文件Makefile.config中的配置,键入命令:gedit Makefile.config
去掉CPU_ONLY前面的#号注释,使得CPU_ONLY := 1
在这里插入图片描述
找到INCLUDE_DIRSLIBRARY_DIRS,分别在其后面(空一空格)新增内容 /usr/include/hdf5/serial/usr/lib/x86_64-linux-gnu/hdf5/serial ,然后按ctrl + S 保存并关掉该文件。
在这里插入图片描述

五、编译

依次执行命令进行编译: make allmake testmake runtest(跑测试的过程)
在这里插入图片描述
当你看到PASSED 1162 tests则表示成功进行所有测试。注意:如果执行结果失败,则需要执行语句 make clean ,然后解决掉问题再重新编译。

六、python接口

caffe具有Python和C++接口,我们常用Python接口来编写代码,以下将展示如何编译Python接口。
Ubuntu16.04默认安装的是python2.7,没有pip指令包,所以需要先安装pip,根据提示键入命令:apt install python-pip
在caffe根目录下,有个python文件夹,文件夹里面有个requirements.txt文件,里面有需要的依赖库和版本信息,按照其安装即可。
在安装前,需要先安装gfrotran(前面可能已经下载并更新过了),因为安装scipy库时需要它,执行命令:apt-get install gfortran
cd 进入 python文件目录,这里先更新一下pip源,键入命令:pip install --upgrade pip
然后需要修改一下/usr/bin/pip文件,不然执行requirements.txt文件中下载python模块的命令时会出现错误,键入命令:gedit /usr/bin/pip
打开的文件大概如下图所示
在这里插入图片描述
这里提供两种修改方式
(1)将文件中的 from pip import main 修改为 from pip._internal import main(如图,但是并不适用于我)
(2)将最后三行改成:

from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())

你可以都试试,哪个好使用哪个!-。-
按ctrl + S 保存并关闭文件。接着执行命令: gedit requirements.txt
python-dateutil>=1.4,<2 修改为 python-dateutil ,也就是去掉要求下载的版本号。
ctrl + S保存并关闭文件。继续执行命令(注意当前路径下必须有requirements.txt文件):

for req in $(cat requirements.txt); do pip install $req; done

该命令会依次下载requirements.txt文件中的每一个python模块。
(又是一个漫长的等待过程)
在这里插入图片描述
warning不用在意,滚动鼠标滑轮查看是否有出现红色报错
接下来,键入命令:

pip install -r requirements.txt 

验证是否安装成功,若安装成功的,都会显示Requirement already satisfied,反之会继续进行安装python模块。

将caffe根目录下的python文件所在路径加入到全局环境变量,键入命令: gedit ~/.bashrc

打开bashrc文件。在文件的最后面添加一条语句
export PYTHONPATH=/home/你的登录名/caffe/python:$PYTHONPATH
保存并关闭文件,键入命令: source ~/.bashrc 文件设置立即生效!

最后一步:编译python接口。这里需要先修改一下配置文件,键入命令: gedit Makefile.config
找到文件中的PYTHON_INCLUDE
将 /usr/lib/python2.7/dist-packages/numpy/core/include 修改为 /usr/local/lib/python2.7/dist-packages/numpy/core/include ,即添加/local,
保存并关闭文件。
执行命令:make pycaffe
输出为 PROTOC (python) src/caffe/proto/caffe.proto ,则表示编译python接口成功。
验证python接口,进入python环境,引入caffe模块,如果没有报错则安装成功!使用 dir() 函数查看当前模块的属性列表,从图中可看到caffe模块被导入。

至此,caffe安装成功!

在这里插入图片描述

安装opencv

直接利用pip install opencv-python 安装即可,但是会出现time out情况,所以采用镜像安装

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

Over!

openpose实现

主要参考了下面博主的文章,致谢(`・ω・´)ゞ(`・ω・´)ゞ
Ubuntu16.04 Open Pose 多个人体姿态识别 CPU版 配置安装

一、下载openpose

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

可以同样采用前面说的码云的方式进行下载,这里就不多赘述了。(见caffe部分 - 三、下载caffe - 小窍门)

二、安装openpose

cd models
./getModels.sh
cd ..

此处的./getModels.sh命令是个大坑,很多人下载速度是10k,我这里干脆不动,无奈之下,只能在网上一顿乱翻,发现好心人上传了百度云(感动ing)
这里贴出他的博客以及百度云链接:
Openpose安装
链接:https://pan.baidu.com/s/1h_d0dw8OXJ2Ys4-djgW7BQ 密码:725r
好人一生平安啊!!!

三、配置cmake

在openpose目录下创建build文件夹:sudo mkdir build
打开camke界面:cmake-gui
在这里插入图片描述
然后出现下面的画面,提示有错误。
在这里插入图片描述
然后修改配置,
GPU_MODE选择CPU_ONLY,取消USE_CUDNN,再点击configure
等到配置全部正确了。会提示Configuring done。如果你的模型前面没有下载,这里会自动去下载,看你有没有打钩DOWNLOAD_BODY__MODEL等选项。如果已经下载了,打钩了也不会下载。
最后点击Generate

四、编译openpose

进入到caffe根目录,执行下面语句,不然编译会提示缺少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

然后进入刚才cmake生成的build目录下,编译open pose。

sudo make -j4

一个漫长过程,等待编译结束。
在这里插入图片描述
编译成功!

五、运行demo

进入到open pose的根目录,执行命令

./build/examples/openpose/openpose.bin --image_dir examples/media/

顺利的话就出现下面的画面,不过会很卡,因为没有GPU。你也可以加上参数

--net_resolution "80x80"

在这里插入图片描述
在这里插入图片描述
换个模型执行看看

./build/examples/openpose/openpose.bin --image_dir examples/media/ --model_pose COCO
 
./build/examples/openpose/openpose.bin --image_dir examples/media/ --model_pose MPII

大功告成!!!好开心有木有!!
当然,这只是一小小步,后面还有很多要实现的!不过对于我一个计算机视觉领域的小白来说,还是很值得开心的!不知不觉又熬夜了,就是想把最近的研究和成果赶快记录下来,很感谢网上的博主们无私的分享,我会再接再厉的!
奥利给!

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值