互联网+ 电子商务 智能家居 地理信息 智能制造 信息安全 3D打印 工业4.0 人工智能 光伏 新能源汽车 消费品 集成电路 移动支付 汽车 数据中心
数字经济产业联盟成立大会暨首届论坛
当前位置:首页 > 产业动态 > 战新 > 高端装备 > 正文

英特尔® RealSense™ 摄像头基于ROS的实现与封装

发布时间: 2018-05-09 15:48     来源: 英特尔

  深度摄像头能够像人类感知方式一样捕捉现实世界的相机—无论是在色彩还是距离上。许多应用场景离不开深度摄像头的支持,比如3D人脸身份验证,基于3D信息的2D照片美化,物体速度方向的检测,背景移除等等。本文将向您介绍基于 Intel RealSense™ 的ROS开发包的功能及其使用方法,您可以利用物体深度信息开发出更多应用,并和其他ROS节点无缝连接,为您的机器人装上敏锐的“眼睛”。

  Intel 3D RealSense摄像头和传统2D摄像头相比,增加了深度信息,给各种设备提供了看到、理解、感知世界的新途径,使各种基于3D信息的新应用成为可能。在机器人研究领域,人们广泛采用ROS框架,这一框架下的各个应用通常采用消息(message)和话题(topic)的方式进行通信。在这种特殊情况下,针对libRealsense做进一步的ROS封装才能使其无缝工作在ROS系统中。该项目目前已经在github上开源, ROS2 的封装正在开发中,也即将与您见面。

  项目介绍

  1. 软件架构设计

  图 1. ROS/ROS2 RealSense

  图2. RGBD点云生成图

  2. 运行条件

  · 运行Ubuntu16.04的x86_64计算机

  · ROS Kinetic

  · RealSense™ D400/SR300系列摄像头

  · RealSense™ SDK 2.0

  具体环境配置可以参考这里

  3. 编译与安装

  下载源码到本地ROS工作区,切换到最新发布,编译、安装。

  $ mkdir -p ~/catkin_ws/src

  $ cd catkin_ws/src/

  $ catkin_init_workspace

  $ cd ..

  $ catkin_make clean

  $ catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release

  $ catkin_make install

  4. 运行演示程序

  插入RealSense摄像头,运行启动命令:

  # 在控制台#1启动rviz

  $ source /opt/ros/kinetic/setup.bash

  $ rosrun rviz rviz

  # 在控制台#2启动realsense2_camera

  $ source ~/catkin_ws/devel/setup.bash

  $ roslaunch realsense2_camera rs_camera.launch enable_pointcloud:=true

  # 或在控制台#2启动生成高质量的点云信息的命令

  $ roslaunch realsense2_camera rs_rgbd.launch

  图3. RGB(左上), 深度(左下),红外1(右上),红外2(右下),点云(中)

  图4. 高质量点云图

 

  应用领域

  本项目提供的RGBD信息,可以运用于多种机器人使用场景,例如:

  场景中的物体分割定位

  分析RealSense的点云信息,将场景中的不同物体进行分割,再进行物体3D定位。

  物体速度分析

  根据RealSense提供的连续的深度信息,进行物体定位,再计算出物体速度的大小及方向,合理规划路径达到智能避障。

  人脸身份验证

  如果只是用二维信息进行身份验证,安全性和正确性将大打折扣。比如,有人会用照片来欺骗认证系统。带有三维信息的实时人脸识别将有效地解决这个问题。

  2D图像美化

  基于3D信息,对2D的图像美化将更加自然真实。甚至可以对拍摄对象进行旋转以达到期望的角度,配合装饰图片,给你全新的自拍体验。

  展望

  本项目目前开发到v2.0.2版本,基于RealSense SDK的不断演进,本产品也在不断迭代开发当中。同时由于ROS2相对ROS具有更好的安全性和实时性,我们计划移植项目到ROS2中。

收藏