月面模拟环境的SIFT特征提取与匹配方法
2009-12-12刘佳璐
刘佳璐
(1.北京控制工程研究所,北京100190;2.空间智能控制技术国家级重点实验室,北京100190)
月面模拟环境的SIFT特征提取与匹配方法
刘佳璐1,2
(1.北京控制工程研究所,北京100190;2.空间智能控制技术国家级重点实验室,北京100190)
为了满足月面巡视探测器的自主导航要求.使用一种新的基于尺度不变的特征点提取和匹配算法.首先根据尺度不变特征变换方法从图像中提取关键点作为特征点,然后进行左右双目图像的特征点匹配和视差的恢复.与传统特征算法相比,可以提高对不同光照环境图像匹配的鲁棒性和匹配精度.在模拟试验场的双目视觉图像匹配中,仿真实验取得较好的效果.
月面巡视探测器;SITF特征;视觉导航;特征提取;特征匹配
本文研究背景为月面巡视探测器(月球车)控制与导航分系统中的视觉部分.导航与控制子系统是控制月球车的神经中枢,本文研究的视觉导航部分犹如这个神经中枢的眼睛.视觉导航系统能否处理采集到的图像获得理想的效果,并获得清晰有效的图像以及做出正确的图像分析与理解,将直接影响到后面的遥操作或自主导航及避障的路径规划.
在车辆的视觉导航系统中,通常包括图像的采集系统和视觉处理系统两大部分,其中前者通常包括CCD相机采集数字图像,采集系统又分单目图像的采集和双目图像的采集,近些年来,随着信息技术的发展,普遍在视觉导航中使用双目立体视觉采集和处理图像[1].比如美国的“索杰纳”、火星探测车(MER)的“勇气号”和“机遇号”等.在双目立体视觉中[2],是模仿人眼的视差原理,进行两幅图像中相同部分特征的对应匹配,根据视差的原理获得三维信息,得出一个相对观测者的一个视差图,有效判断目标的距离,并且以此规划一个较为安全的路径,进而能进行自主导航和避障.整个系统的构成如图1所示.特征的提取和匹配是视觉导航技术中的一个重要步骤;也是计算机视觉研究领域中的一个重要问题.
在月球车的视觉导航系统中,首先要对采集的图像进行特征提取,随后用提取的特征进行双目匹配得出视差图,最后恢复出到前方目标的距离信息.特征的提取是视觉导航技术中的一个重要步骤,也是计算机视觉研究领域中的一个重要问题.在双目视觉系统中,如何快速准确的选取两幅图像中共同可以用于下一步匹配的特征,是非常关键的一步,现有的立体视觉系统的特征提取包括点、线和区域特征的提取.由于月球车所处的月面环境属于非结构化环境,纹理特征比较单一,灰度变化不明显,只能适合采用基于特征点的匹配.目前的特征点提取方法主要有Moravec算子、Forstner算子、Harris角点提取算子[3]和Susan算子等.由于月面模拟环境的特点和相机等硬件的局限性,容易出现两个相机采集的图像光线差异和发生形变等问题.
本文使用尺度不变特征(SIFT,scale invariant feature transform)对模拟环境图像提取特征点[4],并进行双目视觉的匹配工作.与传统算法相比,可以增加对不同光照环境的鲁棒性,并且增加了匹配精度.在模拟试验场的双目视觉照片中,本文的实验取得较好的效果.
图1 视觉系统算法框架图
本文包含以下几个部分,第二部分是基于SIFT的月面模拟图像特征提取方法处理,第三部分是特征匹配方法,第四部分是实验及结果分析,第五部分是应用这个算法的可行性分析,第六部分是结论.
1 基于SIFT的月面模拟图像特征提取方法
尺度空间理论最早出现于计算机视觉领域时其目的是模拟图像数据的多尺度特征.Koendetink在文献[4]中证明高斯卷积核是实现尺度变换的唯一变换核,而Lindeberg[5]等人则进一步证明高斯核是唯一的线性核.图像中的二维高斯函数定义为
式中σ为高斯正态分布的方差.一个图像的尺度空间L(x,y,σ)定义为高斯函数与图像的卷积
Lowe在图像二维平面空间和DoG(differenceof-gaussian)尺度空间中同时检测局部极值以作为特征点,以使特征点具备良好的独特性和稳定性[6].这个算法首先在尺度空间进行特征检测,并确定关键点(Keypoints)的位置和关键点所处的尺度,然后使用关键点邻域梯度的主方向作为该点的方向特征,以实现算子对尺度和方向的无关性.
SIFT算法提取的尺度不变特征向量对旋转、尺度缩放和亮度变化保持不变性,对视角变化、仿射变换和噪声也保持一定程度的稳定性,且独特性好,信息量丰富,适用于在海量特征数据库中进行快速、准确地匹配.
SIFT特征匹配算法包括两个阶段,第一阶段是SIFT特征的生成,即从多幅待匹配图像中提取出与尺度缩放、旋转、亮度变化无关的特征向量;第二阶段是SIFT特征向量的匹配.
下面本文来具体介绍一下SIFT算法.一幅图像SIFT特征向量的生成算法总共包括4步:
(1)计算尺度空间极值,以初步确定关键点位置和所在尺度.
首先计算图像对应不同尺度空间的一系列高斯差分图像DoG(Laplacian-of-Gaussian),并构造高斯金字塔,DoG算子定义为两个不同尺度高斯核的差分,具有计算简单的特点,是归一化LoG算子的近似.
DoG算子如式(2)所示
对于图像上的点,计算其在每一尺度下DoG算子的响应值,这些值连起来得到特征尺度轨迹曲线.特征尺度曲线的局部极值点即为该特征的尺度.尺度轨迹曲线上完全可能存在多个局部极值点,这时可认为该点有多个特征尺度.
在计算尺度空间极值时,每个像素需要跟包括同一尺度的周围邻域8个像素和相邻尺度对应位置的周围邻域9×2个像素总共26个像素进行比较,以确保在尺度空间和二维图像空间都检测到局部极值.
(2)通过拟和三维二次函数来精确确定关键点的位置和尺度,同时去除低对比度的关键点和不稳定的边缘响应点(因为DoG算子会产生较强的边缘响应),以增强匹配稳定性和提高抗噪声能力.将尺度空间的方程D(x,y,σ)按照泰勒展开得到第二项[7]
通过这个二次函数,将不同尺度图像的局部极值点进行拟合;另上式的偏导数为0,求出极值的位置
这个过程可以在定位的过程中,使提取的特征点达到亚像素的精度.
(3)利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具备旋转不变性.计算特征点的方向θ(x,y)和幅值m(x,y)
式(4)为(x,y)处梯度的模值和方向公式.其中L所用的尺度为每个关键点各自所在的尺度.在实际计算时,在以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向.梯度直方图的范围是0°~360°,其中每10°一个柱,总共36个柱.直方图的峰值则代表了该关键点处邻域梯度的主方向,即作为该关键点的方向.
至此,图像的关键点已检测完毕,每个关键点有三个信息:位置、所处尺度和方向.由此可以确定一个SIFT特征区域.
(4)生成SIFT特征向量.首先将坐标轴旋转为关键点的方向,以确保旋转不变性.
接下来以关键点为中心取16×16的窗口.生成16个4×4的子窗口,在每个子窗口计算0°,45°,90°,135°,180°,225°,270°,315°,这8个方向的梯度大小和幅值,因此每个4×4的子窗口可以看作一个8维特征向量的描述,那么整个窗口可以看作128维特征描述.然后将这些特征进行向量的归一化描述.如果缩小关键点的窗口到8×8,就可以最后生成一个32维特征向量.
2 使用SIFT特征进行双目图像的匹配
当两幅图像的SIFT特征向量生成后,下一步采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量.如图2所示,其匹配方法是直接在对应的另一幅图像中寻找特征点的特征向量相减,直接找出所得差值为最小值的点,作为匹配点.当两幅图像的SIFT特征向量生成后,采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量.
图2的具体描述如下,假设在左图像提取n个特征点,在右图像提取m个特征点.左图像第i(0≤i≤n)个特征点坐标(xi,yi)的特征向量为Xli,与每个右图像的每个特征点的特征向量Xrj(j=1,…,m)相减所得的一组数据中,理论上选择特征向量之差为最小(特征向量的欧氏距离最近)的特征向量所对应的右图特征点为对应匹配点.通常情况,为了防止误匹配的发生,选择欧氏距离最近点与次近点的距离相除,如果两者相除低于某一个比例阈值,就确定这个点和左图像的特征点匹配上.这个比例阈值越大,就会有更多的点匹配上,但是误匹配的概率也会高;这个比例阈值越低,匹配精度越高,但是匹配的点会减少.
图2 特征匹配的流程图
3 实验及结果分析
图3是增强的图像与没有增强的图像的匹配结果.获得27个匹配点.使用增强的图像与没有增强的进行匹配,对本文的工作是非常有意义的,但由于采集设备硬件在月面环境中受到扰动影响,可能出现其中一幅图像过曝光的情况,会导致本应该属于对应的一个目标在图3上出现的灰度特征呈现出很大的差异.
在光线差异比较大的情况下,传统的SAD(the sum of absolute differences)和NNC(normalized cross correlation)等匹配准则都是基于局部灰度信息特性的匹配,这些方法会带来明显的误匹配情况.使用基于特征向量的SIFT方法匹配会对光照强度、位置变化、图像扭曲变形等保持很好的鲁棒性.
根据视差公式推算相机距离被观测点目标的距离:Z=Bf/d,其中两相机间距B和焦距f根据具体相机试验数据计算.d为两幅图像中匹配点所在像素的坐标对应的欧氏距离.
其中xL和yL为图(3a)图像匹配点的坐标,xR和yR为图(3b)图像匹配点的坐标.
图3 增强的左图像与没有增强的右图像的匹配结果
假设本文实验中导航相机间距B为200mm,焦距f为14mm,相机靶面尺寸为12mm×12mm,对应每个象素为0.001 2mm;将两图像的像素间距离数据带入视差公式Z=Bf/d,可以获图中的匹配点到相机的距离距离Z如表1所示.
表1 相机到对应的匹配点距离
根据表1所示,第3点,15点,22点都是对应图3中距离相机较远的点,求得的距离值都比较大.而17,20,21,23等几个点,在最前面距离相机最近的位置,这些点的距离符合实际的远近位置关系,因此,这个试验的结果有较高的准确性.同时这个实验的对比结果显示,在明暗明显不同的两幅图像中,仍然有较高的匹配精度,显示了对不同光照环境较好的鲁棒性,这个特性对以后的月面真实环境的匹配工作有重要的意义.
4 应用SIFT特征匹配完成月面巡视器自主导航的几个可行性
虽然SIFT特征匹配的鲁棒性很强,可解决很多实际环境中可能出现的问题.但是其主要问题就是匹配准确的点数目不足以完全恢复出三维地形,为此可以采用其它手段完成避障任务.
(1)今后改进SIFT特征匹配算法工作的设想
SIFT特征匹配算法在对于月面模拟环境的视觉处理中虽然有很多独特的优点,但是比较致命的缺点就是精确匹配的数量不够多,运算速度比较慢.
为此一方面可以通过图像分割方法,减少匹配的范围,将工作量缩小.另一方面在关键点特征向量生成上,可以在保留信息量的基础上,缩小窗口范围,进一步减少特征向量的维数.
(2)用有限匹配点解决避障问题
首先,图像中的每一个像素对应地面的近似梯形小块,假设地面为平滑无障碍物的,那么每个像素对应的地面梯形块到相机的距离应该是一个有规律的函数,对应每一点都应该有一个固定的理想的值.
而通过SIFT方法计算出的结果,将与这个相机距离地面理论值有一个偏差,这个偏差的大小就决定这个位置的高低起伏.当这个偏差值超过某个阈值时候,就可以推断这个位置是安全区域还是危险区域.
(3)在视觉里程的应用
视觉里程计,是可以克服由于土壤松软,陡坡等引起的漫游车滑移带来的扰动.其原理是假定漫游车不动,特征点移动,求出特征点移动的距离和方向,然后推算出车辆本身的行走距离和位置,其具体工作方式包括:
1)在采集的图像中选定一些感兴趣的特征点;
2)在探测器移动的时候跟踪这些特征点;
3)计算出不同时刻这些点的相对位置.
视觉里程对匹配点的精度要求比较高,今后可以使用SIFT方法进行这方面的尝试工作.
5 结 论
本文在基于SIFT特征提取的方法上进行了深入研究,并且将其用于月面图像的双目立体视觉匹配中.由于月面模拟图像的光照环境变化较大,采集图像的两相机之间容易存在其他硬件原因导致的采集图像的差异等,本文使用基于尺度不变的特征提取和匹配方法,可以有效避免这些问题.另一方面由于匹配的特征点提取达到亚像素精度,因此可以明显提高目标定位的精度,在仿真实验中取得较好的实验结果.今后可以进一步优化这一算法,针对实时性进行提高,同时可以利用图像分割的方法,在预处理阶段使用图像分割来有效判别可能的危险区域,减少后面的匹配工作量.
[1] Steven B,Goldberg M W,Maimone L M.Stereo vision and rover navigation software for p lanetary exp loration[C].IEEE Aerospace Conference,Big Sky,Montana,USA,March 2002
[2] Cheng Y,Goguen J,Johnson A,et al.Themars exploration rovers descent image motion estimation system[J].IEEE Intelligent Systems,2004,3(3)13-21
[3] Harris C,Stephens M J.A combined corner and edge detector[C].The 4thAlvey Vision Conference,Manchester,UK,April 1988
[4] Lowe D G.Distinctive image feature from scale-invariant keypoints[J]International Journal of Computer Vision,2004,60(2):91-110
[5] Lindeberg.Scale space for discrete signals[J].IEEE Trans.PAM l,1990,20(3):234-254
[6] Lowe D G.Object recognition from local scale-invariant features[C].International Conference on Computer Vision,Corfu Greece,1999
Extraction and Matching of SIFT Feature for Simulated Lunar Environment
LIU Jialu1,2
(1.Beijing Institute of Control Engineering,Beijing 100190,China;2.National Laboratory of Space Intelligent Control,Beijing 100190,China)
A new feature point extraction algorithm based on prior know ledge of navigation systems for lunar rover is presented in this paper.The key-points was extracted by SIFT from image as feature points at first.Then use these feature points for binocular matching thus getting distance information of the scene by the calculation of differences between match points in two images.This algorithm could improve the robust to lightness change for images of lunar region and accuracy in the later matching phase.This algorithm makegood results in simulative environment experiments.
lunar rover;SIFT feature;vision navigation;feature extraction;feature matching
TP391
A
1674-1579(2009)05-0048-04
2009-01-09
刘佳璐(1972—),男,辽宁人,博士后,研究方向为计算机视觉(e-mail:tnliu@sohu.com).