在ROS中使用tensorflow进行人体姿态识别
原连接:https://community.bwbot.org/topic/497
运行测试平台:小强ROS机器人
body_pose 是一个人体姿态识别的软件包。这个软件包可以从图片中识别出人体的耳朵,眼睛,鼻子,四肢的共17个特征点。其实现是通过深度学习网络利用tensorflow框架。此软件还支持多人同时识别。
安装
- 安装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"
- 安装软件包相关依赖
sudo pip install scipy scikit-image matplotlib pyyaml easydict cython munkres
- 下载相关模型
# 单人模型
cd src/models/mpii
./download_models.sh
$ cd -
# 多人模型./compile.sh
cd models/coco
./download_models.sh
cd -
运行
- 运行单人识别测试程序
# 在src文件夹内运行
TF_CUDNN_USE_AUTOTUNE=0 python demo/singleperson.py
运行成功后可以看到下图
- 运行多人识别的例子
TF_CUDNN_USE_AUTOTUNE=0 python demo/demo_multiperson.py
成功运行后显示下面的图像
- 运行ROS服务
roslaunch xiaoqiang_track body_pose_test.launch
这个launch文件在小强上可以直接运行。但是如果不是在小强上你需要把usb_cam的节点换成自己的摄像头节点。
服务启动成功后会自动的识别摄像头中的图像。处理的结果会显示在 /body_pose_tester/processed_image
topic 里面。可以利用摄像头显示处理结果。
rosrun image_view image_view image:=/body_pose_tester/processed_image
可以看到图中标了一些圆圈。这些都是被识别出的人体特征位置。
在自己的程序中使用此服务
可以在自己的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>
参数说明
process_width 内部处理宽度,process_height内部处理高度。可能采集的图片很大,这样处理起来非常费时间。可以通过这两个参数对图片进行压缩以提高处理速度。
conf_min_count最小可接受点数。如果在一个人上识别出的特征点小于这个值,则认为这个识别对象并不是人。
发布的服务
服务默认发布在 ~get_body_pose
可以类型为BodyPose.srv。
详细的使用方法可以参照 body_pose_test_node.py 文件。
在ROS中使用tensorflow进行人体姿态识别相关推荐
- ROS下的人体姿态识别tf-pose-estimation(tensorflow版本的openpose)
相关链接: 项目: tf-pose-estimation https://github.com/ildoonet/tf-pose-estimation tf-pose-estimation for R ...
- tfpose与openpose区别_人体姿态识别--Openpose+Tensorflow
目的复现代码 完成视频中的人体姿态识别 复现过程 视频来源:https://www.youtube.com/watch?v=cMhWNGBW1Xgwww.youtube.com 视频动图 检测结果下 ...
- python人体识别_Github开源人体姿态识别项目OpenPose中文文档
OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库.可以实现人体动作.面部表情.手指运动等姿态估计.适用于单人和多人,具有极好的鲁 ...
- python人体动作识别_人体姿态识别--Openpose+Tensorflow
目的复现代码 完成视频中的人体姿态识别 复现过程
- 独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)
作者:MOHD SANAD ZAKI RIZVI 翻译:吴金笛 校对:丁楠雅 本文约5500字,建议阅读15分钟. 本文首先介绍了TensorFlow.js的重要性及其组件,并介绍使用其在浏览器中构建 ...
- linux tensorflow demo_独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)...
作者:MOHD SANAD ZAKI RIZVI 翻译:吴金笛 校对:丁楠雅 本文约5500字,建议阅读15分钟. 本文首先介绍了TensorFlow.js的重要性及其组件,并介绍使用其在浏览器中构建 ...
- ROS中阶笔记(五):机器人感知—机器视觉
ROS中阶笔记(五):机器人感知-机器视觉 文章目录 1 ROS中的图像数据 1.1 二维图像 1.1.1 安装安装usb_cam 1.1.2 显示图像数据 1.2 三维图像(kinect) 2 摄像 ...
- 人体姿态识别研究综述(详细归纳!)(转载)
一,人体姿态识别数据集 1,2D数据集: LSP 地址:http://sam.johnson.io/research/lsp.html 样本数:2K 关节点个数:14 全身,单人 FLIC 地址:ht ...
- [论文评析]基于人体姿态识别的立定跳远 动作智能评估系统
基于人体姿态识别的立定跳远 动作智能评估系统 论文信息 背景 方法 系统总体设计 立定跳远动作智能评估系统 标准动作库子系统 动作采集子系统 人体姿态动作评估子系统 人体姿态评估模型 立定跳远关键帧匹 ...
- 2D人体姿态识别-Human3.6M与COCO数据集中,各人体骨骼关键点可视化及对应关节标注顺序(heatmap可视化,热力图和原图融合显示)
003-2.processData 文章目录 前言 一.最终结果展示 1. Human3.6M数据集中32个人体关键点可视化及含义 2. COCO数据集中19个人体关键点可视化及含义 3. Human ...
最新文章
- 几张图片总结我的2015年
- 结构型模式:外观模式
- Leetcode1696. 跳跃游戏 VI[C++题解]:dp和单调队列求滑动窗口最值
- 扎心!“我学了六个月 Python,怎么还是会找不到工作”
- 百度之星2019 初赛一 题解
- linux nginx F配置,linux下nginx的安装及配置
- 关闭mysql服务的方法有哪些_MySQL--启动和关闭MySQL服务
- Python练习:天天向上的力量III
- Android 升级到Android Studio2.2 后打不开以前版本的项目
- 【Git/Github学习笔记】Git分支使用场景和标签管理、总结
- java并发包aqu_Java并发包之SynchronousQueue
- C1083:无法打开源文件
- VBA金融建模——期权定价
- Head First设计模式-适配器模式
- 运行tomcat 时报错,提示无法找到相关的jar包 Publishing failed with multiple errors Error reading file
- 最简单DIY基于51单片机的舵机控制器
- 打印机服务器端口无显示器,什么是打印机端口?无法找到打印机端口是怎么回事?...
- 极米h3s和坚果j10、当贝f3三款投影实测对比来了!
- 哪里有模板建站配云服务器销售,模板建站配云服务器费用
- PCIE 2.0协议概念基本科普
热门文章
- JLINK 驱动安装和配置ADS使用,ADX调试
- android主题编辑器,安卓 EMUI主题编辑器 Theme Editor For EMUI v1.13.5 专业版
- java jsp中文乱码怎么解决_分享JSP中文乱码解决方法
- CANoe——CanTest模块信号测试函数
- 设计模式在项目中的应用案例_BIM案例 | BIM技术在码头项目中的创新应用
- 制作一个简单HTML个人网页网页(HTML+CSS)web前端大作业
- 加密狗破解教程-数据抓取工具
- fat,uat,pre等环境含义
- RT-Thread在正点原子Apollo上为 QSPI FLASH W25Q256移植FATFS文件系统
- 搭建Windows red5流媒体服务器详解