一种基于ORB算法的无人机影像匹配

2023-11-08 07:06邓仕雄刘继庚林国敏
河北省科学院学报 2023年5期
关键词:描述符像素矩阵

邓仕雄,刘继庚,林国敏,邹 宇,汪 兴

(贵州水利水电职业技术学院,贵州 贵阳 551416)

0 引言

特征匹配(feature match)是计算机视觉中应用的基础,广泛运用在运动结构、图像检索、目标检测、图像配准、摄像机跟踪,三维重建,人脸识别等领域,对其深入研究有着重要实际应用价值[1]。特征提取和匹配由关键点检测,关键点特征描述和关键点匹配三个步骤组成,其本质是在不同的图像上通过算法实现同名点的提取,其中基于图像局部特征的匹配较为常见,常见特征匹配按照描述符分为二进制描述符及非二进制描述符。SIFT(scale invariant feature transform)[2,3]特征点检测匹配算法是在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性,但该算法时间复杂度较高,实时效果不佳。SURF(speed up robust features)[4]加速版特征算法是由Bay在2006年首次提出,该算法采用了Haar特征以及积分图像的概念,加速了程序的运行时间。AKAZE[5]特征算法是SIFT特征算法的一种改进,因高斯模糊具有丢失边缘信息的缺点,进而采用非线性扩散滤波来构建尺度空间,从而保留图像更多的边缘特征。BRISK(binary robust invariant scalable keypoints)[6]是BRIEF[7]算法的一种改进,具有尺度不变性和旋转不变性,其主要利用FAST(features from accelerated segment test)[8]算法进行特征点检测,为了满足尺度不变性,BRISK构造图像金字塔在多尺度空间检测特征点。ORB(oriented fast and rotated brief)[9]是一种快速特征点提取和描述的算法,将FAST特征点的检测方法与BRIEF特征描述符结合起来,并做了改进与优化。

国内众多学者也做了相关研究,如甘小红等人[10]针对性地提出了特征描述符降维处理和匹配优化解决方案,提出了一种基于SIFT的改进优化特征匹配算法,得到一种能满足更高实时性和精确性需求的特征匹配算法。为解决特征点匹配的质量与计算效率不能兼得的问题,宁小娟等人[11]研究了一种基于最佳几何约束和RANSAC(random sample consensus)[12]的特征点匹配方法。何志伟等人[13]针对山区地形起伏大,局部存在阴影,通过改进算法得出较好的匹配效果。本研究针对无人机影像局部区域特征点探测难度大及探测的特征点全局性较差,通过改进算法得到较好的无人机影像匹配结果,试验证明了该算法的可靠性。

1 影像匹配关键技术

1.1 ORB算法原理

ORB是一种快速特征点提取和描述的算法,采用FAST算法来检测特征点及BRIEF算法进行特征描述。其核心思想是利用一个点跟其周围的点比较,如果该点与大部分的点都不一样则认为它是一个特征点。如图1所示,图中每个小方格代表一个像素,方格内的颜色只是为了便于区分,不代表该像素点的颜色。具体步骤如下:

图1 FAST算法探测特征点示意图

Step1:确定候选角点。选择某个像素q,其像素值为Iq,以q为圆心,半径为3,确立一个圆,圆上有16个像素,分别为p1,p2,…,p16。确定阈值t,利用圆上的像素值分别与q的像素值做差,如果存在连续n个点满足Ix-Ip>t或Ix-Ip<-t(其中Ix代表此圆上16个像素中一个点),则该点为一个候选点。

Step2:非极大值抑制。为了去除彼此相邻部分的候选角点,可以采用非最大值抑制的算法:假设P,Q两个点相邻,分别计算两个点与其周围的16个像素点之间的差分和为W。去除W值较小的点,即把非最大的角点抑制掉。

Step3:BRIEF特征描述。该描述符以特征点为中心,取大小为S×S的区域p,区域的四条边分别都与坐标轴垂直或平行,如图2所示。

图2 特征点中心S×S区域

采用方差为σ,卷积核大小为N×N的高斯滤波器对区域p每一点进行高斯平滑处理并计算τ。

(1)

式中,p(x)为经过高斯平滑后x(u,v)处的像素强度,p(y)为经过高斯平滑后y(u,v)处的像素强度,x,y点对随机选择。最后计算nd维的位字符串,即特征点描述符,公式(2)中,nd为点对数(描述符位数),一般取128 256 512。

(2)

1.2 改进算法实现基础

(3)

式中,hk(z)=hk(z,f,T),依赖于特征提取函数f:X→R和一个阈值T给定f和T,通过T和f(x)来定义weak learner。

(4)

1.2.1 阈值平均盒弱学习者

效率的关键是选择一个f(x),它既具有判别性,又能快速计算。定义特征提取函数f(x)如公式(5)。

(5)

式中,I(t)为像素t的灰度值,R(p,s)为大小的正方形盒子集中在带有尺寸s的像素p。因此,f计算像素的平均灰度值之间的差异(p1,s)和R(p2,s)。图3中的红色和蓝色方块代表(p2,s)和R(p1,s),为加快f的计算,使用积分图像的输入图像。一旦s可用,方框中的灰度和可以通过4次内存访问和4次算术运算来计算。描述符提取工作流程如下:为了描述图像块,BEBLID有效地计算左侧红蓝框中像素的平均灰度值,对于每对红蓝框(弱学习者),从蓝框平均值中减去红框平均灰度值,获得f(x),对这些值应用一组阈值得到h(x),最后乘以矩阵B,以产生描述符D(x)。

图3 描述符提取工作流程

1.2.2 优化弱学习者权值

BoostedSCC算法选择k个弱学习者及其相应的权值。公式(6)中BoostedSCC优化的损耗函数可以看作是一种度量学习方法,其中度量矩阵A是对角的。

(6)

通过对特征s(x,y)=h(x)TAh(y)之间的相关性进行建模,估计整个矩阵A可以改善相似函数。FP-Boost估计最小值如下:

(7)

采用随机梯度下降法估计对称的a和hi(x)是一项困难的工作。因此,该算法从k个弱学习器和由BoostedSCC找到的a开始。第二个学习步骤非常快,因为所有弱学习者的反应都可以预先计算出来,在未优化的描述符的情况下,必须分解相似函数s(x,y)来计算x和y的独立描述符。假设A是一个对称矩阵,可以使用它的特征分解来选择特征值最大的D个特征向量。

1.3 改进算法实现步骤

局部图像特征描述的核心问题是不变性(鲁棒性)和可区分性,ORB算法中BRIEF描述符优点在于速度快,但该描述符不具旋转不变性、尺度不变性及对噪声敏感等问题。根据前文ORB/BEBLID特征点探测及描述符详细过程,构建ORB+BEBLID特征匹配算法,即采用ORB特征点探测结合BEBLID描述符进行匹配,通过引入FLANN算法进行粗匹配,并采用RANSAC随机抽样一致性算法剔除误匹配,实现精匹配。

1.3.1 RANSAC算法精匹配

Opencv计算机视觉库中,特征匹配剔除误匹配常采用RANSAC随机抽样一致性算法寻找一个最佳单应性矩阵H,矩阵大小为3×3。RANSAC目的是找到最优的参数矩阵使得满足该矩阵的数据点个数最多,通常令h33=1来归一化矩阵。由于单应性矩阵有8个未知参数,至少需要8个线性方程求解,一组特征点点对可以列出两个方程,则至少包含4组匹配点对,如公式(8)。

(8)

式中:(x,y)为影像角点位置,(x′,y′)为场景影像角点位置,s为尺度参数。

精匹配步骤如下:

Step1:随机从数据集中随机抽出不共线的4个样本数据,计算出变换矩阵H,记为模型M。

Step2:计算数据集中所有数据与模型M的投影误差,若误差小于阈值λ,加入内点集I,如公式(9)。

(9)

Step3:如果当前内点集元素个数大于最优内点集i·best,则更新i·best=i,同时更新迭代次数k,如公式(10)。

k=log(1-p)/log(1-wm)

(10)

式(10)中,p为置信度,w为“内点”的比例,m为计算模型所需要的最少样本数,取p=0.995,m=4。

Step4:当迭代次数大于k,则退出,反之迭代次数加1,即迭代次数k在不大于最大迭代次数的情况下,重复上述步骤。

1.3.2 试验评价标准

采用正确匹配数、匹配耗时、正确匹配率来评价算法的优越性。

2 试验过程与分析

为了验证改进后算法的效果,分别对两组无人机影像对进行对比分析试验,两组影像大小为700×900。试验运行环境为Intel(R) Core(TM) i5-2430MCPU@2.40 GHz,运行内存8 GB的笔记本电脑,基于VS2017的OpenCV4.5.1计算机视觉库作为数据处理平台。

2.1 试验过程

选取大疆精灵4RTK及中海达iFlyD7无人机采集的无人机影像,包含建筑物、沟壑纵横的山区及含水域的两组数据,如图4所示。由图4可知,影像对(a)为某山区,地形起伏较大,特征信息不丰富,影像质量不高,局部区域特征点探测难度大。影像对(b)含有水域、植被及建筑物等地理信息,信息丰富,特征点探测相对容易。其中,不同算法处理两组影像对试验结果如图5所示。

图4 特征匹配影像对

图5 不同算法处理两组影像对试验结果

2.2 试验结果分析

根据试验方案进行几种算法特征精匹配,根据试验结果,统计各算法探测影像对特征点数量、正确匹配数、耗时及匹配率,见表1。从图5可知,经过剔除误匹配后,AKAZE算法匹配率较低,影像对特征点数量较少,基于ORB算法的影像对特征点数量较多。其中影像对(a)组由于影像地形起伏较大,特征信息不丰富,特征点探测比较困难,正确匹配数由少到多依次为AKAZE算法、SIFT算法、ORB算法、本文算法、SURF算法。影像对(b)组影像由于地理信息丰富,特征点探测相对容易,正确匹配数由少到多依次为AKAZE算法、SURF算法、SIFT算法、ORB算法、本文算法。

表1 匹配试验结果

从耗时方面来看,由于AKAZE算法特征点较少导致匹配耗时较低,SIFT算法时间复杂度较高。匹配率方面AKAZE算法匹配率较低,SIFT算法及SURF算法匹配率相当,在保证特征点数量较多的前提下,本文算法在两组数据中的匹配率分别为81.97%、89.72%,相比ORB算法分别提高13.60%、9.90%。其中图5中AKAZE、SURF及SIFT算法红色代表正确匹配,ORB算法、本文算法匹配效果绿色代表正确匹配。

3 结语

针对无人机影像局部区域特征点探测难度大,导致无人机影像匹配效果不佳等问题。通过引入BEBLID算法构建高效的二值描述符,并与几种常规算法在影像对探测特征点数量、正确匹配数、耗时及匹配率等方面进行了对比分析,验证了该算法在无人机影像匹配方面的有效性,在保障较好匹配鲁棒性的基础上,同时能够保持较高的稳定性,可以满足无人机航拍图像快速匹配需求。试验证明该算法的特征匹配点对冗余度低、全局性优。

猜你喜欢
描述符像素矩阵
赵运哲作品
像素前线之“幻影”2000
基于结构信息的异源遥感图像局部特征描述符研究
基于AKAZE的BOLD掩码描述符的匹配算法的研究
“像素”仙人掌
Linux单线程并发服务器探索
利用CNN的无人机遥感影像特征描述符学习
初等行变换与初等列变换并用求逆矩阵
高像素不是全部
矩阵