一种图像匹配方法、装置及电子设备与流程

文档序号:32763729发布日期:2022-12-31 10:27阅读:27来源:国知局
一种图像匹配方法、装置及电子设备与流程

1.本技术涉及计算机视觉技术领域,特别是涉及一种图像匹配方法、装置及电子设备。


背景技术:

2.同步定位与地图构建(simultaneous localization and mapping,slam)系统,主要用于解决机器人在未知环境运动时的定位与地图构建问题。slam包括前端和后端,其中,前端也称为视觉里程计,主要功能是根据相邻的两帧图像之间的图像匹配来估算出机器人的运动轨迹信息。
3.现有技术在进行图像匹配时,通常通过一些预设算法提取图像中的特征点,比如轮廓点、较暗区域中的亮点、较亮区域中的暗点等,并在提取得到特征点以后,计算特征点对应的描述子,其中,描述子即为表征特征点的数据结构,可以包含多个维度的数据,比如尺寸、灰度值等。最后根据描述子,将相邻两帧图像之间的特征点进行匹配,进而得到图像匹配结果。
4.上述图像匹配方法,由于在提取特征点的过程中,只能提取轮廓点、较暗区域中的亮点、较亮区域中的暗点等一些预设的显著特征点,导致特征点匹配不够全面,进而影响后续图像匹配结果的准确性。


技术实现要素:

5.本技术公开了一种图像匹配方法、装置及电子设备,不依赖传统角点边缘提取,避免只对显著特征点进行匹配,提高图像匹配结果的准确性以及匹配结果的全面度。
6.第一方面,本技术提供了一种图像匹配方法,所述方法包括:
7.对待匹配的至少两帧原始图像分别进行特征提取,得到各帧原始图像分别对应的第一特征图,其中,所述第一特征图包含原始图像的所有特征;
8.预测各帧第一特征图中每个第一像素块对应的特征点概率值,并确定每个第一像素块对应的描述子;
9.根据各个特征点概率值以及各个描述子,对各帧第一特征图进行特征点匹配,得到所述至少两帧图像对应的图像匹配结果。
10.通过上述方法,不依赖传统角点边缘提取,通过特征图中的所有像素块,提高特征点的全面度,进而避免只对显著特征点进行匹配,提高图像匹配结果的准确性,并且匹配结果更加全面。
11.在一种可能的设计中,所述预测各帧特征图中每个第一像素块对应的特征点概率值,包括:
12.分别将各帧第一特征图划分为多个第一像素块,并将每个所述第一像素块转换为第一列向量;
13.将各个第一列向量输入第一预设网络,得到各个第一列向量分别对应的第一关联
向量;
14.根据各个第一关联向量,得到各个第一列向量对应第一像素块的特征点概率值。
15.通过上述方法,根据每个像素块对应列向量的关联向量,预测出各帧特征图中任一像素块成为特征点的概率值。
16.在一种可能的设计中,所述根据各个第一关联向量,得到各个第一列向量对应第一像素块的特征点概率值,包括:
17.将各个第一列向量转换为原维度的第二像素块;
18.按照各个第一像素块的排列顺序,将各个第二像素块拼接为第二特征图;
19.分别将各帧第二特征图输入第二预设网络进行解码,并根据各个第一关联向量对解码过程进行约束,得到各个第二像素块分别对应的特征点概率;
20.将各个第二像素块分别对应的特征点概率值,作为各个第一像素点的特征点概率值。
21.通过上述方法,通过神经网络和每个像素块对应列向量的关联向量,预测出各帧特征图中任一像素块成为特征点的概率值。
22.在一种可能的设计中,所述确定每个第一像素块对应的描述子,包括:
23.将各帧第一特征图划分为多个第三像素块,并将每个所述第三像素块转换为第二列向量;
24.将各个第二列向量输入第三预设网络,得到各个第二列向量分别对应的第二关联向量;
25.根据各个第二关联向量,得到各个第二列向量对应第三像素块的描述子;
26.将各个第三像素块的描述子,作为各个第一像素块分别对应的描述子。
27.通过上述方法,通过神经网络和每个像素块对应列向量的关联向量,确定出各帧特征图中任一像素块的描述子。
28.在一种可能的设计中,所述根据各个特征点概率值以及各个描述子,对各帧第一特征图进行特征点匹配,得到所述至少两帧图像对应的图像匹配结果,包括:
29.将各个第一像素块与各个描述子之间进行匹配,得到第一匹配结果;
30.将各个第一匹配结果中的目标像素块删除,得到第二匹配结果,其中,所述目标像素块为各个第一像素块中特征点概率值小于预设阈值的像素块;
31.将各个第二匹配结果输入第四预设网络进行关联计算,得到第三匹配结果;
32.将各个第三匹配结果,作为所述至少两帧图像对应的图像匹配结果。
33.通过上述方法,通过神经网络进行图像匹配,匹配速度快。同时,匹配过程中考虑的特征点更加全面,提高匹配结果的准确性和全面度。
34.第二方面,本技术提供了一种图像匹配装置,所述装置包括:
35.提取模块,用于对待匹配的至少两帧原始图像分别进行特征提取,得到各帧原始图像分别对应的第一特征图,其中,所述第一特征图包含原始图像的所有特征;
36.处理模块,用于预测各帧第一特征图中每个第一像素块对应的特征点概率值,并确定每个第一像素块对应的描述子;
37.匹配模块,用于根据各个特征点概率值以及各个描述子,对各帧第一特征图进行特征点匹配,得到所述至少两帧图像对应的图像匹配结果。
38.在一种可能的设计中,所述处理模块具体用于:
39.分别将各帧第一特征图划分为多个第一像素块,并将每个所述第一像素块转换为第一列向量;
40.将各个第一列向量输入第一预设网络,得到各个第一列向量分别对应的第一关联向量;
41.根据各个第一关联向量,得到各个第一列向量对应第一像素块的特征点概率值。
42.在一种可能的设计中,所述处理模块还用于:
43.将各个第一列向量转换为原维度的第二像素块;
44.按照各个第一像素块的排列顺序,将各个第二像素块拼接为第二特征图;
45.分别将各帧第二特征图输入第二预设网络进行解码,并根据各个第一关联向量对解码过程进行约束,得到各个第二像素块分别对应的特征点概率值;
46.将各个第二像素块分别对应的特征点概率值,作为各个第一像素点的特征点概率值。
47.在一种可能的设计中,所述处理模块还用于:
48.将各帧第一特征图划分为多个第三像素块,并将每个所述第三像素块转换为第二列向量;
49.将各个第二列向量输入第三预设网络,得到各个第二列向量分别对应的第二关联向量;
50.根据各个第二关联向量,得到各个第二列向量对应第三像素块的描述子;
51.将各个第三像素块的描述子,作为各个第一像素块分别对应的描述子。
52.在一种可能的设计中,所述匹配模块具体用于:
53.将各个第一像素块与各个描述子之间进行匹配,得到第一匹配结果;
54.将各个第一匹配结果中的目标像素块删除,得到第二匹配结果,其中,所述目标像素块为各个第一像素块中特征点概率值小于预设阈值的像素块;
55.将各个第二匹配结果输入第四预设网络进行关联计算,得到第三匹配结果;
56.将各个第三匹配结果,作为所述至少两帧图像对应的图像匹配结果。
57.第三方面,本技术提供了一种电子设备,包括:
58.存储器,用于存放计算机程序;
59.处理器,用于执行所述存储器上所存放的计算机程序时,实现上述图像匹配方法步骤。
60.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述图像匹配方法步骤。
61.通过上述图像匹配方法,不依赖传统角点边缘提取,通过特征图中的所有像素块,提高特征点的全面度,进而避免只对显著特征点进行匹配,提高图像匹配结果的准确性,并且匹配结果更加全面。
62.上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
63.图1为本技术提供的一种图像匹配方法的流程图;
64.图2为本技术提供的一种图像匹配装置的结构示意图;
65.图3为本技术提供的一种电子设备结构示意图。
具体实施方式
66.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
67.下面结合附图,对本技术实施例进行详细描述。
68.现有技术在进行图像匹配时,通常通过一些预设算法提取图像中的特征点,比如轮廓点、较暗区域中的亮点、较亮区域中的暗点等,并在提取得到特征点以后,计算特征点对应的描述子,其中,描述子即为表征特征点的数据结构,可以包含多个维度的数据,比如尺寸、灰度值等。最后根据描述子,将相邻两帧图像之间的特征点进行匹配,进而得到图像匹配结果。
69.上述图像匹配方法,由于在提取特征点的过程中,只能提取轮廓点、较暗区域中的亮点、较亮区域中的暗点等一些预设的显著特征点,导致特征点匹配不够全面,进而影响后续图像匹配结果的准确性。
70.为了解决上述问题,本技术提供了一种图像匹配方法,不依赖传统角点边缘提取,通过特征图中的所有像素块,提高特征点的全面度,进而避免只对显著特征点进行匹配,提高图像匹配结果的准确性,并且匹配结果更加全面。其中,本技术实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
71.如图1所示,为本技术提供的一种图像匹配方法的流程图,具体包括如下步骤:
72.s11,对待匹配的至少两帧原始图像分别进行特征提取,得到各帧原始图像分别对应的第一特征图;
73.在本技术实施例中,在获取得到待匹配的至少两帧原始图像时,首先通过特征提取网络对各个原始图像进行特征提取,得到各帧原始图片分别对应的第一特征图,其中,第一特征图包含原始图片中所有能够提取特征。
74.在特征提取的过程中,不同的特征提取网络提取得到的各帧第一特征图之间可能会存在差异,为了保证第一特征图像中包含更多的原始图像特征,在选择特征提取网络时,不仅要使得生成的第一特征图中包含轮廓点、较暗区域中的亮点、较亮区域中的暗点等显著特征,还需要包含这些显著特征之外的非显著特征。
75.s12,预测各帧第一特征图中每个第一像素块对应的特征点概率值,并确定每个第一像素块对应的描述子;
76.在生成各帧原始图片分别对应的各帧第一特征图之后,分别将各帧第一特征图划分为多个第一像素块,比如patch。然后对每个第一像素块改变进行维度转换,比如将4

4的像素块转换为1x16的像素块,进而得到第一像素块对应的第一列向量。
77.进一步,将各个第一列向量输入第一预设网络,得到各个第一列向量分别对应的第一关联向量。其中,第一预设网络可以是transformer网络,在将各个第一列向量输入第一预设网络之前,需要对第一预设网络进行有监督训练,在训练结果收敛时,认为第一预设网络训练完成,可以有效分析出各个第一列向量对应的关联向量,比如上下文向量。
78.进一步,根据各个第一关联向量,得到各个第一列向量对应第一像素块的特征点概率值。具体来讲:
79.首先,将各个第一列向量转换为原维度的第二像素块,比如,当第一列向量为4

4的第一像素块转换得到,那么第二像素块对应的维度为4

4。
80.接下来,按照各个第一像素块的排列顺序,将各个第二像素块拼接为第二特征图。为了提高拼接效率,在生成各个第一列向量时,可以对各个第一列向量按照第一像素的排列顺序进行编号,以使在对第二像素块进行拼接时,按照各个第一列向量对应的编号进行排列即可。
81.接下来,分别将各帧第二特征图输入第二预设网络进行解码,其中,第二预设网络可以是全卷积网络,在将各帧第二特征图输入第二预设网络之前,需要对第二预设网络进行有监督训练,在训练结果收敛时,认为第二预设网络训练完成。
82.在将各帧第二特征图输入第二预设网络之后,根据各个第一关联向量对第二特征向量的解码过程进行约束,得到各个第二像素块分别对应的特征点概率值,并将各个第二像素块分别对应的特征点概率值,作为各个第一像素点的特征点概率值。比如第一像素块为a,将第一像素块转化为第一列向量b,同时第一列向量b对应的关联向量为b11、b12、b13。在将第一像素块a还原得到的第二像素块为a后,那么通过关联向量b11、b12、b13计算出第二像素块a对应的特征点概率为k时,那么确定第一像素块a对应的特征点概率为k。
83.通过上述方法,基于神经网络和每个像素块对应列向量的关联向量,可以预测出各帧特征图中任一像素块成为特征点的概率值。
84.在本技术实施例中,在预测出各帧第一特征图中第一像素块对应的概率值的同时,还需确定出第一像素块对应的描述子。具体来讲:
85.在生成各帧原始图片分别对应的各帧第一特征图之后,分别将各帧第一特征图划分为多个第三像素块,比如patch,并将每个第三像素块转换为第二列向量,然后对每个第三像素块改变进行维度转换,比如将4

4的像素块转换为1x16的像素块,进而得到第三像素块对应的第二列向量。
86.将各个第二列向量输入第三预设网络,得到各个第二列向量分别对应的第二关联向量。其中,第三预设网络可以是transformer网络,在将各个第二列向量输入第三预设网络之前,需要对第三预设网络进行有监督训练,在训练结果收敛时,认为第三预设网络训练完成,可以有效分析出各个第二列向量对应的第二关联向量,其中,第二关联向量为各个第二列向量对应的子描述子。
87.进一步,将各个第二关联向量以及各个第二列向量输入第五预设网络,得到各个第二列向量对应第三像素块的描述子。其中,第五预设网络可以是训练完成的多层感知器
(multilayer perceptron,mlp)。
88.通过上述方法,通过神经网络和每个像素块对应列向量的关联向量,确定出各帧特征图中任一像素块的描述子。
89.s13,根据各个特征点概率值以及各个描述子,对各个第一特征图进行特征点匹配,得到所述至少两帧图像对应的图像匹配结果。
90.在得到各帧第一特征图中每个第一像素块对应的特征点概率值,并确定每个第一像素块对应的描述子之后,将各个第一像素块与各个描述子之间进行匹配,得到第一匹配结果。由于描述子表征的是对像素块的特征进行描述,因此,根据描述子的数据内容,可以匹配出描述子对应的像素块。在本技术实施例中,主要通过训练好的第六预设网络来实现。
91.比如,当前各个第一像素块为a、b、c,各个描述子为m1、m2、m3,通过第六预设网络将各个第一像素块和各个描述子之间进行匹配,得到的第一匹配结果为(a,m1)、(b,m2)、(c,m3)。
92.在得到各个第一匹配结果之后,进一步,将各个第一匹配结果中的目标像素块删除,得到第二匹配结果,其中,目标像素块为各个第一像素块中特征点概率值小于预设阈值的像素块。比如,在各个第一匹配结果(a,m1)、(b,m2)、(c,m3)中,若第一像素块a对应的特征点概率值k小于预设阈值,那么可以将a删除,得到的第二匹配结果为m1、(b,m2)、(c,m3),此时描述子m1没有阈值匹配的第一像素块。
93.进一步,将各个第二匹配结果输入第四预设网络进行关联计算,得到第三匹配结果,并将各个第三匹配结果,作为所述至少两帧图像对应的图像匹配结果。其中,第四预设网络可以是训练完成后的mlp。通过第四预设网络可以对第一匹配结果进行进一步优化,提高匹配结果的准确性。
94.基于上述图像匹配方法,不依赖传统角点边缘提取,通过特征图中的所有像素块,提高特征点的全面度,进而避免只对显著特征点进行匹配,提高图像匹配结果的准确性,并且匹配结果更加全面。
95.基于同一发明构思,本技术实施例中还提供了一种图像匹配装置,如图2所示,为本技术中一种图像匹配装置的结构示意图,该装置包括:
96.提取模块21,用于对待匹配的至少两帧原始图像分别进行特征提取,得到各帧原始图像分别对应的第一特征图,其中,所述第一特征图包含原始图像的所有特征;
97.处理模块22,用于预测各帧第一特征图中每个第一像素块对应的特征点概率值,并确定每个第一像素块对应的描述子;
98.匹配模块23,用于根据各个特征点概率值以及各个描述子,对各帧第一特征图进行特征点匹配,得到所述至少两帧图像对应的图像匹配结果。
99.在一种可能的设计中,所述处理模块22具体用于:
100.分别将各帧第一特征图划分为多个第一像素块,并将每个所述第一像素块转换为第一列向量;
101.将各个第一列向量输入第一预设网络,得到各个第一列向量分别对应的第一关联向量;
102.根据各个第一关联向量,得到各个第一列向量对应第一像素块的特征点概率值。
103.在一种可能的设计中,所述处理模块22还用于:
104.将各个第一列向量转换为原维度的第二像素块;
105.按照各个第一像素块的排列顺序,将各个第二像素块拼接为第二特征图;
106.分别将各帧第二特征图输入第二预设网络进行解码,并根据各个第一关联向量对解码过程进行约束,得到各个第二像素块分别对应的特征点概率值;
107.将各个第二像素块分别对应的特征点概率值,作为各个第一像素点的特征点概率值。
108.在一种可能的设计中,所述处理模块22还用于:
109.将各帧第一特征图划分为多个第三像素块,并将每个所述第三像素块转换为第二列向量;
110.将各个第二列向量输入第三预设网络,得到各个第二列向量分别对应的第二关联向量;
111.根据各个第二关联向量,得到各个第二列向量对应第三像素块的描述子;
112.将各个第三像素块的描述子,作为各个第一像素块分别对应的描述子。
113.在一种可能的设计中,所述匹配模块23具体用于:
114.将各个第一像素块与各个描述子之间进行匹配,得到第一匹配结果;
115.将各个第一匹配结果中的目标像素块删除,得到第二匹配结果,其中,所述目标像素块为各个第一像素块中特征点概率值小于预设阈值的像素块;
116.将各个第二匹配结果输入第四预设网络进行关联计算,得到第三匹配结果;
117.将各个第三匹配结果,作为所述至少两帧图像对应的图像匹配结果。
118.基于上述图像匹配装置,不依赖传统角点边缘提取,通过特征图中的所有像素块,提高特征点的全面度,进而避免只对显著特征点进行匹配,提高图像匹配结果的准确性,并且匹配结果更加全面。
119.基于同一发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述图像匹配方法装置的功能,参考图3,所述电子设备包括:
120.至少一个处理器31,以及与至少一个处理器31连接的存储器32,本技术实施例中不限定处理器31与存储器32之间的具体连接介质,图3中是以处理器31和存储器32之间通过总线30连接为例。总线30在图3中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线30可以分为地址总线、数据总线、控制总线等,为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器31也可以称为控制器,对于名称不做限制。
121.在本技术实施例中,存储器32存储有可被至少一个处理器31执行的指令,至少一个处理器31通过执行存储器32存储的指令,可以执行前文论述图像匹配方法。处理器31可以实现图2所示的装置中各个模块的功能。
122.其中,处理器31是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器32内的指令以及调用存储在存储器32内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
123.在一种可能的设计中,处理器31可包括一个或多个处理单元,处理器31可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成
到处理器31中。在一些实施例中,处理器31和存储器32可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
124.处理器31可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的图像匹配方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
125.存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器32可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等。存储器32是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器32还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
126.通过对处理器31进行设计编程,可以将前述实施例中介绍的图像匹配方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的图像匹配方法的步骤。如何对处理器31进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
127.基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述图像匹配方法。
128.在一些可能的实施方式中,本技术提供的图像匹配方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的图像匹配方法中的步骤。
129.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
130.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
131.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
132.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
133.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1