针对传统图像匹配算法匹配时间较长、误匹配较高的问题,本文提出了一种三步特征提取和匹配算法 *通讯作者。
在图像处理领域中,图像匹配是一个研究热点,它可以广泛应用于目标识别与跟踪[1]、遥感影像处理[2]等领域。
图像匹配通常分为三个步骤:图像特征点的检测、特征点的提取及特征点的匹配。国内外学者对于图像匹配也有许多出色的研究,例如2004 年David G. Lowe 整理完善所提出的SIFT 算法[3],它对于光线、噪声、微视角改变的容忍度较高;2006 年Herbert Bay 等人提出了SURF 算法[4],该算法的优点在于所提取的特征具有平移、缩放、旋转的不变性, 且相较于SIFT 算法来说, 计算速度得到了提高;Calander等人提出的BRIEF 算法[5]和Stefan 提出的BRISK 算法[6]均是生成二进制链码描述符,且都加速了特征向量匹配过程,但是BRIEF 描述符对于旋转非常敏感,造成了其具有一定的局限性;而BRISK 算法相对而言较为稳定,有更好的尺度与光照不变性,且它的特征点的检测和描述子的计算比BRIEF 的速度要快一个数量级;Alahi 等人于2012 年提出了FREAK 算法[7],该算法是从人眼识别物体的原理中得到启发的,它利用人类视网膜的特性来进行采样点的选择,算法较为新颖,但是该算法不具备尺度不变性, 在图像尺度发生变化的情况下,特征点的匹配准确率会大大降低。
本文的主要工作有:1) 使用BRISK 算法对图像的特征点进行检测;2) 用FREAK 描述子对特征点进行描述;3) 使用BF 匹配算法对图像的特征点进行匹配;4) 研究对比本文所提出的BRISK + FREAK + BF 方法与传统的BRISK 算法与FREAK 算法,比较分析后得知本文所提出的方法在特征点的数目及匹配的正确率上均有了一定的提高,且在不同尺度与不同光照下具有良好的鲁棒性。同时,使用GPU 进行加速使本文算法的实时性也较高。
2. BRISK 算法 2.1. BRISK 算法 BRISK 算法是于2011 年提出的特征提取算法,它具有良好的旋转不变性、尺度不变性及较好的鲁棒性等。为实现尺度不变性,BRISK 算法首先应用高斯差分滤波器把图像构建成N 组S 层的高斯差分DOG (Difference of Gaussian)金字塔[8],如图1 所示。高斯差分金字塔是由高斯金字塔构造得到的,它是对同一个八度的两幅相邻的图像做差得到插值图像,所有八度的这些插值图像的集合,便构成了高斯差分金字塔。