深度学习tf-pose-estimation人体姿态识别实现教程

深度学习tf-pose-estimation人体姿态识别实现教程这个项目在github上非常火,项目地址是:https://github.com/ildoonet/tf-pose-estimation,是基于tensorflow深度学习框架实现的人体姿态识别,有兴趣地朋友可以去找一下。这个项目的原始项目是用caffe框架,c++编写的人体姿态识别(检测人体身体部分、手、脸、脚等部位)。
参考的文献如下,有兴趣的同学可以读一下:
(1)OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
(2)Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
(3)Hand Keypoint Detection in Single Images using Multiview Bootstrapping
(4)Convolutional Pose Machines

下面我主要介绍一下tf-pose-estimation环境配置步骤,对这个项目感兴趣的同学,可以根据我的步骤完成实验:
**1.首先在github上下载tf-pose-estimation (点击clone and download)**http://www.github.com/ildoonet/tf-openpose

2.创建一个虚拟环境(我这里用的是conda虚拟环境,也可以用venv)。
conda create -n tf-pose python=3.7
#tf-pose是你创建的环境名称
activate tf-pose
#**你创建的环境

3.安装相应的依赖项
pip install -r requirements.txt
pip install opencv
pip install tensorflow-gpu
更新:pip install --ignore-installed --upgrade tensorflow-gpu

4.build c++ library
(1)先下载swig,然后用swig命令去编译
下载地址:http://prdownloads.sourceforge.net/swig/swigwin-3.0.12.zip
解压到任意目录,我这里放在C:\swigwin-3.0.12,把该目录加入环境变 量path。
(2)cd tf-pose-estimation/tf_pose/pafprocess/
运行:swig -python -c++ pafprocess.i && python3 setup.py build_ext --inplace

5.下载tensorflow 训练好的graph文件(pb file)
该项目提供的文件有四个:
cmu (trained in 656x368)
mobilenet_thin (trained in 432x368)
mobilenet_v2_large (trained in 432x368)
mobilenet_v2_small (trained in 432x368)
因为graph太大了,所以项目作者把它放到了云上,如果您想使用cmu的原始模型,应该下载它们。model文件夹中提供了下载脚本。
$ cd models/graph/cmu
$ bash download.sh
其他的不需要安装。

6.开始运行:
(1)使用一个图片运行:
python run.py --model=mobilenet_thin --resize=432x368 --image=./images/p1.jpg

(2)实时的webcam
python run_webcam.py --model=mobilenet_thin --resize=432x368 --camera=0
下图是效果图:(连衣服上的人都检测出来了,哈哈哈)
有兴趣的同学可以私聊我。
深度学习tf-pose-estimation人体姿态识别实现教程可以参考:https://www.jianshu.com/p/402201fc6f04