一种基于ROS和Gazebo的旋转相机特征匹配算法制造技术

技术编号:23985365 阅读:28 留言:0更新日期:2020-04-29 13:16
本发明专利技术公开了一种基于ROS和Gazebo的旋转相机特征匹配算法,其特征在于,包括步骤:a、基于机器人操作系统ROS和Gazebo搭建仿真平台;b、进行相机旋转的控制算法设计;c、进行特征点检测、提取、匹配的算法设计;d、进行匹配的优化设计;e、最后进行信息的输出以及可视化。本发明专利技术搭建了ROS和Gazebo的仿真环境,通过程序来控制虚拟的相机旋转和获取环境信息的速率,进行特征点的匹配与双重优化,实现外点的滤除从而提高了匹配精度。

A feature matching algorithm of rotating camera based on ROS and gazebo

【技术实现步骤摘要】
一种基于ROS和Gazebo的旋转相机特征匹配算法
本专利技术涉及无人驾驶
,尤其涉及一种基于ROS和Gazebo的旋转相机特征匹配算法。
技术介绍
环境感知技术是智能无人驾驶车辆发展的前提。在环境感知领域,有许多技术手段来获取信息,例如毫米波雷达、激光雷达、GPS和惯导、超声波雷达和摄像头等等。在一般情况下,毫米波雷达和超声波雷达获取定向目标距离信息;激光雷达获取大部分的三维环境感知信息;GPS和惯性导航获取车身位置和姿态信息;摄像头获取二维图像信息或者环境的深度信息。对比来讲,毫米波雷达适用于较短距离的目标定位或者测距,GPS容易被大型障碍物遮挡造成信息缺失和断点,激光雷达造价过于昂贵。与这些技术手段相比较,摄像头价格更加亲民,拥有单目和多目等多种搭配方式可选,并且可以同时获取环境颜色和深度信息,更好地支持人为调节。但基于相机的环境感知技术在控制相机旋转和特征点的匹配精度上存在很大程度上的缺陷。相机的旋转速度、图像的传输帧率、信息过滤和节点调用的速度、特征点匹配的精度等都是亟待解决的问题。
技术实现思路
本专利技术旨在提供一种基于ROS和Gazebo的旋转相机特征匹配算法,很好的解决了上述问题,本专利技术搭建了ROS和Gazebo的仿真环境,通过程序来控制虚拟的相机旋转和获取环境信息的速率,进行特征点的匹配与双重优化,实现外点的滤除从而提高了匹配精度。本专利技术的技术方案是一种基于ROS和Gazebo的旋转相机特征匹配算法,专利技术中首先结合了机器人操作系统ROS(RobotOperatingSystem)和Gazebo环境进行了搭建了仿真平台。之后进行了控制和优化算法的设计,算法中需要调用并订阅节点信息,实现目标图像的实时传输,进行信息过滤控制图像的传输帧率,同时进行特征点的检测、提取与匹配,在获取匹配好的特征点对之后,通过双重算法过滤外点从而达到提高匹配精度的目的。具体包括步骤:a、基于机器人操作系统ROS和Gazebo搭建仿真平台;所述仿真平台包括相机旋转平台、分别放置在相机旋转平台两侧的左相机和右相机、与左右相机连线垂直的中心线方向上的目标物体、周围环境散落的障碍物体。此仿真平台的主要作用在于支撑所设计的算法实现相机的旋转控制,同时在两相机中心线方向上放置目标物体,当两相机法线与中心线的夹角相同时,两相机的输出图像特征点匹配度应该是最高;当右相机静止不动,左相机以一定速度进行360°旋转时,会输入不同障碍物的图像信息,并进行特征匹配,此时输出的匹配率应该低于两相机处于中心线对称位置时的匹配率。b、进行相机旋转的控制算法设计;b1、初始化位置节点,等待set_link_state节点服务信息;b2、定义节点服务信息并获取左相机的link位置,设置左相机的旋转速度为0.1;b3、订阅节点位置信息,将原始位置信息的四元数组转换成欧拉角,同时进行左相机连接线与法线夹角的计算,输出角度;b4、使用信息过滤器message_filters订阅左、右两侧相机的图像信息,并将其合成到一张图像的通道上进行输出。c、进行特征点检测、提取、匹配的算法设计;c1、将步骤b4中输出的图像信息进行格式转换,从BGR彩色图像改变成GRAY格式的灰度图像;c2、获取图像尺寸信息,并定位法线方向上的感兴趣区域ROI的位置信息,在源图像上进行矩形框rectangle方式的可视化,并创建ROI区域的图像信息对象;c3、初始化SIFT特征检测器,创建检测器对象,进行ROI区域的关键点检测和描述符的计算;c4、因为会出现“移位”现象,所以特征点会直接显示在图像的左上角,为了将特征点显示在图像原始的位置上,需要遍历感兴趣区域ROI的所有检测到的特征点,将其移动到图像法线ROI区域;c5、创建并初始化暴力匹配器对象,将上述SIFT特征检测到的特征点进行匹配,在匹配过程中设置右相机的一个特征点最多可以匹配左相机的两个特征点。d、进行匹配的优化设计;d1、创建一个掩膜,用来存储正确的匹配点;在步骤c5中时暴力匹配器的初始化阶段,设计右相机一个特征点可以匹配左侧旋转相机的两个特征点;在已经匹配的特征点对中进行比较,若与右相机同一个特征点匹配的左相机的两个特征点1、2之间的比值低于所设定的阈值,则将特征点1加入到创建的掩膜中。此时掩膜中的匹配点是已经经过一次过滤之后的特征点,如果将这个特征点与左相机的特征点进行匹配和显示,通过可视化结果可以看出匹配的效果被大大地提高了。d2、设置一定的阈值,当上述过程中所设定的掩膜长度大于这个阈值,进行如下的操作:获取源图像和目标图像的关键点坐标,应用OpenCV2里面的findHomography函数对两图像的坐标点进行仿射变换矩阵M的计算,同时设置特征点过滤优化算法,以及阈值,超过阈值的则被认定为外点,得到新的优化掩膜;获取源图像的高和宽,通过OpenCV2里的perspectiveTransform函数对源图像的四个角进行变换,获得在目标图像上对应的坐标,并在目标图像上进行显示。e、最后进行信息的输出以及可视化。e1、判断一次优化的掩膜尺寸是否大于设定的阈值,大于阈值则进行二次优化,输出源图像及目标图像的特征点数量信息;e2、通过二次掩膜输出匹配点的数量;e3、实时可视化匹配图像,包括左相机视图,右相机视图,左相机匹配特征点,右相机匹配特征点,匹配连线等;输出两张图像的匹配率,匹配率由掩膜的尺寸即匹配上的特征点数量和右相机源图像的特征点数量相比得出;e4、如果一次掩膜的尺寸小于设定的阈值,则在输出两相机图像的特征点数量,一次优化过得匹配特征点数量之后,用一次掩膜进行可视化输出。本专利技术的有益效果是:(1)在本专利技术的平台搭建阶段,创新性地使用机器人操作系统ROS和Gazebo仿真环境实现了双目相机的特征匹配平台的搭建,方便于控制相机进行旋转以及图像信息的订阅和可视化;(2)在算法设计阶段,通过Python语句定义了服务类型的节点信息,同时控制左相机进行旋转,设置了旋转速度;同时订阅左右两侧相机的图像信息,并合成到一个通道进行可视化输出,创新性地实现了相机的自动旋转和图像实时输出的控制;(3)在算法设计阶段,为了在相机旋转过程中实时的传输图像并克服图像尺度和旋转变换带来的匹配误差,通过Python语句应用尺度不变特征变换SIFT算法以及暴力匹配器BF实现了左右两侧相机图像的特征点检测、提取以及描述符的计算;(4)在算法设计阶段,为了更优地表现两相机图像的特征匹配性能,设计了二次优化,第一次优化通过设定匹配点数量和阈值的方式来过滤掉一部分的外点,当第一次优化的掩膜尺寸足够大时,也就是匹配的特征点足够多时,使用RANSAC算法进行二次优化,得到二次优化的掩膜,达到更高的匹配精度;(5)在可视化表达和最后结果的输出上,不管一次优化的匹配数量是否足够多,都将输出两相机的特征点检测数量,匹配数量以及可视化地实时输出两本文档来自技高网...

【技术保护点】
1.一种基于ROS和Gazebo的旋转相机特征匹配算法,其特征在于,包括步骤:/na、基于机器人操作系统ROS和Gazebo搭建仿真平台;/nb、进行相机旋转的控制算法设计;/nc、进行特征点检测、提取、匹配的算法设计;/nd、进行匹配的优化设计;/ne、最后进行信息的输出以及可视化。/n

【技术特征摘要】
1.一种基于ROS和Gazebo的旋转相机特征匹配算法,其特征在于,包括步骤:
a、基于机器人操作系统ROS和Gazebo搭建仿真平台;
b、进行相机旋转的控制算法设计;
c、进行特征点检测、提取、匹配的算法设计;
d、进行匹配的优化设计;
e、最后进行信息的输出以及可视化。


2.根据权利要求1所述的基于ROS和Gazebo的旋转相机特征匹配算法,其特征在于:所述步骤a中,所述仿真平台包括相机旋转平台、分别放置在相机旋转平台两侧的左相机和右相机、与左右相机连线垂直的中心线方向上的目标物体、周围环境散落的障碍物体。


3.根据权利要求2所述的基于ROS和Gazebo的旋转相机特征匹配算法,其特征在于:所述步骤b中包括:
b1、初始化位置节点,等待set_link_state节点服务信息;
b2、定义节点服务信息并获取左相机的link位置,设置左相机的旋转速度为0.1;
b3、订阅节点位置信息,将原始位置信息的四元数组转换成欧拉角,同时进行左相机连接线与法线夹角的计算,输出角度;
b4、使用信息过滤器message_filters订阅左、右两侧相机的图像信息,并将其合成到一张图像的通道上进行输出。


4.根据权利要求3所述的基于ROS和Gazebo的旋转相机特征匹配算法,其特征在于:所述步骤c中包括:
c1、将步骤b4中输出的图像信息进行格式转换,从BGR彩色图像改变成GRAY格式的灰度图像;
c2、获取图像尺寸信息,并定位法线方向上的感兴趣区域ROI的位置信息,在源图像上进行矩形框rectangle方式的可视化,并创建ROI区域的图像信息对象;
c3、初始化SIFT特征检测器,创建检测器对象,进行ROI区域的关键点检测和描述符的计算;
c4、因为会出现“移位”现象,所以特征点会直接显示在图像的左上角,为了将特征点显示在图像原始的位置上,需要遍历感兴趣区域ROI的所有检测到的特征点,将其移动到图像法线ROI区域;
c...

【专利技术属性】
技术研发人员:苑士华米颖李雪原周俊杰尹旭峰
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1