一种基于图像处理的目标识别算法

2011-06-26 06:11姚菁
电气自动化 2011年5期
关键词:图像匹配移动机器人关键点

姚菁

(上海电机学院,上海 200240)

0 引言

图像分析与图像匹配算法在机器视觉研究领域有着极其重要的作用,移动机器人要实现高水平的导航和自身定位,都需要具有视觉系统。在本研究领域中,人们通常根据地点识别来对机器人定位,也被称为“拓扑定位”。而在地点方面,大家都集中在图像分析与理解方面,通过对图像的分析与匹配来对一个具有一定特征的局部环境进行标和辨识。

在基于视觉信息的基础上,通过匹配不同的路标数据,机器人可以确定自身的位置并决定下一步的移动方向。一种常见的精确的图像匹配方法是基于图像“关键点”的提取,通过这些关键点可以可靠地识别来自于同一场景不同的图像,从而对局部环境进行确认。

Lowe[1]提出了基于其模板图像的SIFT算法用于目标检测。这种SIFT算法计算出局部图像描述符,具有特征不变性,对图像的平移,缩放和旋转具有鲁棒性。同时这些描述也对光照变化和3-D投影有部分不变性。Mikolajczyk and Schmid[2]]专门就不变的特征描述符方面将SIFT算法同其它图像分析算法作了对比,他们的实验结论是在基于图像的尺度、旋转、明暗等变化的基础上进行的,最后得出的结果证明SIFT算法是最优的。Lowe提出一个图像的描述符,通过描述因子的匹配来对目标进行检测。为此,首先获得被检测目标对象的模板图像,从模板图像抽取出描述因子,然后对需要测试的图像提取SIFT关键点,之后对模板图像和测试图像的SIFT关键点进行一对一的点匹配检测,以最终确定两个图像是否属于同一目标。

Stephen.Se[3]使用三目立体视觉传感器,通过计算图像尺度不变特性的描述因子,完成机器人自主定位、地图创建任务。使用递归的方法实现对机器人的连续位姿及地图结构的恢复来完成 SLAM 任务[4],更多相关研究可见文献[5-7]。

1 SIFT算法

在原SIFT算法中,关键点是通过对不同尺度因子的图像的高斯差值的最大或最小值确定的。在邻近的不同尺度的高峰期差图像中,基于3x3像素的局部区域,每个像素同其相邻的26像素相对比,如果其差值是局部地最大或最小值,它就被选中作为候选关键点。然后,我们删除低对比度特征点和边缘的效应,最后得到一定数量的关键点。

(1)尺度空间极值检测

第一阶段对所有的尺度的图像进行计算和搜索,有效地利用高斯函数差值(见式(1)来确定潜在的兴趣点,这些兴趣点相对尺度因子和旋转是不变化的。

(2)关键点定位

针对每个候选关键点或兴趣点,基于其稳定性的特点,以检测它们的位置和惊讶因子,最后选取部分关键点。

(3)关键点梯度方向

要确定关键点的方向,计算关键点附近的梯度方向直方图,每个相邻的像素的权值以其梯度幅值为参考,以最大的直方图峰值所对应的方向为关键点的梯度方向。

(4)关键点描述

一旦一个关键点方向已经选定,特征描述因子主要是计算4×4相邻像素,得出8个主要的梯度方向。每4×4相邻像素一个区域,在关键点周围共选取4×4个区域,那么对于一个SIFT特征点向量来说,共有4×4×8=128个向量元素。这个128维向量经过规范化后可以提高对光照变化的不变性。

由于 128 SIFT的特征向量相当大,原SIFT算法的主要缺点是较其他图像描述因子具有更高的计算成本。降低高维向量可以节省计算时间和计算机资源。同时在SIFT特征向量提取的过程中也产生大量的冗余关键点。在机器人SLAM环境中,来自同一路标的图像的80%的关键点不能够有效匹配,因此,应该尽量减少关键点的数量,而不影响图像匹配的效果。

2 算法的优化

首先,我们应该降低SIFT特征向量的维数,为了解决上面所提到的不利方面,我们在计算SIFT特征关键点时,以选取的关键点为中心,只计算2×2个区域内的梯度,相比原128维特征向量,这样向量数减少到2×2×4=16,再经过旋转和标准化作业,我们只需要以上梯度向量进行下一步图像匹配。这种方法可以显着降低的关键向量的维数,提高实时在线的计算速度。

其次,减少SIFT特征关键点的数目,提高选择关键点的阈值,以去除更多的候选关键点,特别是当阈值为0.03时候,这个值是一个经验值,在图像识别领域是会工作的很好[1],但它通常会产生大量的关键点。然而使用如RANSAC算法,当特征关键点的数量很少时(3-5关键点)也可以取得可靠的图像匹配。

我们可以增加阈值,以减少SIFT特征关键点的数量,下一步我们选择一个固定的百分比参数,来选取关键点的数量,例如,我们选择25%,也就是说我们只选取检测到的关键点的25%,由于SIFT特征点数量减少,计算机的实时运算速度将大大提高。

3 实验结果

经过以上优化步骤,用来计算比较两幅图像的时间比以前缩短了很多,这对于移动机器人完成实时在线的任务来说是非常关键的。利用本文所提出来的改进方法,在图像有遮挡、有观察角度差、存在一定失真和噪声的情况下,我们对两幅图像进行匹配,实验结果如下,能达到机器人对局部环境目标的识别要求。

4 结束语

在图像处理与匹配方面,基于SIFT特征关键点的计算方法是一个强有力的工具,该算法可以用于移动机器人来识别局部环境中的路标,对于图像检索和基于视觉定位来说,它提供了一个清晰准确的手段。由于每幅图像的SIFT特征向量多达128个向量,SIFT特征点的提取和匹配是一个非常耗时的工作,因此在本论文中,我们提出了减少SIFT特征关键点数量,以改善其计算性能。如何去除冗余的信息,提高实时运算速度,这对于机器人的即时定位与建图来说是致关重要的。

在现实环境中,移动机器人的工作环境更多的是一个动态环境,而不是静态的。因此,在动态环境下研究移动机器人的SLAM是一个非常重要的问题,因为如何处理动态的视觉数据将会变得更加复杂,今后的研究将更加注重未知动态环境下的存着研究。

[1]D.Lowe.Distinctive image features from scale-invariant key points.International Journal of Computer Vision,2004.60(2):91-110.

[2]Mikolajczyk,K.and C.Schmid.A performance evaluation of local descriptors[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005.27(10):1615-1630.

[3]Stephen Se,David G.Lowe,James J.Little,Vision-Based Global Localization and Mapping for Mobile Robots.IEEE TRANSACTIONS ON ROBOTICS,2005,21(3):364-375.

[4]蔺海峰,马宇峰,宋涛.基于SIFT特征目标跟踪算法研究[J].自动化学报,2010,36(8):1204-1208.

[5]毕明德,孙志刚,肖力.基于TMS320C6713的图像采集处理系统设计[J].电气自动化,2009,31(4):42-43.

[6]宋华军,李泉.基于SIFT的目标跟踪算法研究[J].长春理工大学学报(自然科学版),2010,33(3):123-126.

[7]于丽莉,戴青.一种改进的SIFT特征匹配算法[J].计算机工程,2011,37(2):210-212.

猜你喜欢
图像匹配移动机器人关键点
移动机器人自主动态避障方法
聚焦金属关键点
肉兔育肥抓好七个关键点
基于图像匹配和小波神经网络的RFID标签三维位置坐标测量法
一种用于光照变化图像匹配的改进KAZE算法
基于Twincat的移动机器人制孔系统
医联体要把握三个关键点
基于SIFT和LTP的图像匹配方法
基于降落图像匹配的嫦娥三号着陆点位置评估
锁定两个关键点——我这样教《送考》