APP下载

基于改进AKAZE的特征匹配算法及应用

2021-08-06张润梅宦思琪徐静雯

关键词:徽派滤波网格

张润梅,宦思琪,张 媛,徐静雯

(安徽建筑大学,合肥 230601)

一般来说,图像中所显示的几何特征、光线特征、空间位置、质地、边缘信息等,在不同的时间、视角、使用不同传感器对同一物体进行摄影时,都可能有显著的区别,如果再考虑各种干扰和噪音的影响,多次拍摄的图像则会存在或大或小的差异[1]。图像匹配就是查找并确定多次拍摄的图像相同和不同的点,以确认相同的位置;如果两幅图像相同的点较多,它们之间的相关性相对较高;相反,如果两幅图像的相同点较少,则2个图像之间的相关性相对较低。图像的相关性影响匹配结果,相关度高的情况下图像的匹配良好,相反相关度低的情况下,图像的匹配结果较差[2]。

图像的匹配主要可以划分为基于灰度的图像匹配和基于特征的图像匹配。基于灰度的匹配是最先在国际上发展并流行起来的图像匹配技术,这种匹配方法主要是在一幅图像中选择一块图像中的区域,用该图像中的区域在另一幅新的图像中进行移动,寻找另一幅新的图像中与此查找区域的灰度差别最小的部分,以此基本实现两幅相似图像间的灰度匹配,这类的算法一般都需要遍历多个查找区域进行运算[3]。最先被提出的基于灰度的图像匹配检测算法,是1971年由Leese提出的平均绝对差值检测算法(MAD),通过遍历计算以寻找2个区域的灰度差而基本实现了两幅图像间的配准。1972年由Barnea和Silverman提出了基于图像序列相似性检测的算法(SSDA),这个算法通过设定阈值以有效地避免遍历计算数据寻找的复杂过程,并减少计算过程的量。由于基于灰度的匹配算法不仅计算出了待匹配点,而且把每个待匹配点周围的模板和待匹配区域也一起仔细地考虑归纳进来,导致这种方法计算量较大且实际运算的时间也较长较慢[4]。基于图像特征的匹配算法,在进行特征匹配前先要从图像中获取点、线、面或区域等的特征[5-6]。Harris和Stephen博士对1977年提出的经典Moravec角点检测算法进行了改进,提出了在不变性方面表现更好的Harris角点算法[7]。1999年Lowe博士基于尺度空间的研究提出了经典的SIFT检测算法,并在2004年对该算法进行了重大改进,该特征匹配算法对于图像中的外界环境变化的检测具有较强鲁棒性。2003年,M.Brown和D.G.Lowe在ICCV上联合发表了论文,将对SIFT特征关键点匹配检测算法的运用推广到全景图的数字图像拼接处理系统中。为了有效地改善和提高对特征点提取的匹配速度,Bay.H等在2006年对SIFT算法又进行了改进,提出了另一种新的经典匹配算法—SURF特征匹配算法[8-9]。之后,随着现代计算机科学技术的进步和发展,对特征点匹配算法速度的技术要求越来越高,Ethan Rublee等在2011年发表的论文中提出了ORB匹配算法[10]。近年来,特征点的匹配算法主要分为2个不同的发展方向,一是为了尽可能地提高特征点匹配的精确度和准确度,继续改进并发展SIFT、PCA-SIFT、ASIFT、LIFT等匹配算法;二是为了有效地提升特征点匹配的速度,如改进SURF、ORB、KAZE、AKAZE等匹配算法[11]。

徽派的建筑主要是选用传统的砖、木、石3种材料进行建造,梁架结构用料硕大且十分注重装饰。徽派建筑群的整体结构和走势主要依赖于自然界山水的变化脉络。从建筑群的外观来看,徽派建筑都是由粉墙黛瓦的马头墙组合而来,总体在外观上具有统一的建筑韵律感,而建筑群个体的个性化和设计上的灵活性则主要体现在雕刻的纹理和装饰上的彩绘。由于徽派建筑群的构件总体上的造型特征区别相对较小,细节上的特征差别繁杂,且其数据量庞大,所以我们需要寻求一种新的特征匹配的方法,在进一步保证特征匹配精确度和准确度的同时也希望能更好地兼顾特征匹配的速度。

1 AKAZE算法

SIFT和SURF这两种算法都是利用一种金字塔式的策略构建高斯尺度空间,常用于对目标的检测、识别、定位和目标匹配[12]。无论是传统的SIFT算法还是SURF算法,在尺度空间的构建和设计上都有一个明显的技术缺陷:高斯模糊不能完全地保留物体边界的局部信息,在所有的尺度上平滑到相同程度的细节和噪声水平,这直接影响目标定位的精度和唯一性[13]。

学者针对高斯核函数构造尺度空间的局限性,提出了双边滤波和非线性扩散滤波扩散方式。这种利用非线性扩散滤波策略建立的尺度空间可以对物体局部的细节进行局部自适应滤波并有效保持物体和目标的局部边界,从而在尺度空间中保持更多的细节特征。如,BFSIFT算法采用了双边滤波和双向匹配的方法,提高了SIFT算法在强噪声SAR图像中的相应计算性能,但是需要进行更复杂的计算[14]。与SIFT和SURF算法相比,AKAZE算法作者之前在论文中提出的KAZE算法主要采用非线性扩散滤波器,缺点主要在于其计算量大。虽然AOS求解的方程组是稳定且可并行的,但是该算法需要同时求解大规模的线性方程组,并且难以很好地满足移动端的实时性要求。

与SIFT算法和SURF算法相比,AKAZE算法的计算速度更快,与ORB和BRISK算法相比,其可重复性和鲁棒性也有显著的提高。

1.1 非线性扩散滤波

在之前的传统算法如SIFT和SURF中,构造尺度空间都使用了高斯滤波,都无法避免一个潜在的问题,高斯滤波不能保留边缘信息,且会将所有尺度的细节和噪声平滑到相同的水平。尺度空间包括若干个组且通过降采样得到下一个组,每个组中包含若干个尺寸相同的层,同一组中的若干层通过逐层非线性扩散来获得。从构造效果上来看,高斯滤波处理后的图片会随着尺度减小逐渐模糊,而非线性滤波后图片会损失一些细节,但仍然清晰可以辨认,能够局部自适应进行滤除小细节同时保留目标的边界使其尺度空间保留更多的特征信息。

非线性扩散滤波描述图像亮度的变化是通过提升图像的尺度参数作为热扩散函数的散度因子来达到控制图像亮度扩散过程的目的。通常采用偏微分方程进行求解,由于其中涉及微分方程的非线性性质,通过图像亮度的扩散来构建尺度空间,表达式为:

式中:L为图像亮度矩阵;div与▽分别代表散度函数与图像梯度算子。当c(x,y,t)为常数时,则为热扩散方程,表达式为各向同性扩散;当c(x,y,t)为关于梯度的函数时,表达式为各向异性扩散。扩散方程中引入传导函数c能够自适应于图像的局部结构特性进行扩散,传导函数的表达式定义为:

式(2)中的▽Lσ为图像L经过高斯平滑后得到的梯度图像,式(3)中的参数λ用来控制扩散的程度,决定边缘区域要进行增强且平坦区域滤波的决策因子。FED结合显式和半隐式理论的优势互补,求解的思想动机来自于显式理论分解box滤波器:能够很好地近似高斯滤波器且便于应用。KAZE算法中使用AOS算法作为求解方法,但是由于大量线性方程求解过程缓慢,导致算法的实时性得不到保障,所以在AKAZE算法中用FED算法替换了AOS算法,这一步是为了提升计算速度和算法实时性[15-16]。FED算法表达式为:

其中:I为单位矩阵,A(Li)为图像Li的传导矩阵;n表示显性扩散步数;τj为对应步长;τmax为满足显性扩散稳定性条件时的最大步长值。在整个FED的循环中,矩阵A(Li)始终保持不变。而当FED循环结束,算法将会重新计算矩阵A(Li)的值。

1.2 M-LDB描述子

二进制描述符可以在小图像变形模式下由于计算的高效化而接近SIFT算法性能,因此它被广泛用于移动终端、高实时性目标识别、追踪等相关用途中。Yang Xin在2014年提出的LDB描述符,通过使用领域的区域强度均值信息和水平垂直方向上的图像梯度信息来增加二值描述的分化性和鲁棒性。AKAZE算法进一步提高了LDB描述符的图像旋转和缩放性能。通过KAZE算法的特征点旋转不变性获得主方向,然后LDB网格进行相应的旋转。而AKAZE算法中的M-LDB描述符不使用分割网格的像素,而是对网格像素进行尺度自适应[17]。采样后平均值近似划分的网格均值效果良好,比例采样提升了描述符对于尺度变化的鲁棒性。M-LDB通过离散点采样获得散点的亮度值和水平方向和垂直方向的微分平均值,获得的运算符是由0和1构成的二值描述符,缩短了计算时间,从而进一步提高算法的实时性能。

2 G-AKAZE算法

2.1 误匹配点剔除算法

由于运动平滑度的存在所以极不可能在一幅图像中发生多组随机对应簇,因此通过简单地计算特征点邻域中的匹配数,从而准确区分真假匹配[18],去除误匹配点。

如果运动过程是平滑的,相邻像素和特征点将一起移动。所以假设xi是一对特征匹配的点,2个点各自得到一个匹配统计区域,分别记为a区域和b区域,记统计值为Si。Si服从二项分布:

为了能在保证算法精度的前提下通过统计值的差异更加快速高效地进行误匹配点剔除,需要将检测区域扩大。如果检测区域为圆形可能会造成相邻区域中间夹缝点的遗漏,所以将统计区域设计为矩形网格,并将统计范围扩大到周围相邻的8个网格,计算以目标特征点所在网格为中心初始网格的共9个网格中的匹配点个数[19]。

计算当xi正确和错误时的均值、方差:

图1 n×n网格图

为了使特征匹配过程的速度更快,采用一种降低计算复杂度的方法。在原本的特征匹配算法中,每个特征点周围都需要圈定一个匹配邻域并计算邻域中匹配点的统计值,此时算法的计算复杂度为O(N)。如果在进行匹配之初就将图像分割成网格面,那么只需要同时计算所有网格中匹配点的个数并通过简单加法直接得出特征点所在3×3的网格中的统计值,算法计算复杂度将是O(1)。在实际应用中,图像可能会出现旋转、放缩的情况,那么只需要旋转、放缩网格即可。图像相应区域的旋转方式见图2。

图2 图像相应区域的旋转方式示意图

根据经验和前期实验数据可以得知判断阈值:

2.2 改进的G-AKAZE算法

GMS算法采用ORB算法进行特征点检测与特征点描述,找出与它周围的大部分点比较都不同的点,再用BRIEF算法计算二进制的描述符。ORB主要应用于场景变化不明显但需要高速计算的情况下[20]。AKAZE算法与SIFT、SURF相比较,构造尺度空间的方法不同,KAZE与AKAZE是利用非线性方式构造。

为结合2种算法的优势,尝试一种新的特征点匹配算法,改进的G-AKAZE算法流程见图3。

图3 G-AKAZE算法流程框图

首先使用非线性方法构造尺度空间,可以自适应地进行滤除小细节保留目标边缘从而留下更多的特征信息,并用快速显式扩散数学框架FED来快速求解偏微分方程,从而解决计算量大的问题。下一步用Hessian矩阵检测出局部极大值得到特征点,在定义域内对2阶连续可导多元函数f(x1,x2,…,xn)定义其Hessian矩阵H:

若H是负定矩阵,则临界点处是局部极大值,即特征点。算法中使用了M-LDB描述子,它采用二进制方法来描述特征点。首先对特征点求一固定大小的窗口,并将该窗口拆分成2×2、3×3和4×4的网格,依次用二值来表示每2个格子之间的关系。M-LDB可以从非线性尺度空间中获取梯度信息,并且利用特征点检测步骤中计算出的导数,进一步减少了描述子生成过程中的计算量。在此基础上,将待匹配图像进行网格化划分,并计算每个网格中的特征点数量,再相加得到3×3邻域网格内的特征点总数,这一步降低了算法复杂度,根据错误匹配点极小可能得到其他匹配点的支持这一思想,把与邻域内的其他特征点匹配相差较远的剔除,完成去除误匹配点的过程,最终完成匹配。

3 徽派建筑特征匹配实验

3.1 实验数据

徽州传统建筑随着时间的推移,会出现不同程度的自然损毁和人为磨损,而信息化技术的发展为徽州传统建筑的永久保存和有效利用提供了重要技术手段。实验室目前已建成国内唯一的徽州传统建筑特征元素数据库,收集了近100种构件的近万条相关数据;建成了徽州传统建筑数据库,收集了黄山地区100余个聚落,近万幢建筑的相关信息,利用激光三维扫描技术对具有特殊历史地位的文物建筑进行了精细测绘,并进一步开展了徽州传统建筑的虚拟可视化研究,提出了基于几何参数化的徽派建筑快速建模技术,构建了徽派建筑构件库和规则库,建成了徽派建筑虚拟营造系统。在此基础上,使用已有的徽派建筑数据库,数据内容较为充足。图4为实验所用数据图,来源于标准数据集VGG和徽派建筑构件。

图4 实验所用数据图,来源于标准数据集VGG和徽派建筑构件

3.2 特征匹配实验结果

为了验证提出的两种算法结合改进的GAKAZE算法匹配效果良好且剔除误匹配点效果良好,将用对照实验的方法在标准数据集VGG上对AKAZE与ORB进行对比,再在VGG数据集和徽派建筑构件数据集上进行误匹配剔除的对比实验。实验用图为标准数据集VGG及本实验室在徽州建筑群拍摄所得,算法运行时间为3次实验取平均数(保留小数点后四位数)所得。实验所用系统为Windows10。

1)ORB+BF与AKAZE+BF在VGG数据集的匹配结果见图5~6。其中,A组两幅图片为牛津大学校内的一座桥。B组两幅图片为牛津大学校内的一个穹顶建筑物。

图5 ORB+BF与AKAZE+BF匹配 结果对比(A组)

图6 ORB+BF与AKAZE+BF匹配 结果对比(B组)

2)ORB+BF与AKAZE+BF在徽派建筑构件数据集的匹配结果见图7。在相同的实验条件下,AKAZE可以识别出更多的特征点,ORB需要预先测量特征点的个数进行算法初始化,并预置特征点识别点数。

图7 ORB+BF与AKAZE+BF匹配结果对比

3)G-AKAZE与AKAZE、AKAZE+RANSAC实验效果见图8~16。对应的3种算法耗时实验结果见表1。

表1 3种算法耗时实验结果 s

图8 A1组与A2组中AKAZE的匹配结果

图9 A1组与A2组中AKAZE+RANSAC的匹配结果

图10 A1组与A2组中G-AKAZE的匹配结果

图11 B1组与B2组中AKAZE的匹配结果

图12 B1组与B2组中AKAZE+RANSAC的匹配结果

图13 B1组与B2组中G-AKAZE的匹配结果

图14 C1组与C2组中AKAZE的匹配结果

图15 C1组与C2组中AKAZE+RANSAC的 匹配结果

图16 C1组与C2组中G-AKAZE的匹配结果

从实验结果可以看出:G-AKAZE算法的速度明显快于原始AKAZE和AKAZE+RANSAC,对比原始AKAZE、G-AKAZE的算法运行耗时平均降低36.86%;对比于用RANSAC对AKAZE进行误匹配剔除,算法耗时平均降低76.32%。

3种算法匹配对结果见表2。RANSAC在误匹配点剔除时,造成了大量的误剔除,匹配点对的平均保留率为4.66%,使得实验结果不理想,而G-AKAZE在实验中表现良好,在剔除误匹配点的同时保留正确的点,平均保留率为19.64%。

表2 3种算法匹配对结果 对

图17为2种算法的F值。从精确度和召回率两方面计算F值,结果表明G-AKAZE的实验结果优于AKAZE+RANSAC,F值的平均提高率为14.62%。

图17 2种算法的F值比较

4 总结

针对徽派建筑群的构件造型区别难以辨别,细节特征差别繁杂,且数据量庞大的特征点匹配问题,G-AKAZE算法很好地实现了匹配,通过实验验证其相比原始AKAZE和RANSAC可以更好地剔除误匹配点,算法耗时平均降低76.32%,且加权调和平均值F值提升了14.62%。实验中发现G-AKAZE的匹配速度以及误匹配点剔除精度仍然有改进空间,在后续的研究中希望进一步改进,并能将新算法应用于点云数据的匹配中。

猜你喜欢

徽派滤波网格
网格架起连心桥 海外侨胞感温馨
一种考虑GPS信号中断的导航滤波算法
山水画般的徽派建筑
追逐
高效LCL滤波电路的分析与设计
徽派山水画传统的名实和承继问题
徽派建筑在陶瓷装饰中的应用探析
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
岭南篆刻艺术的徽派传承探析
合成孔径雷达图像的最小均方误差线性最优滤波