vlambda博客
学习文章列表

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

1.RIKIBOT WEB远程视频实时监控及摄影功能

   1.1 打开终端,启动摄像头

   $roslaunch rikibot camera.launch

   1.2 重新打开一个终端,启动web服务

   $roslaunch rikibot rikibot_web.launch   

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

1.3 然后我们可以用windows打开浏览器输入http://192.168.199.148:8080/,其中192.168.199.148的IP是ROS系统主控的IP  电脑跟小车的主控要接在同一个局域网内

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

 1.4  上面会出现相关话题供我们选择,这里只有一个选项我点击上面的image_raw

系统此时会跳转到图像功能,如果我们点击“Snapshot”,这里是拍照功能

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制


2.RIKIBOT 人脸识别、特定身份识别、色球追踪

 2.1相关包说明

    目标检测包功能核心包rikibot_object_detect,这里识别提供两种人脸检测、一个是基于Opencv haar的人脸检测、一个是基于face_recongnition的人脸检测,身份检测是也基于face_recongnition实现,色球追踪是基于Opencv HSV算法实现。

 2.2 相关功能使用

2.2.1 人脸识别

第一种:基于Opencv Haar因子的人脸识别

打开一个终端启动camera

  roslaunch rikibot camera.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

重新打开一个终端,启动人脸识别

  roslaunch rikibot_object_detect rikibot_facehaar_object.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

然后重新打开一个终端,查看相关图像,选择object_image”话题

  rosrun rqt_image_view rqt_image_view

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

第二种:基于face_recongnition的人脸识别

打开终端启动camera

    roslaunch rikibot camera.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

重新打开一个终端,启动人脸识别

  roslaunch rikibot_object_detect rikibot_face_object.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

然后重新打开一个终端,查看相关图像,选择object_image”话题

  rosrun rqt_image_view rqt_image_view

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

2.2.2基于身份识别(特定人脸识别)

     基于身份识别需要先上传一张你要识别该人身份的图片,放置到

     “/home/rikibot/catkin_ws/src/rikibot_project/rikibot_object_detect/image”路径下面,

图片格式为jpg格式,并记下图片的名称。

下图所示,预先放了要识别的 1.jpg  2.jpg  3.jpg  三张照片

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

然后进入到

/home/rikibot/catkin_ws/src/rikibot_project/rikibot_object_detect/node目录下面,

打开rikibot_facename_detect.py,更改相关代码

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

代码实际修改处:   修改了要记得保存

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

打开终端启动camera

  roslaunch rikibot camera.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

重新打开一个终端,启动人脸识别

  roslaunch rikibot_object_detect rikibot_facename_object.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

然后重新打开一个终端,运行rosrun rqt_image_view rqt_image_view

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

查看相关图像,选择object_image”话题,当检测到上传图片的人后,系统识别相关人的名字,如果没有上传图片,系统就不能识别(些片还需要贴个图片)

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

2.2.3色块追踪

打开终端启动camera

  roslaunch rikibot camera.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

重新打开一个终端,启动人脸识别

 roslaunch rikibot_object_detect rikibot_ball_object.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

然后重新打开一个终端,查看相关图像,选择object_image”话题,

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

目前是识别红色,用户用手移动相关的色球,系统会追踪相关的色球,如果需要识别其它颜色,进入rikibot_object_detect/node,打开rikibot_ball_detect.py文件,改变相关的色值就可以

修改该路径下的rikibot_ball_detect.py文件

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

颜色相关代码修改:

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

修改成识别绿色后 再次启动

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

3.RIKIBOT Tensorflow 目标检测、目标分类

3.1相关包说明

rikibot_tensorflow检测包提供,目标检测、目标分类、与数字识别,由于树莓派系统使用CPU计算检测,使用性能比较差,这里建议用更好的专用平台。

3.2相关使用操作说明

3.2.1目标检测

打开终端,启动tenforflow摄像头启动文件,这里的图像大小设置为320x240以减小系统运行负载

 roslaunch rikibot_tensorflow camera.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

在打开终端,启动目标检测,由于加载tensorflow比较久,需要耐心等待一下

 roslaunch rikibot_tensorflow rikibot_tensorflow_detect.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

打开终端,查看图像result_ripe

  rosrun rqt_image_view rqt_image_view

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

3.2.2分类检测

打开终端,启动tenforflow摄像头启动文件,这里的图像大小设置为320x240以减小系统运行负载

 roslaunch rikibot_tensorflow camera.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

在打开终端,启动检测,由于加载tensorflow比较久,需要耐心等待一下

 roslaunch rikibot_tensorflow rikibot_tensorflow_classify.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

启动完成后,把需要检测的物品放置到摄像头前,此时会输出检测相关名称与置信度,score分越高,检测目标就越可靠

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

4.RIKIBOT 未知区域探索全自动SLAM构建地图

4.1 把小车平放在地板上,用远程软件登录到小车系统上,打开一个终端启动

roslaunch rikibot bringup.launch

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

4.2  再打开一个终端,进入到保存地图的路径下,准备建好地图的时候 执行保存地图脚本

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

4.3  再打开一个终端,执行自动建地图命令

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

此时机器人会自动探索未知区域,完成地图构建。

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

当观察地图建得差不多,就可以执行保存地图脚本了。

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

保存成功

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

5.RIKIBOT PS2手柄控制

5.1  把机器人放在地板上,然后远程软件登录到系统上启动:

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

启动完成后 如果LX:255 LY:255 RX:255 RY:255

此时需要手动按下PS2手柄的ANALOG键

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

切换成 LX:128 LY:127 RX:128 RY:127

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

按下左侧的2键

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

此时会切换成 PS2手柄控制模式:

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

此时按手柄右侧的 四个圆形按钮,依次切换四挡速度

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

然后再拨动左侧摇杆,即可实现前后左右转动,麦轮车型可同时向左右拨动两个摇杆,分别控制左右横移。

远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制

当不用手柄的时候 要记得按下左侧的1键 切换成 正常模式,否则键盘控制会失效