尺度与特征强度自适应的SURF特征点匹配算法
2019-04-22胡晓彤
胡晓彤,任 辉,刘 楠
(天津科技大学计算机科学与信息工程学院,天津 300222)
基于特征点的图像配准算法首先在图像中提取特征点,然后建立两幅图像之间特征点的配准关系,其广泛应用于图像匹配、三维成像等领域.Bay等提出了 SURF(speeded-up robust features)算法[1],它是对SIFT(scale invariant feature transform)算法的一种改进,其性能超过了SIFT且能够获得更快的速度[2].文献[3]中的局部特征算法的性能比较实验表明:SURF算法是性能最为鲁棒的局部特征算法[3].在对SURF算法的改进研究方面,已经有许多的研究成果.潘建平等[4]通过图像分块策略改善提取特征点的均匀性,引用相对距离理论剔除异常匹配点,从而提高了匹配点的可靠性;常俊林等[5]将 SVM 与 SURF相结合,所得到的特征点欧氏距离归一化后输入到SVM中,通过线下学习,对每幅图像自主地选取合适的阈值,实现了特征点之间的自适应匹配,使得匹配精度有了一定程度的提高;贡超等[6]提出采用扩散距离对SURF特征进行匹配,提高了匹配的正确率与鲁棒性.在提高 SURF匹配速度方面,胡 旻 涛等[7]提出利用图像熵信息对特征点进行筛选,并利用快速近邻搜索算法进行特征匹配,有效地改善了匹配效率.上述改进算法对于提高 SURF算法的性能进行了有益的探索.但是,迄今为止尚无法实现 SURF特征点的匹配精度与匹配成功率间的平衡.
为此,本文在深入研究 SURF特征点的尺度、特征强度与匹配性能间关系的基础上,提出了特征点尺度与特征强度自适应的SURF图像特征点匹配算法,从而获得更多高精度的匹配特征点对,实现了高性能的SURF特征点匹配.
1 SURF特征点检测
SURF算法是一种基于尺度空间的特征点检测与匹配算法,其不仅对图像旋转、平移、缩放和噪声具有较好的鲁棒性,而且在光照变化、视角变化及图像模糊等情况下也能得到较好的匹配结果[8].
SURF算法首先对图像进行高斯平滑处理,并建立高斯尺度空间,然后通过计算 Hessian矩阵行列式的局部极值来确定特征点的位置.对于尺度为σ的空间中任一点(x, y)的Hessian矩阵定义为
式中:Lxx是高斯二阶导卷积的结果,其中;Lxy、Lyy与 Lxx具有相似的含义.
1.1 特征点的描述
为保持特征点的旋转不变性,在特征点位置确定后,计算每一个特征点的主方向.为此,在以特征点为中心,半径为 6σ(σ为特征点的尺度)的圆形区域内,对图像在x和y方向进行 Harr小波响应运算,Harr小波边长取4σ,并使用尺度为2σ的高斯加权函数对 Harr小波响应值进行高斯加权,使得越靠近特征点的响应贡献越大;然后,用π/3大小的扇形区域范围遍历整个圆形区域,并将水平方向响应和垂直方向响应的矢量和模的最大值的方向定义为特征点的主方向.
以特征点为中心,构造一边垂直于主方向且边长为 20σ的正方形窗口区域,并将该窗口区域划分成4×4的子区域,如图 1所示.在每一个子区域内,进行5σ×5σ个采样点的水平方向和垂直方向的Harr小波响应的计算,分别记作dx和dy,同样使用尺度为2σ的高斯加权函数对 Harr小波响应值进行高斯加权,以增加对几何变换的鲁棒性.然后将每个子区域的响应值和响应值的绝对值相加形成
图1 SURF 特征点的描述Fig. 1 SURF point features
由此,每个子区域就形成了一个四维特征描述向量
对于每一个特征点,形成4×4×4=64维的特征向量.同时,为保证对光照不变性,对特征向量进行归一化处理,得到最终的SURF描述符.
1.2 特征点的匹配
特征点的匹配是实现图像配准的关键,特征点匹配的精度直接影响着后续处理的准确性[9].根据SURF特征点描述符中包含的特征点邻域信息,采用K最近邻法找出每个特征点潜在的两个最佳匹配点;最终,通过匹配点的距离最佳值与次佳值比率优选出最佳匹配点对.
2 定位精度的影响因素
在基于SURF特征点的图像配准过程中,特征点的匹配精度影响图像间配准变换模型参数的估算.如何选取更多高精度匹配特征点对是提高图像配准精度的关键.
2.1 特征点尺度
根据SURF特征点的检测与描述方法可知,特征点的尺度是特征点具有的重要特征,同时也反映了用于描述该特征点的图像区域的大小.图 2中的圆形区域即为计算圆心所代表的特征点的特征向量所使用的图像区域,而该圆的半径则被定义为该特征点的尺度.
由于用于描述小尺度特征点的图像区域较小,能够更加准确地描述该点的特征,从而使得小尺度特征点间的匹配具有更高的定位精度[10].不过,小尺度特征点只占图像中所有特征点的一部分,使不同尺度的特征点均能获得较高的定位精度是实现高性能SURF特征点匹配的关键.
图2 SURF 特征点的尺度描述Fig. 2 SURF point scale
目前,尚未见定量分析SURF特征点的尺度与定位精度间关系的研究.为此,需要定量分析 SURF特征点的尺度对定位精度的影响程度,并在此基础上,探索受特征点尺度影响较小的匹配机制,为高性能的SURF特征点匹配提供保障.
2.2 特征强度
SURF特征点匹配算法采用 K最近邻法搜索出每个特征点潜在的两个最佳匹配点,并定义相似度最高的待匹配特征点的特征向量的欧氏距离 d1与相似度次高的待匹配特征点的特征向量的欧氏距离 d2的比值 d1/d2为该特征点的特征强度.同时,设定特征强度阈值,只有当待匹配特征点的特征强度值小于该阈值时,才将该特征点对作为匹配成功点对.
由于相似度越高的特征点的特征强度值越小的可能性越高,故较小的特征强度阈值能够保证相似度较高的特征点对才被保留下来,从而提高配准的定位精度.然而,如果将特征强度阈值设置较小,即只保留特征强度较高的特征点,则可能导致匹配成功率降低,使最终获得的匹配点对数量不足,无法实现高性能的特征点匹配.因此,只有深度研究 SURF特征点的特征强度阈值与匹配性能间的关系,才能够保持定位精度和匹配成功率的平衡,从而有望实现高性能的特征点匹配.
2.3 尺度、特征强度与定位精度的关系
虽然小尺度、高特征强度的特征点能够获得较高的定位精度,但可能造成匹配成功的特征点对数量不够多,无法实现高性能的特征点匹配的问题.
同时,传统的SURF特征点匹配算法采用统一的特征强度阈值,当该阈值被设置得较小时,可能会造成部分定位精度较高的小尺度特征点未能匹配成功;而当该阈值被设置得较大时,可能会造成部分定位精度较低的大尺度特征点被保留下来.故采用统一的特征强度阈值,可能影响整体的定位精度,或使匹配成功的特征点对的数量减少,无法达到定位精度与匹配成功的特征点对数量间的平衡.
为此,需要深入研究 SURF特征点的尺度、特征强度与定位精度、匹配成功率间的关系,探索高性能的SURF特征点匹配.
3 实验分析
3.1 尺度与定位精度的关系
在已知图像旋转角度(实验中取 5°)的条件下,将图 2所示与旋转后的图像进行特征点匹配;随后,基于原图上特征点的坐标与旋转角度计算旋转后匹配点的理论坐标值;最后,计算旋转图像上相匹配的特征点的真实坐标值与理论坐标值间的差作为定位误差进行分析.图 3所示为特征点定位误差的绝对值.从图 3可以看出:在特征强度一定的情况下,小尺度特征点(尺度<20)的定位误差相对于大尺度特征点(尺度≥40)普遍较小,说明小尺度特征点具有较高的定位精度.
图3 不同尺度特征点的定位误差Fig. 3 Positioning errors at different scale feature points
为了定量分析特征点尺度与定位精度间的关系,将图2所示图像与测试用图像进行特征点匹配,对匹配成功的特征点计算其定位误差,从而分析不同尺度的特征点的定位精度.分析时,采用待匹配图像中匹配成功的特征点坐标与原图中相应的特征点经旋转后坐标间的差值作为特征点的定位误差,结果见表 1.
表1 不同尺度特征点的平均定位误差Tab. 1 Average positioning errors of feature points of different scales
从表 1可以看出:随着特征点尺度的增大,其平均定位误差呈上升趋势,如尺度≥40的特征点的平均定位误差接近尺度<20的特征点的定位误差的3倍.
3.2 特征强度与定位精度的关系
为了深入研究特征强度阈值与特征点定位精度间的关系,分别设置不同的特征强度阈值,分析高、中、低特征强度阈值下的特征点定位误差,结果见图 4.
图4 不同特征强度特征点的定位误差Fig. 4 Positioning errors of feature points of different intensity
从图 4可以看出,随着特征强度阈值的增大,定位误差呈逐步增大的趋势,表明特征强度阈值的设置对于特征点的定位精度确有影响.
为了进一步定量分析特征强度阈值与定位精度间的关系,在尺度相同的情况下(实验中取尺度小于40),分析不同特征强度阈值下匹配成功的特征点的数量与定位误差,结果见表2.
表2 不同强度特征点的平均定位误差Tab. 2 Average positioning errors of feature points of different strength
从表 2可以看出:随着特征强度阈值的提高,平均定位误差呈上升趋势.同时,不同特征强度的特征点间的定位误差差异也较大,如特征强度在 0.5与0.8之间的特征点的平均定位误差接近特征强度小于0.2的特征点的定位误差的3倍.
3.3 尺度、特征强度与定位精度的关系
上述实验结果表明:采用小尺度特征点或者降低特征强度阈值均能有效提高匹配成功的特征点对的定位精度,但可能造成匹配成功率的下降.为了进一步研究尺度、特征强度与定位精度间的关系,针对不同尺度的特征点,分别设置不同的特征强度阈值,进行特征点匹配实验,结果见表3.
表3 不同尺度和特征强度下特征点的平均定位误差Tab. 3 Average positioning errors of feature points of different scales and characteristic intensities
从表 3可以看出:特征点尺度越小,同时特征强度值越小的情况下,匹配点对间的平均定位误差越小,也即定位精度更高.同时,对于小尺度特征点来说,即便特征强度值稍大,也能够获得较高的定位精度.而对于大尺度特征点,只有当特征强度值较小时,才能获得高精度的匹配点对.
4 改进算法
前文分析表明,采用统一的特征强度阈值无法实现定位精度与匹配成功率间的平衡.因此,本文提出一种特征点尺度与特征强度自适应的 SURF特征点匹配算法.
4.1 算法原理
对定位精度较高的小尺度特征点,采用较大的特征强度阈值,以保留更多的小尺度特征点;对定位精度不高的大尺度特征点,采用较小的特征强度阈值,以剔除定位精度较低的大尺度特征点.
具体算法流程如下:
(1)提取模板图像SURF特征点;
(2)根据尺度大小将 SURF特征点分为 3类:尺度<20、20≤尺度<40、尺度≥40;
(3)提取待测图像 SURF特征点,分别在 0.2、0.5、0.8的特征强度阈值下与步骤(2)所得的 3类特征点进行匹配,得到匹配结果.
4.2 算法的比较
为了验证算法的有效性,使用传统SURF算法以及基于 SVM 的改进 SURF算法与本文提出的自适应算法对多幅图像对进行了特征点匹配实验.常俊林等[5]所提出的 SVM 与 SURF相结合的算法采用SVM选取合适的匹配阈值,提高了匹配精度,与本文所提出的算法具有较高的可对比性,因此选取此改进算法进行对比.
在传统的SURF匹配算法中,将特征强度阈值设置为被普遍采用的 0.66.本文提出的自适应算法的参数设置为尺度小于20的特征点的特征强度阈值为0.8;尺度在[20,40]区间的特征点的特征强度阈值为0.5;尺度大于40的特征点的特征强度阈值为0.2,为不同尺度的特征点设置为不同的匹配规则.所选测试用图见图5,实验结果见表4.
图5 测试用图Fig. 5 Test images
表4 算法匹配性能比较Tab. 4 Matching performance of different algorithms
从表 4可以看出:传统算法平均定位误差较大,而基于 SVM 的 SURF改进算法针对整幅图像选取一个适宜的特征强度阈值,故其平均定位误差要小于传统的 SURF算法,但匹配点对数量下降较明显;与传统的SURF算法相比,本算法在获得相近数量的匹配点对的情况下,平均定位误差降低了 10%~15%;与基于SVM的SURF改进算法相比,本算法在定位误差基本相同的情况下,匹配成功的特征点数增加了11%~48%.上述结果表明,本算法较好地实现了特征点的平均定位误差与匹配成功率间的平衡.
5 结 语
本文在深入研究SURF特征点的尺度、特征强度与定位精度间关系的基础上发现:随着特征点尺度的减小,特征点的定位误差呈下降趋势;另外,随着特征强度阈值的降低,特征点的定位误差也呈下降趋势,但同时都伴随着匹配成功特征点对数量的下降.为此,本文提出了一种尺度和特征强度的自适应SURF特征点配准算法,通过特征强度阈值与尺度间的相互适应,使保持特征点的定位精度与匹配成功率间的平衡成为可能.实验结果表明:本算法在有效地提高了特征点的定位精度的同时,获得了数量更多的匹配特征点对.