SURF与FLANN算法结合的图像匹配方法
来源:用户上传
作者:
摘要:针对核环境下自主式导航机器人对目标识别与跟踪过程中提高特征点匹配的准确率和稳定性问题,提出一种基于加速鲁棒特征(speed up robust features,SURF)算法进行特征提取和特征描述,利用快速最近邻逼近搜索函数库(fast library forapproximate nearest neighbors,FLANN)算法进行特征点预匹配,并使用随机采样一致性(random sample consensus,RANSAC)算法优化匹配结果,从而实现图像实时匹配与识别。实验结果表明,在不同实验条件下,包括角度变换、缩放变换、局部遮挡、局部光照等,本文算法均能匹配出目标区域内模板图像,具有较好的精确性和稳定性。
关键词:加速鲁棒特征:快速最近邻逼近搜索函数库:随机采样一致性
0引言
在核退役工作中,由于早期核设施很多工程资料存在不完整情况,无法清晰了解核设施内部情况,需要核工业机器人对内部核设施布局进行勘察。在未知的核电厂区环境下识别各种具有不同含义的安全警示标志,有效地指导操作人员采取相应的防护措施,是核工业机器人最重要的任务之一。
机器人识别安全警示标志是图像匹配技术的典型应用,图像匹配的前提是特征提取,特征点的优劣直接影响图像匹配效果。目前,相关研究人员提出许多特征点检测、描述算法。但在应用于机器人视觉时,相机的成像往往会被角度、障碍物遮挡、光照等因素影响,从而导致匹配效率不高的问题。Lowe D G提出SIFT算法和Herben Bay等人在2006年提出SURF算法,因为SURF特征提取结合了二维Haar小波响应、积分图像和Hessian矩阵来加速算法的实现,使得SURF特征提取的运算时间大幅下降。索春宝等人对主流的特征提取算法进行各项性能测试。对比结果显示,特征检测性能表现较好的是SURF算法。
王金龙等人对SIFT算法特征提取和FLANN匹配进行研究,雖然在角度变换、图像缩放、光照变化等不同实验条件下有较好的准确度,但是算法运行时间较长,不能很好的应用于对实时性要求较高的机器人视觉场合中。针对上述问题,本文采用鲁棒性较好的SURF算法对图像进行特征点提取,使用匹配精度和运算速度较好的FLANN算法进行预匹配。对匹配过程中产生的错误匹配采用RANSAC算法进行筛选,以提高整个图像匹配的精确度和实时性。
1 图像匹配算法设计
本文提出的SURF与FLANN结合算法的图像匹配流程如图1所示。其主要分为4个阶段:去除噪点、提取特征点、生成特征点描述子、特征点匹配和优化匹配特征点。
1.1 图像噪点与去除
在核环境下工作的相机。由于无法通过屏蔽手段完全避免辐射影响相机,图像必然会产生脉冲噪点。而噪点的存在将影响图像特征点的生成,从而降低图像间的配准度。因此,需要对采集的图像采取图像预处理消除脉冲噪点。本文采用双边滤波去噪。双边滤波的滤波原理是采用服从高斯分布的加权平均值代替某个像素值。其数学关系如下:
双边滤波即能去除噪声,又能进行边缘保护。所以,经双边滤波处理的待检测图像将具有较好的鲁棒性检测区域,特征点更具顽健性。
1.2 特征点检测
1.2.1 Hessian矩阵
SURF算法的核心是Hessian矩阵,其行列式的局部最大值决定了特征点的位置。SURF算法依计算Hessian矩阵的极值来获得稳定点,并通过矩阵行列式的最大值确定特征点的位置。Hessian矩阵判别式中的f(x,y)是原始图像的高斯卷积,由于高斯核服从正态分布的,从中心点往外,系数越来越低,为了提高运算速度,SURF使用了盒式滤波器来近似替代高斯滤波器,为了平衡因子使用盒式滤波器近似所带来的误差,在Dxy上乘了一个加权系数0.9.则Hessian矩阵判别式的近似计算可表示为:
1.2.2 SURF尺度空间及特征提取
在SURF中,使用不同尺寸盒式滤波器模板和积分图像来获得Hessian矩阵响应,并且在响应图像上使用3D非极大值抑制来获得各种不同尺度的斑点。SURF的金字塔结构如图2所示。图2(a)为高斯模板保持不变,图像大小改变,采用SIFT算法。图2(b)是高斯模板改变,图像大小保持不变,用于SURF算法。由于SURF没有降采样过程,处理速度因此而提高。
1.2.3 特征点主方向分配
在特征点的圆形邻域内,统计60度圆心角为扇形内点的x和y方向的harr小波特征总和。扇形以0.2弧度大小的间隔旋转,并再次计算该区域中的harr小波特征值。最后将具有最大值的扇形方向作为该特征点的主方向。该过程示意如图3所示。
1.3 生成特征点描述
为确保旋转不变性,先将坐标轴旋转到关键点所指的方向。以关键点为中心取8×8的窗口,如图4所示。图4中左图的中心点作为当前关键点,每个小单元表示关键点邻域所在的尺度空间的一个像素,并且求得每个像素的梯度大小和梯度方向,箭头方向代表该像素的梯度方向,箭头长度代表梯度模值,然后由高斯窗口进行加权运算。每个像素对应一个向量,长度为该像素点的高斯权值,越靠近关键点的像素梯度方向信息贡献越大。然后在每4×4的小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成一个种子点,如图4中右图部分所示。图4中关键点由2x2共4个种子点组成,每个种子点有8个方向向量信息。这种邻域方向性信息组合的思想增强了算法抗噪能力,并且对含有定位误差的特征匹配提供了更好的容错性。
1.4 FLANN特征点匹配
图像特征点匹配常见的有BFMatcher(BruteForceMarcher)匹配和FLANN(FlannBasedMatcher)匹配两种方法。二者的区别在于BFMatcher是尝试所有可能的匹配,从而找到最佳匹配。而FLANN匹配是一种近似法,算法速度更快,但找到的是最近邻近似匹配,通过调整FlannBasedMatcher的参数来提高匹配的精度。FLANN匹配是一个对大数据集和高维特征进行最近邻搜索算法的集合,且算法不受局部敏感哈希影响。 1.5 匹配特征点优化
由于在FLANN预匹配过程中。得到的匹配点对存在精度不够理想的情况,目标识别的准确度将受到一定影响,所以需要对错误匹配点进行删除。本文基于RANSAC删除错误匹配点,该算法能够处理错误率超过50%的匹配对,是鲁棒性较好的特征匹配筛选算法之一,将大幅减少误匹配点。
2 实验结果及分析
本文所有实验均使用开发工具Visual Studio2013和图像处理库OpenCV2.4.9,在CPU为AMDRyzen 5-2600,内存16GB,64位Windows 10环境下完成,警示标志模板图像像素为240x320,待匹配图像均由相机Kinect V1采集,像素为640x480.
2.1 图像去噪和特征点提取
移动机器人Kinect V1相机处于中低辐射环境下,所采集的图片会被噪点污染。本文采用双边滤波的方法去除辐射带来的噪声。该方法在去噪的同时又保证了检测区域特征点较强的鲁棒性。
实验选择核电厂使用频数较多的警示标志“当心电离辐射”做仿真分析,仿真结果如图5所示。图5(a)是Kinect V1相机在实验室中获得的图像,图5(b)是双边滤波后的图像。经过双边滤波后去除了图像的噪点,边缘基本得到保留,特征区域没有受到滤波影响。
对双边滤波后的图像进行特征提取,本文比较SIFT、ORB、SURF三种特征点提取算法的性能。实验结果对比如图6所示。
从图6中可以看出,SIFT提取的少数特征点并不是图像的边缘和特征信息,会降低图像匹配准确率。而ORB算法提取相对集中的特征点,将对后续图像匹配产生不利影响。SURF算法特征点很好地体现了图像边缘特征和待匹配信息。
对比评价三种算法在有无滤波情况下提取特征点数目、运行时间。特征点提取结果见表1.
从提取的特征点数目来看。双边滤波后图像提取的特征点少于未经滤波处理图像的特征点,提取的特征点具有更好的图像特征信息,特征点顽健性更好,鲁棒性更好:从算法运行时間角度看,有滤波处理缩短了特征提取的时间。对比三个主流算法,虽然ORB算法运行时间最短,但是提取的特征点数目较少且集中,特征点鲁棒性差。而SIFT运行时间最长,将影响整个特征匹配效率且提取的特征点过多不利于表达图像信息。SURF运行时间是SIFT的三分之一,提取出的特征点数目合理且顽健性好。以上分析可以看出,上述实验中SURF算法提取的特征点数量、鲁棒性和算法运行时间都是3个主流算法中最好的,因此本文选取SURF算法。做为图像特征点提取算法,为后续特征匹配奠定了基础。
2.2 图像匹配实验分析
本文通过SURF算法结合FLANN匹配,并通过RANSAC进行误匹配点剔除实验。待匹配图像在角度变换、缩放变换、局部遮挡、局部光照等不同情况下采集,处理后对模板图像的匹配效果。实验效果如图7所示。统计特征点匹配数量,结果见表2.
实验是对SURF和BFMatcher结合算法与SURF和FLANN结合算法,从匹配的数目、正确率进行对比,并记录本文算法的运行时间。从表2可以看出:对于同一环境下采集的测试图像来说,采用FLANN匹配并用RANSAC剔除错误匹配的方法比BFMatcher匹配结合RANSAC剔除的方法,错误匹配点数都较少,正确率较高。
分析实验结果证明,本文算法较BFMatcher算法去除了不具代表性的匹配点对。在不过分减少匹配数量的同时,有效地剔除错误匹配,从而保证图像匹配的准确率。从算法的运行时间来看,无论在何种实验条件下,算法都在相对较短的时间内完成图像匹配,符合机器人视觉技术对实时性的需求。
3 结束语
本文首先对不同实验条件下采集的图像进行预处理,然后使用SURF算法进行特征提取,结合测试图像采用FLANN算法进行预匹配,匹配中产生的错误匹配通过RANSAC剔除。通过对图像进行角度变换、缩放变换、局部遮挡、局部光照等图像变化下的实验数据分析,本文算法相比于SIFT、ORB特征提取和BFMatcher预匹配算法,不仅特征点数量和匹配的成功率得到了保证,而且算法运行速度也基本满足机器人对实时性的要求,从而满足应用于目标识别与跟踪等热门领域的需求,为进一步实现核环境下自主式导航机器人提供了基础。
转载注明来源:https://www.xzbu.com/8/view-15125491.htm