复现ST-GCN,从零开始(1)——openpose的搭建

  • openpose的搭建
    • 安装caffe(CPU)
      • 我的总结(附带一些小技巧)如下:
      • 一、更新工具源
      • 二、安装依赖项
      • 三、下载caffe
      • 四、配置文件
      • 五、编译
      • 六、python接口
        • 至此,caffe安装成功!
    • 安装opencv
    • openpose实现
      • 一、下载openpose
      • 二、安装openpose
      • 三、配置cmake
      • 四、编译openpose
      • 五、运行demo

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-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo 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

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

openpose的搭建相关推荐

  1. OpenPose环境搭建的经历

    OpenPose环境搭建的经历 由于毕设要用到OpenPose做人脸识别的项目,自己没有用过,也只能硬着头皮从零开始上了 电脑配置需求   1.window 10 或者 Linux 系统都可以   2 ...

  2. openpose环境搭建(全教程)

    目录 一.Ubuntu的安装 制作启动盘 装机 二.安装nvidia显卡驱动 第一步 获取显卡型号 第二步 去NVDIA driver search page查看支持 GTX1080ti 显卡的驱动的 ...

  3. cpu_only openpose Windows环境搭建

    Cpu_only openpose 环境搭建 只需要下载源码就能实现的仅cpu环境搭建 使用工具:cmake vs2017 1. 从GitHub官网上下载源码 官网网址https://github.c ...

  4. ERROR:You appear to be running an X sever; pleas exit X before installin

    按照来自博客openpose环境搭建 ubuntu16.04+nvidia396.37+cuda9.2+cudnn7.1.4的方法 安装显卡驱动的时候遇到了如下错误. 仔细看了安装说明,既然是X服务的 ...

  5. python人体行为识别代码_人体行为识别(骨架提取),搭建openpose环境,VS2019(python3.7)+openpose...

    这几天开始接触人体行为识别,经过多方对比后,选择了现在最热的人体骨架提取开源库,openpose. 下面就不多说了,直接开始openpose在win10下的配置: 需求如下: 1. VS2019    ...

  6. Openpose+Tensorflow 这样实现人体姿态估计 | 代码干货

    作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 人体姿态估计指从单个 RGB 图像中精确地估计出人体的位置以及检测骨骼关键点的位置.人体姿态估计是计算机视觉领域的研究热点,是诸 ...

  7. Openpose推断阶段原理

    前言 之前出过一个关于openpose配置的博客,不过那个代码虽然写的很好,而且是官方的,但是分析起来很困难,然后再opencv相关博客中找到了比较清晰的实现,这里分析一波openpose的推断过程. ...

  8. 用 Python+openpose 实现抖音尬舞机

    游戏开始后,随着音乐会给出不同的动作提示,用户按照提示摆出正确动作即可得分.援引官方说法,"尬舞机"主要应用了今日头条 AI Lab 自主开发的"人体关键点检测技术&qu ...

  9. 已阻止应用程序访问图形硬件_玩转智能硬件之Jetson Nano(三)深度学习环境搭建...

    0.前言 iotboy:玩转智能硬件(一)Jetson Nano安装篇​zhuanlan.zhihu.com iotboy:玩转智能硬件(二)Jetson Nano配置篇​zhuanlan.zhihu ...

  10. 一文openpose姿态估计

    目录 1.什么是姿态估计 2.姿态估计的两种方法 2.1 Top-down方法 2.2 openpose方法 3.框架 4.网络结构 4.1 CPM(一代) 4.2 openpose 5.姿势识别 5 ...

最新文章

  1. php跳转app,小程序支持跳转app么
  2. F#中的异步和并行设计模式(三):代理
  3. python 操作word文件案例
  4. Sublime Text怎么快速建立一个html5页面模板
  5. 【ArcGIS风暴】缓冲区分析、叠置分析综合实验案例:购房区域的选择
  6. Sentinel 分布式系统的流量防卫兵
  7. ubuntu 应用程序菜单_Ubuntu智能手机,塔式无人机飞行控制应用程序等
  8. OpenCV4每日一练day9:单目相机标定
  9. angular 关闭当前页_Angular刷新当前页面的实现方法
  10. 【空间分析】0 基本空间分析工具
  11. vue表格信息进行空值填充,并使用 *** 修饰隐私信息
  12. 如何找项目写到简历中
  13. 大作业---Android本地音乐播放器开发知识点19145120
  14. 网站域名备案备注怎么写
  15. MR:二:什么是MR混合现实技术?
  16. Spring Security系列(一)——登录认证基本配置
  17. tl02-搭建企业私有GIT服务
  18. dell 7040m 黑苹果_黑苹果配置详细介绍,让你安装不迷茫
  19. java 读取svg元素_Java Batik操作SVG,实现svg读取,生成,动态操作
  20. 2018年总结, 2019年规划

热门文章

  1. 12306 抢票系列之只要搞定RAIL_DEVICEID的来源,从此抢票不再掉线(中)
  2. 市场上的智能语音助理,主要的工作原理是什么?
  3. android vr sdk 架构,PowerVR图形SDK v4.0及工具终于问世
  4. js 深浅拷贝的整理
  5. coffeescript java 执行_CoffeeScript—面向对象
  6. JavaEE | 多线程基础
  7. 哥德巴赫猜想 php,哥德巴赫猜想的程序验证
  8. VirtualBox升级VirtualBox Guest Additions增强功能
  9. 我过去的那些编程思想
  10. html天气js,H5 实现天气效果(心知天气插件)