一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于ORB描述子的特征点局部邻域特征匹配方法

2022-09-14 23:50:09 来源:中国专利 TAG:

一种基于orb描述子的特征点局部邻域特征匹配方法
技术领域
1.本发明涉及图像识别算法技术领域,具体涉及一种基于orb描述子的特征点局部邻域特征匹配方法。


背景技术:

2.图像匹配是图像处理中的重要任务,应用于图像配准,目标运动检测跟踪,目标识别定位,地图匹配等场合。基于特征元素的图像匹配方法由于其匹配效率高、适应环境能力强等原因被广泛使用。在对两帧图像进行识别时,对两帧图像间的特征点匹配问题是其中的关键环节,特征点匹配的精度和准确度决定了其视觉任务的可实现性。
3.根据公开号:cn109697692a,公开日为:2019-04-30的发明专利申请,公开了一种基于局部结构相似的特征匹配方法,其步骤包括:步骤1,对两张待匹配图像进行特征提取与初始匹配;步骤2,建立特征点的邻域仿射系数矩阵;步骤3,对初始匹配集中的每一个匹配,计算与之相关联的特征点的邻域仿射系数矩阵的差异;步骤4,对邻域仿射系数矩阵进行优化,获取局部结构差异程度;步骤5,根据每个匹配相关联的特征点的局部结构差异值,设定比较阈值,确定最终的特征匹配对作为待匹配图像的匹配关系结果。本发明在技术上克服了现有技术优化过程复杂并收敛慢的问题,有效提高匹配的效率。
4.现有的随机样本共识方法需要依赖于假设模型,当异常值占比较大时效率较低,而且图像变化相对复杂时,经常会出现局部邻域特征点对匹配错误,局部保持匹配方法在对称纹理场景中经常产生错误匹配,为此提出一种基于orb描述子的特征点局部邻域特征匹配方法,旨在解决图像匹配时出现错误匹配的问题。


技术实现要素:

5.本发明的目的是提供一种基于orb描述子的特征点局部邻域特征匹配方法,旨在解决图像匹配时出现错误匹配的问题。
6.为了实现上述目的,本发明提供如下技术方案:一种基于orb描述子的特征点局部邻域特征匹配方法,包括以下步骤:
7.s1:通过orb快速特征点提取和描述算法对相同或相似场景下的两帧图像f
p
和图像fq进行检测和描述其特征,并提取图像f
p
和图像fq中的特征点;
8.s2:在欧氏距离下计算像素距离并搜索所述步骤s1中图像f
p
和图像fq中每个特征点的邻域ni,设定一个阈值r,将超过阈值r的特征点排除在邻域外;
9.s3:选取步骤s2中图像f
p
中每个特征点对应于图像fq中相应邻域中的邻近特征点构成假定特征点对,假定特征点对合集为s;
10.s4:在算法中输入假定特征点对合集s,同时建立两个点集:真实匹配特征点集y和错误匹配特征点集m;
11.s5:利用gms网格法寻找图像f
p
和图像fq中所有特征点和的最近邻特征点,并在图像f
p
和图像fq上分别划分不重叠的初始网格矩阵g0;
12.s6:根据所述步骤s4中划分的网格矩阵g0以及所述步骤s1中提取的特征点,对s1中的特征点根据欧式距离在网格矩阵g0中搜索当前特征点ai、bi的最邻近特征点aj、bj,并在汉明距离下计算其相似度是否大于设定的阈值;
13.是,则表示两个特征点的相似度较低,为错误匹配,将当前特征点合并至初始设置的错误匹配特征点集m中;
14.否,则进入s7;
15.s7:按照欧氏距离搜索当前进行比较的特征点周围的3个最近邻特征点,通过计算k维检验及其邻域的汉明距离,构造局部邻域约束;
16.s8:设定一个比较阈值,根据相似函数比较f
p
和图像fq中对应特征点的局部邻域约束的相似性,判断相似函数的结果是否小于该阈值:
17.是,则该特征点对为假定真实匹配的特征点对,将该特征点对合并至初始设置的真实匹配点集y中;
18.否,则该特征点对为假定错误匹配的特征点对,将该特征点对合并至初始设置的错误匹配点集m中;
19.s9:分别搜索图像f
p
和图像fq中当前进行比较的特征点ai、bi与其各自的最近邻特征点aj、bj之间的连线与g0网格边缘线交错的特征点,将当前特征点ai、bi和其最近邻特征点aj、bj之间的像素距离记为l1,将当前特征点ai、bi和g0网格边缘线交点之间的像素距离记为l2,并比较l1和l2,其比较公式如下所示:
[0020][0021]
是,则表示当前特征点ai、bi的最近邻特征点aj、bj在其它网格内,需要重新划分网格g1,并进入s10;
[0022]
否,则表示当前特征点ai、bi的最近邻特征点aj、bj在本网格内,直接输出真实特征点集y;
[0023]
s10:通过变邻域搜索算法,定义一组变邻域r,将变邻域r输入到算法中,重新确定第二次网格矩阵g1;
[0024]
s11:重复所述步骤s7至s10,并最终输出真实匹配的特征点集y。
[0025]
作为优选的,所述步骤s2中,邻域ni表示为:
[0026]
ni={nj|nj≠ni,l(nj,ni)<r};
[0027]
其中,ni为当前特征点,nj为与ni不同的特征点,l(nj,ni)为两个特征点之间的像素距离,r为设定好的邻域的比较阈值。
[0028]
作为优选的,所述步骤s3中,假定特征点对s定义为:
[0029][0030]
其中si为s集合内的一次特征点对的对应,pi为图像f
p
中的特征点,qi为图像fq中与图像f
p
对应的特征点,d(,)为两个特征描述子之间的汉明距离,dh为真实对应的距离阈值,n为特征点对的数目。
[0031]
作为优选的,所述步骤s5中,通过设定一系列网格矩阵规模,并进行算法执行速度测试,最终选择算法执行速度最快的一种网格矩阵规模作为网格矩阵g0的网格矩阵规模。
[0032]
作为优选的,所述步骤s6中,相似度计算公式为:
[0033][0034]
其中,为异或运算,fk(aj)和fk(bj)均为orb描述子的k维检验,其满足高斯分布,其计算公式为:
[0035][0036][0037]
其中的τ(a;xj,yj)为基于灰度图的二值强度检验,其公式表示为:
[0038]
作为优选的,所述步骤s7中,所述局部邻域构造方法为分别计算f
p
和fq中当前进行比较的特征点与其最近邻的3个特征点之间的k维检验及其邻域的汉明距离。
[0039]
作为优选的,所述步骤s10中,变邻域r具体定义为:
[0040][0041]
其中,r为当前特征点的邻域,rm为提前设定好的一组邻域,m为这组邻域的数量。
[0042]
在上述技术方案中,本发明提供的一种基于orb描述子的特征点局部邻域特征匹配方法,具备以下有益效果:
[0043]
本发明提出一种基于orb描述子的特征点局部邻域特征匹配方法,通过建立初始网格矩阵g0可以有效的提高特征点匹配的速度,再经过对特征点集真假性匹配,以及建立二次网格矩阵g1,通过二次网格矩阵g1再对特征点集进行多次处理,去除错误匹配点集,可以有效地减少误匹配,提高特征点匹配的成功率,进而提升各类特征匹配算法的鲁棒性。
附图说明
[0044]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0045]
图1示出了本发明的流程示意图;
[0046]
图2示出了本发明的部分算法流程图;
[0047]
图3示出了本发明的步骤s9-s11算法流程图;
[0048]
图4示出了本发明的最近邻局部约束示意图;
[0049]
图5示出了本发明的局部邻域结构示意图;
[0050]
图6示出了本发明提供的实施例中的管道数据集中两幅图像的初始匹配结果图;
[0051]
图7示出了本发明提供的实施例中去除误匹配特征点后的结果图。
具体实施方式
[0052]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]
如图1—7所示,一种基于orb描述子的特征点局部邻域特征匹配方法,包括以下步骤:
[0054]
s1:通过orb快速特征点提取和描述算法对相同或相似场景下的两帧图像f
p
和图像fq进行检测和描述其特征,并提取图像f
p
和图像fq中的特征点;
[0055]
s2:在欧氏距离下计算像素距离并搜索所述步骤s1中图像f
p
和图像fq中每个特征点的邻域ni,设定一个阈值r,将超过阈值r的特征点排除在邻域外,邻域ni表示为:
[0056]
ni={nj|nj≠ni,l(nj,ni)<r};
[0057]
其中,ni为当前特征点,nj为与ni不同的特征点,l(nj,ni)为两个特征点之间的像素距离,阈值r为经过多组实验选定,在该阈值r下错误匹配去除数量最多,在该阈值r下可以保留正确匹配数量最大,正确匹配的精确性和召回率都为最佳;
[0058]
s3:选取步骤s2中图像f
p
中每个特征点对应于图像fq中相应邻域中的邻近特征点构成假定特征点对,假定特征点对合集为s,假定特征点对s定义为:
[0059][0060]
其中si为s集合内的一次特征点对的对应,pi为图像f
p
中的特征点,qi为图像fq中与图像f
p
对应的特征点,d(,)为两个特征描述子之间的汉明距离,dh为真实对应的距离阈值,n为特征点对的数目;
[0061]
s4:如图2所示,在算法中输入特征点对合集s,并同时建立两个点集:真实匹配特征点集y和错误匹配特征点集m;
[0062]
s5:利用gms网格法寻找图像f
p
和图像fq中所有特征点的最近邻特征点,并在图像f
p
和图像fq上分别划分不重叠的初始网格矩阵g0,在搜索最近邻特征点时可以从全局搜索变成网格内的局部搜索,进而降低其复杂度,提高算法运行速度,通过设定一系列网格矩阵规模,并进行算法执行速度测试,最终选择算法执行速度最快的一种网格矩阵规模作为网格矩阵g0的网格矩阵规模,如附图4所示,在本发明提供的实施例中,将初始网格矩阵g0定义为8
×
9的规模;
[0063]
s6:根据所述步骤s4中划分的网格矩阵g0以及所述步骤s1中提取的特征点,对s1中的特征点根据欧式距离在网格矩阵g0中搜索当前特征点ai、bi的最邻近特征点aj、bj,并在汉明距离下计算其相似度是否大于设定的阈值;
[0064]
设在图像f
p
中当前进行比较的特征点为ai,其最近邻特征点为aj,在fq中当前进行比较的特征点为bi,其最近邻特征点为bj,根据相似度公式计算二者相似度;
[0065]
其中,为异或运算,fk(aj)和fk(bj)为orb描述子的k维检验,其满足高斯分布,其计算公式为:
[0066][0067]
其中的τ(a;xj,yj)为基于灰度图的二值强度检验,orb特征点描述子的思想是在
fast角点周围按一定的模式选取像素点对,然后比较点对的像素强度,像素强度大的在该对像素点对计算中为1,否则为0,其公式表示为:
[0068][0069]
其中,p(xj)为xj在x=[u,v]处的像素强度,p(yj)为yj在y=[w,t]处的像素强度,[u,v]和[w,t]为在fast角点周围按一定模式所选取的像素点对的坐标;
[0070]
设置一个相似度比较的阈值λ,阈值λ经过多组实验经验选定,在该阈值下错误匹配去除数量最多,同时保留正确匹配数量最大,正确匹配的精确性和召回率都为最佳;
[0071]
判断是否大于阈值λ;
[0072]
是,则表示两个特征点的相似度较低,为错误匹配,将当前特征点合并至初始设置的错误匹配特征点集m中,即m=m∪si;
[0073]
否,则进入s7;
[0074]
s7:按照欧氏距离搜索当前进行比较的特征点周围的3个最近邻特征点,通过计算k维检验及其邻域的汉明距离,构造局部邻域约束;
[0075]
局部邻域构造方法为分别计算图像f
p
和图像fq中当前进行比较的特征点与其最近邻的3个特征点之间的k维检验及其邻域的汉明距离;
[0076]
在f
p
中的对应网格内按照欧氏距离搜索出ai特征点周围的三个最近邻特征点,分别是:m
a,0
、m
a,1
和m
a,2
。在fq中的对应网格内搜索出bi周围的三个最近邻特征点,分别是m
b,0
、m
b,1
和m
b,2
。通过计算k维检验及其邻域的汉明距离,对f
p
和fq内的ai和bi分别构造局部邻域约束,如附图5所示,表示为:
[0077]

[0078]
其中,ai为假定特征点对中f
p
中当前进行比较的特征点,m
a,j
为围绕特征点ai在其邻域内寻找的最近邻的三个特征点,cost(,)为通过计算当前特征点与最近邻特征点之间的汉明距离而表示出的orb描述子的相似度;
[0079]
s8:设定一个比较阈值,根据相似函数比较f
p
和图像fq中对应特征点的局部邻域约束的相似性,判断相似函数的结果是否小于该阈值;
[0080]
针对s7中所构造的局部邻域约束,对比图像f
p
和图像fq中对应特征点的局部邻域约束的相似性,通过相似性函数区分真实匹配和错误匹配,将局部邻域约束的相似性函数定义为:
[0081][0082]
通过多组实验设置一个相似函数比较的阈值ε,阈值ε经过多组实验经验选定的,在该阈值下错误匹配去除数量最多,同时保留正确匹配数量最大,正确匹配的精确性和召回率都为最佳,然后将相似函数的计算结果与这个阈值进行比较,判断f(ai,bi)是否小于阈值ε,真匹配的相似函数值较小,假匹配的相似函数值较大,其比较公式如下所示:
[0083][0084]
是,则该特征点对为假定真实匹配的特征点对,将该特征点对合并至初始设置的真实匹配点集y中,即y=y∪si;
[0085]
否,则该特征点对为假定错误匹配的特征点对,将该特征点对合并至初始设置的错误匹配点集m中,即m=m∪si;
[0086]
s9:如图2所示,在完成上一步的假定特征点集的真假特征点匹配后,将点集分为了两部分,分别是:真实匹配特征点集y和错误匹配特征点集m。这一步针对个别靠近网格边缘的最近邻特征点可能落在不同网格内而形成误匹配的问题而采取解决措施,首先输入前一步分配好的错误点集m,分别搜索图像f
p
和图像fq中当前进行比较的特征点ai、bi与其各自的最近邻特征点aj、bj之间的连线与g0网格边缘线交错的特征点,将当前特征点ai、bi和其最近邻特征点aj、bj之间的像素距离记为l1,将当前特征点ai、bi和g0网格边缘线交点之间的像素距离记为l2,并比较l1和l2,其比较公式如下所示:
[0087][0088]
是,则表示当前特征点ai、bi的最近邻特征点aj、bj在其它网格内,需要重新划分网格g1,并进入s10;
[0089]
否,则表示当前特征点ai、bi的最近邻特征点aj、bj在本网格内,直接输出真实特征点集y;
[0090]
s10:利用变邻域的思想,定义一组变邻域r,将变邻域r输入到算法中,重新确定第二次网格矩阵g1;
[0091]
变邻域r具体定义为:
[0092][0093]
其中,r为当前特征点的邻域,rm为提前设定好的一组邻域,m为这组邻域的数量;
[0094]
在设置好一组邻域后,s2中定义的邻域就变为将这样一组邻域输入到算法中,经过多组实验测试,最后决定第二次网格矩阵的规模大小,在该网格矩阵下错误匹配去除数量最多,同时保留正确匹配数量最大,正确匹配的精确性和召回率都为最佳,在本发明提供的实施例中,第二次网格矩阵g1的规模为6
×
7;
[0095]
s11:重复所述步骤s7至s10,并最终输出真实匹配的特征点集y;
[0096]
设s9输出的假定错误匹配特征点集m中的一次特征点对的对应为hi,对所有hi∈m的特征点对均找出其各自的最近邻特征点,设在f
p
中当前进行比较的特征点为pi,其最近邻特征点为pj,fq中当前进行比较的特征点为qi,其最近邻特征点为qj;
[0097]
根据公式计算二者的相似度;
[0098]
设置一个相似度比较的阈值λ,阈值λ经过多组实验选定,在该阈值下错误匹配去除数量最多,同时保留正确匹配数量最大,正确匹配的精确性和召回率都为最佳,判断是否大于λ:
[0099]
是,则表示两个特征点的相似度较低,为错误匹配,然后将其合并至初始设置的错误匹配特征点集m中,即m=m∪si;
[0100]
否,则在fp中的对应网格内搜索出pi特征点周围的三个最近邻特征点,分别是:m
p,0
、m
p,1
和m
p,2
。在fq中的对应网格内搜索出bi周围的三个最近邻特征点,分别是:m
q,0
、m
q,1
和m
q,2
。通过计算k维检验及其邻域的汉明距离,对两幅图像内的两个特征点分别构造局部邻域约束,表示为:
[0101]

[0102]
然后对这两个局部邻域约束计算其相似性函数,其公式为:
[0103][0104]
设置相似函数比较的阈值ε,阈值ε经过多组实验经验选定的,在该阈值下错误匹配去除数量最多,同时保留正确匹配数量最大,正确匹配的精确性和召回率都为最佳,然后将相似函数的计算结果与这个阈值进行比较,判断:f(pi,qi)是否小于阈值ε,真匹配的相似函数值较小,假匹配的相似函数值较大,其比较公式如下所示:
[0105][0106]
是,则表示两幅图像中围绕该特征点的局部邻域结构为真匹配,将其特征点合并至初始设置的真匹配点集y中,即y=y∪si;
[0107]
否,则表示两幅图像中围绕该特征点的局部邻域结构为假匹配,将其特征点合并至初始设置的假匹配点集m中,即m=m∪si。
[0108]
本发明在管道的数据集中进行了测试,附图6中白圈表示特征点,白线表示两幅图像中的真实特征点匹配对,黑线表示两幅图像中的错误特征点匹配对;附图7中的白色圆圈和连线表示两幅图像去除误匹配后的结果。
[0109]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0110]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0111]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0112]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0113]
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0114]
本技术的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:
[0115]
处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;
[0116]
其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
[0117]
所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0118]
s1:通过orb快速特征点提取和描述算法对相同或相似场景下的两帧图像f
p
和图像fq进行检测和描述其特征,并提取图像f
p
和图像fq中的特征点;
[0119]
s2:在欧氏距离下计算像素距离并搜索所述步骤s1中图像f
p
和图像fq中每个特征点的邻域ni,设定一个阈值r,将超过阈值r的特征点排除在邻域外;
[0120]
s3:选取步骤s2中图像f
p
中每个特征点对应于图像fq中相应邻域中的邻近特征点构成假定特征点对,假定特征点对合集为s;
[0121]
s4:在算法中输入假定特征点对合集s,同时建立两个点集:真实匹配特征点集y和错误匹配特征点集m;
[0122]
s5:利用gms网格法寻找图像f
p
和图像fq中所有特征点和的最近邻特征点,并在图像f
p
和图像fq上分别划分不重叠的初始网格矩阵g0;
[0123]
s6:根据所述步骤s4中划分的网格矩阵g0以及所述步骤s1中提取的特征点,对s1中的特征点根据欧式距离在网格矩阵g0中搜索当前特征点ai、bi的最邻近特征点aj、bj,并在汉明距离下计算其相似度是否大于设定的阈值;
[0124]
是,则表示两个特征点的相似度较低,为错误匹配,将当前特征点合并至初始设置的错误匹配特征点集m中;
[0125]
否,则进入s7;
[0126]
s7:按照欧氏距离搜索当前进行比较的特征点周围的3个最近邻特征点,通过计算k维检验及其邻域的汉明距离,构造局部邻域约束;
[0127]
s8:设定一个比较阈值,根据相似函数比较f
p
和图像fq中对应特征点的局部邻域约束的相似性,判断相似函数的结果是否小于该阈值:
[0128]
是,则该特征点对为假定真实匹配的特征点对,将该特征点对合并至初始设置的真实匹配点集y中;
[0129]
否,则该特征点对为假定错误匹配的特征点对,将该特征点对合并至初始设置的错误匹配点集m中;
[0130]
s9:分别搜索图像f
p
和图像fq中当前进行比较的特征点ai、bi与其各自的最近邻特征点aj、bj之间的连线与g0网格边缘线交错的特征点,将当前特征点ai、bi和其最近邻特征点aj、bj之间的像素距离记为l1,将当前特征点ai、bi和g0网格边缘线交点之间的像素距离记为l2,并比较l1和l2,其比较公式如下所示:
[0131][0132]
是,则表示当前特征点ai、bi的最近邻特征点aj、bj在其它网格内,需要重新划分网格g1,并进入s10;
[0133]
否,则表示当前特征点ai、bi的最近邻特征点aj、bj在本网格内,直接输出真实特征点集y;
[0134]
s10:通过变邻域搜索算法,定义一组变邻域r,将变邻域r输入到算法中,重新确定第二次网格矩阵g1;
[0135]
s11:重复所述步骤s7至s10,并最终输出真实匹配的特征点集y。
[0136]
本技术的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0137]
s1:通过orb快速特征点提取和描述算法对相同或相似场景下的两帧图像f
p
和图像fq进行检测和描述其特征,并提取图像f
p
和图像fq中的特征点;
[0138]
s2:在欧氏距离下计算像素距离并搜索所述步骤s1中图像f
p
和图像fq中每个特征点的邻域ni,设定一个阈值r,将超过阈值r的特征点排除在邻域外;
[0139]
s3:选取步骤s2中图像f
p
中每个特征点对应于图像fq中相应邻域中的邻近特征点构成假定特征点对,假定特征点对合集为s;
[0140]
s4:在算法中输入假定特征点对合集s,同时建立两个点集:真实匹配特征点集y和错误匹配特征点集m;
[0141]
s5:利用gms网格法寻找图像f
p
和图像fq中所有特征点和的最近邻特征点,并在图像f
p
和图像fq上分别划分不重叠的初始网格矩阵g0;
[0142]
s6:根据所述步骤s4中划分的网格矩阵g0以及所述步骤s1中提取的特征点,对s1中的特征点根据欧式距离在网格矩阵g0中搜索当前特征点ai、bi的最邻近特征点aj、bj,并在汉明距离下计算其相似度是否大于设定的阈值;
[0143]
是,则表示两个特征点的相似度较低,为错误匹配,将当前特征点合并至初始设置的错误匹配特征点集m中;
[0144]
否,则进入s7;
[0145]
s7:按照欧氏距离搜索当前进行比较的特征点周围的3个最近邻特征点,通过计算k维检验及其邻域的汉明距离,构造局部邻域约束;
[0146]
s8:设定一个比较阈值,根据相似函数比较f
p
和图像fq中对应特征点的局部邻域约
束的相似性,判断相似函数的结果是否小于该阈值:
[0147]
是,则该特征点对为假定真实匹配的特征点对,将该特征点对合并至初始设置的真实匹配点集y中;
[0148]
否,则该特征点对为假定错误匹配的特征点对,将该特征点对合并至初始设置的错误匹配点集m中;
[0149]
s9:分别搜索图像f
p
和图像fq中当前进行比较的特征点ai、bi与其各自的最近邻特征点aj、bj之间的连线与g0网格边缘线交错的特征点,将当前特征点ai、bi和其最近邻特征点aj、bj之间的像素距离记为l1,将当前特征点ai、bi和g0网格边缘线交点之间的像素距离记为l2,并比较l1和l2,其比较公式如下所示:
[0150][0151]
是,则表示当前特征点ai、bi的最近邻特征点aj、bj在其它网格内,需要重新划分网格g1,并进入s10;
[0152]
否,则表示当前特征点ai、bi的最近邻特征点aj、bj在本网格内,直接输出真实特征点集y;
[0153]
s10:通过变邻域搜索算法,定义一组变邻域r,将变邻域r输入到算法中,重新确定第二次网格矩阵g1;
[0154]
s11:重复所述步骤s7至s10,并最终输出真实匹配的特征点集y。
[0155]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件 程序类实施例而言,由于其基本相似于
·
方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0156]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0157]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
[0158]
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献