Tensorflow——用openpose进行人体骨骼检测

原连接:https://community.bwbot.org/topic/497 
body_pose 是一个人体姿态识别的软件包。这个软件包可以从图片中识别出人体的耳朵,眼睛,鼻子,四肢的共17个特征点。其实现是通过深度学习网络利用tensorflow框架。此软件还支持多人同时识别。

0_1530878202843_6f71b239-27ae-453a-94d9-94de429c8c84-image.png

安装

  1. 安装tensorflow 
    由于小强上面没有Nvidia显卡, 所以我们安装CPU版本的Tensorflow。小强的CPU支持一些高效的指令集,默认的Tensorflow为了能够在更多平台上运行,没有使用这些指令集。所以性能实际上没有发挥到最高。我们可以安装开启了这些优化指令的版本。
sudo pip install --ignore-installed --upgrade "https://github.com/lakshayg/tensorflow-build/raw/master/tensorflow-1.4.0-cp27-cp27mu-linux_x86_64.whl"
  • 1
  1. 安装软件包相关依赖
sudo pip install scipy scikit-image matplotlib pyyaml easydict cython munkres
  • 1
  1. 下载相关模型
# 单人模型
cd src/models/mpii
./download_models.sh
$ cd -
# 多人模型

./compile.sh
cd models/coco
./download_models.sh
cd -
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

运行

  1. 运行单人识别测试程序
# 在src文件夹内运行
TF_CUDNN_USE_AUTOTUNE=0 python demo/singleperson.py
  • 1
  • 2

运行成功后可以看到下图

0_1530879542859_94996fd8-2ca8-418f-ac9f-11da6221380a-image.png

  1. 运行多人识别的例子
TF_CUDNN_USE_AUTOTUNE=0 python demo/demo_multiperson.py
  • 1

成功运行后显示下面的图像

0_1530879857466_158a04a4-defc-498a-87e3-fdae8ee9ab41-image.png

  1. 运行ROS服务
roslaunch xiaoqiang_track body_pose_test.launch
  • 1

这个launch文件在小强上可以直接运行。但是如果不是在小强上你需要把usb_cam的节点换成自己的摄像头节点。 
服务启动成功后会自动的识别摄像头中的图像。处理的结果会显示在 /body_pose_tester/processed_image topic 里面。可以利用摄像头显示处理结果。

rosrun image_view image_view image:=/body_pose_tester/processed_image
  • 1

可以看到图中标了一些圆圈。这些都是被识别出的人体特征位置。

0_1530880373290_QQ图片20180706203240.jpg

在自己的程序中使用此服务

可以在自己的launch文件中添加这样的内容来启动节点

<node name="body_pose" pkg="body_pose" type="body_pose_node.py">
    <param name="process_width" value="200" />
    <param name="process_height" value="150" />
    <param name="conf_min_count" value="3" />
</node>
  • 1
  • 2
  • 3
  • 4
  • 5

参数说明 
process_width 内部处理宽度,process_height内部处理高度。可能采集的图片很大,这样处理起来非常费时间。可以通过这两个参数对图片进行压缩以提高处理速度。 
conf_min_count最小可接受点数。如果在一个人上识别出的特征点小于这个值,则认为这个识别对象并不是人。

发布的服务 
服务默认发布在 ~get_body_pose可以类型为BodyPose.srv

详细的使用方法可以参照 body_pose_test_node.py 文件。

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是安装tensorflow-gpu的步骤: 1. 安装CUDA Toolkit和cuDNN库 TensorFlow GPU版本需要CUDA Toolkit和cuDNN库的支持。请根据您的系统环境下载适合的版本。推荐使用CUDA 10.0和cuDNN 7.4.2。下载链接如下: - CUDA Toolkit 10.0:https://developer.nvidia.com/cuda-10.0-download-archive - cuDNN 7.4.2:https://developer.nvidia.com/cudnn 安装CUDA Toolkit和cuDNN库时,请注意设置环境变量,以便TensorFlow能够找到它们。 2. 创建conda虚拟环境 您可以使用conda创建一个虚拟环境来安装和管理TensorFlow GPU版本以及其他软件包。打开终端并运行以下命令: ```bash conda create -n tensorflow-gpu python=3.7 ``` 这个命令将创建一个名为“tensorflow-gpu”的conda虚拟环境,其中Python的版本是3.7。 3. 激活conda虚拟环境 使用以下命令激活conda虚拟环境: ```bash conda activate tensorflow-gpu ``` 4. 安装TensorFlow GPU版本 通过以下命令安装TensorFlow GPU版本: ```bash pip install tensorflow-gpu==2.0.0 ``` 这个命令将安装TensorFlow 2.0.0 GPU版本。 5. 验证安装 要验证TensorFlow GPU是否正确安装,请使用以下Python代码: ```python import tensorflow as tf print(tf.test.is_gpu_available()) ``` 如果输出的结果为True,则表示TensorFlow GPU版本安装正确。 提示:安装TensorFlow GPU版本之前,请确保您的GPU支持CUDA。您可以在以下链接中查找支持CUDA的GPU:https://developer.nvidia.com/cuda-gpus
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值