基于梯度余弦相似的ORB误匹配剔除算法

文档序号:28705410发布日期:2022-01-29 13:33阅读:281来源:国知局
基于梯度余弦相似的ORB误匹配剔除算法
基于梯度余弦相似的orb误匹配剔除算法
技术领域
1.本发明涉及一种基于梯度余弦相似的orb误匹配剔除算法。


背景技术:

2.图像匹配是将同一空间物理点在不同图像中的映像点对应起来的过程。图像匹配即为特征点的匹配,特征点由关键点和描述子两部分组成,图像匹配的精度对后续的相机位置估计显得尤为重要。
3.由于orb的运算速度较sift、surf算法有了明显的提升,被广泛运用于特征点的提取和匹配当中,但是orb在实际中仍然出现错误高和鲁棒性差等问题。因此,如何有效剔除误匹配并提高位姿估计精度是slam研究者们一直关注的问题。传统slam系统使用随机抽样一致算法剔除误匹配特征点,该算法通过随机抽取样本数据计算模型参数,能快速找到最优估计。伞红军等人通过对orb特征点进行初匹配,根据排序结果构造一个假设的生成集并进行随机采样,获得匹配点集相对应的图像变换信息的最佳拟合模型,相较与传统ransac算法在在正确匹配点对数量和运行速度上提高了7%、38%。张盟等人提出了对传统粗匹配之后的特征点进行相关性计算达到精匹配的目的。周艳青等人为了提高提高图像特征点匹配的速度和准确度,提出了基于ransac算法的极限约束特征匹配的算法。席志红提出了采用了渐进一致采样(prosac)算法来解决orb-slam2系统中ransac算法低效的问题。丁进选通过改进harris角点函数和将空间一致性原理来改进ransac算法。成怡等人通过汉明距离和余弦相结合的方法对误匹配进行剔除。
4.虽然研究者采用了对特征提取和匹配的方法来解决orb存在的缺点,但还是都存在特征点的判别依据是通过灰度像素值的大小来判别,特征往往不够明显,仅仅考虑了描述子之间的空间距离,而并没有考虑图像的空间信息。


技术实现要素:

5.本发明提供一种提高了匹配的准确率,并且还是能够满足orb算法的实时性、实用性的要求,对误匹配剔除有一定的参考价值的基于梯度余弦相似的orb误匹配剔除算法。
6.一种基于梯度余弦相似的orb误匹配剔除算法,它包括以下步骤:
7.s1,通过汉明距离进行粗匹配,获取匹配对的描述子,然后提取出匹配对梯度的描述子进行分析,获取描述子对之间的角度值及相对应的余弦值;
8.s2,通过分析s1中的余弦值来确定阈值,对原有的匹配结果进行优化。
9.优选的,s1中,采用fast算法进行梯度特征检测,取某一像素点o为圆心,取该邻域圆周上16个图像梯度值与o进行比较位置1、5、9、13位置上图像梯度值连续三个值大于或者小于该点梯度值的阈值,则该点就为特征点。
10.优选的,对横向和纵向梯度值进行遍历,求出梯度最大值,将梯度最大值乘以系数λ,λ的取值范围为λ∈(0,1),
[0011][0012]
本发明与传统orb算法相比能够有效的剔除误匹配,提高了匹配的准确率,并且还是能够满足orb算法的实时性、实用性的要求,对误匹配剔除有一定的参考价值。
附图说明
[0013]
图1为本发明的第一帧融合图;
[0014]
图2为本发明第二帧融合图;
[0015]
图3为传统orb粗匹配结果;
[0016]
图4为本发明第一帧梯度融合图像;
[0017]
图5为本发明第二帧梯度融合图像
[0018]
图6为传统orb特征图
[0019]
图7为本发明梯度特征图
[0020]
图8为本发明改进算法匹配图。
具体实施方式
[0021]
下面结合附图1-8对本发明做详细介绍:
[0022]
一种基于梯度余弦相似的orb误匹配剔除算法,包括如下步骤:
[0023]
s1,通过汉明距离进行粗匹配,获取匹配对的描述子,然后提取出匹配对梯度的描述子进行分析,获取描述子对之间的角度值及相对应的余弦值;
[0024]
s2,通过分析s1中的余弦值来确定阈值,对原有的匹配结果进行优化。
[0025]
优选的,s1中,采用fast算法进行梯度特征检测,取某一像素点o为圆心,取该邻域圆周上16个图像梯度值与o进行比较位置1、5、9、13位置上图像梯度值连续三个值大于或者小于该点梯度值的阈值,则该点就为特征点。
[0026]
具体的,
[0027]
图像梯度代替像素:
[0028]
在orb算法中描述子是在特征点的邻域内随机选取的256对点,进行逐一比较,通过τ准则进行赋值。本发明在进行fast特征点检测前,分别求出图像x和y方向上的梯度,并通过逐一比较两个方向上的梯度值,取两个方向上最大的梯度值代替像素值。本发明求取图像梯度采用横向和纵向两个方向上3
×
3的卷积核模板都像素点分别进行计算,g
x
、gy,分别沿着两个不同方向计算图像梯度,g
x
、gy的详细表达式如下所示:
[0029][0030]
利用g
x
、gy求图像中某个像素的梯度,其运算规则为g
x
、gy,分别沿着横向、纵向与图像上的每一个像素点作卷积运算,以图像中的像素点s5为例,计算两个不同方向上的梯度s
5x
、s
5y
,如下所示:
[0031][0032]s5x
在水平x方向上卷积运算如下:
[0033][0034]s5y
在纵向y方向上卷积运算如下:
[0035][0036]
在计算出横向和纵向的图像梯度之后,不同于sobel算子直接进行横向梯度图像和纵向梯度图像简单求近似梯度,本发明遍历横向和纵向梯度值进行遍历,求出梯度最大值,为了防止特征点过多的现象出现,将梯度最大值乘以系数λ,λ的取值范围为λ∈(0,1)。
[0037][0038]
梯度特征点提取:
[0039]
采用fast算法进行梯度特征检测,fast算法速度较快,可以达到实时性的要求,fast原理以某一像素点o为圆心,取该邻域圆周上16个图像梯度值与o进行比较位置1、5、9、13位置上图像梯度值连续三个值大于或者小于该点梯度值的阈值,则该点就为特征点。
[0040]
梯度特征点描述子:
[0041]
改进后的orb算法描述子长度仍然为256位的二进制字符串。计算描述子,首先从特征点周围划分一个32
×
32的梯度区域q,通过高斯分布选择n组9
×
9的窗口进行高斯滤波操作,以特征点为中心随选取点对(x,y),再进行比较利用τ准则进行赋值。
[0042][0043]
τ准则原理为比较邻域内的随机图像梯度值大小,如z(x)大于z(y)则其赋值为1,否则为0。比较n组随机梯度值后生成了n位二进制数的描述子如(12)所示。
[0044]
[0045]
但此时仍然不具备旋转不变性,因此对brief描述子进行改进,与上文描述的特征点方向相结合,故brief描述子具有旋转不变性的特征。
[0046]
基于余弦相似度的精匹配算法过程如下:
[0047]
粗匹配的梯度特征点描述子向量进行余弦相关性分析。
[0048]
比较余弦值大小。
[0049]
若两个特征点的余弦值大于0.78,认为匹配成功,反之则不匹配不成功。
[0050]
改进的orb注重图像更加明显的信息,以及特征点向量描述子之间的空间角度变化,该方法是以明显特征的空间角度变化这一个点为主导来进行误匹配的剔除。
[0051]
实验结果:
[0052]
数据集图片如图1和图2所示。
[0053]
本发明实验数据为时间序列相邻的一组图片作为实验对象,实验环境ubantu18.04,代码集成编译环境vscode,硬件gtx1060。通过实验比较传统orb算法与改进后的算法的匹配结果。考虑具体的实际情况,分别从汉明距离阈值γ∈[45,60],通过多次实验发现cos(θ)取值为0.78最为合适,上面叙述的λ取值为0.7,仍然保留了旋转不变性这一特征。
[0054]
传统orb粗匹配
[0055]
传统orb是通过提取像素值的描述子,再根据描述子的汉明距离进行匹配,汉明距离如果大于阈值则认为匹配不成功,如果小于阈值则匹配成功,其存在误匹配对多的情况,传统orb粗匹配结果如下:图3传统orb粗匹配结果
[0056]
从图中可以看出,传统orb粗匹配存在很多误匹配,很有必要对误匹配进行剔除。
[0057]
提取图像梯度信息
[0058]
为了获得更明显的图像信息,采用图像融合,然后求出图像梯度,得到图像梯度像素值图像。前两帧图像的梯度图如图4和图5所示。
[0059]
从图4和图5可以看出,相较于传统的orb使用像素值提取特征点,梯度值像素更明显,匹配相对更准确。
[0060]
特征提取
[0061]
得到梯度融合图后,采用传统的orb提取特征点的方法提取梯度特征点。为了将梯度特征点与传统orb特征点进行比较,本实验还提取了传统orb的特征点。特征点和梯度orb特征如图6和图7所示。
[0062]
由上两图可以看出,利用梯度信息有利于对水平和垂直方向的特征点进行提取,得到更明显的特征点,有利于后续的特征点匹配。
[0063]
梯度余弦匹配
[0064]
在计算融合图像的梯度和图像的梯度描述符,以及汉明距离粗匹配后,采用本发明改进算法消除粗匹配后的错配。该算法的匹配效果如图8所示。
[0065]
为了证明本发明算法的准确性、及实时性,选用同一时间序列的相邻两帧图片进行,对传统orb算法匹配算法及本发明提出的改进算法gc_orb进行对比试验,棋实验结果如表1所示、实时性如表2所示。
[0066]
表1各种算法匹配效果对比
[0067][0068]
total为匹配对的总数,表中的accuracy为错配率,计算公式如下:
[0069][0070]
表2各种算法时间对比
[0071][0072]
根据上述能够发现只采用余弦值替代和采用梯度代替像素值时,在不同的汉明距离阈值时都能够有效的对误匹配进行剔除,提高误匹配剔除率,但是当将两者结合起来,对误匹配的剔除效果达到最佳,在阈值为60、55、50、45时,相较于传统的orb算法本发明提出的gc_orb在误匹配剔除率精度上提高了15.63%、10.25%、6.84%、3.2%。能够有效的剔除误匹配,提高匹配准确率。从表2可以看出改进后gc_orb算法由于要求取图像的梯度值,在不同的阈值情况下时间消耗上相较于传统的orb略高于传统orb算法,都在毫秒级别,充分说明改进算法仍然具有实时性的这一特征。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1