1.本发明涉及机器视觉技术领域,特别是涉及一种相机位姿估计方法、装置及电子设备。
背景技术:2.具备地图构建能力的电子设备,如可移动机器人,可以通过图像采集设备在不同位置采集图像帧,并根据采集到各个图像帧时图像采集设备所处的位姿,将从不同位置处采集到的图像帧所表示的地图数据投影至地图坐标系中,从而实现地图的构建。
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.图1为本发明实施例提供的相机位姿估计方法的特征点法的特征提取结果图;
52.图2为本发明实施例提供的相机位姿估计方法的一种流程图;
53.图3为本发明实施例提供的相机位姿估计方法的参考帧边缘特征的结构示意图;
54.图4为本发明实施例提供的相机位姿估计方法的参考帧边缘特征法线方向的结构示意图;
55.图5为本发明实施例提供的相机位姿估计方法的另一种流程图;
56.图6为本发明实施例提供的相机位姿估计方法的另一种流程图;
57.图7为本发明实施例提供的相机位姿估计装置的一种结构示意图;
58.图8为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
60.为更清楚的对本发明实施例提供的位姿确定方法进行说明,下面将对本发明实施例提供的位姿确定方法的一种可能的应用场景进行示例性说明,可以理解的是,以下示例仅是本发明实施例提供的位姿确定方法的一种可能的应用场景,在其他可能的实施例中,本发明实施例提供的位姿确定方法也可以应用于其他可能的应用场景中,以下示例对此不作任何限制。
61.根据光学成像原理,不同图像帧之间的图像坐标转换关系取决于不同图像帧之间的位姿,因此若已知两个图像帧之间的图像坐标转换关系以及该两个图像帧中一个图像帧的位姿(下文称为参考帧),则可以确定出该两个图像帧中另一个图像帧的位姿(下文称为目标帧)。
62.而根据同一空间点在参考帧和目标帧中的位置即可确定得到参考帧和目标帧之间的图像坐标转换关系。可见,若能够确定同一空间点在参考帧和目标帧的位置,则可以确定出目标帧的位姿。而相关技术中的位姿确定方法中,根据确定同一空间点在参考帧和目标帧的时是否使用特征点,将位姿确定方法分类为直接法和特征点法。下面将分别对直接法和特征点法进行说明:
63.对于直接法:
64.直接法基于灰度不变性假设,即假设同一空间点在不同图像帧中对应的像素点的灰度值相同,因此通过灰度匹配,可以确定出同一空间点在参考帧和目标帧的位置。
65.对于特征点法:
66.分别从参考帧和目标帧中提取有代表性的特征,这些特征往往位于图像中纹理的边缘,如道路与道路标志线之间边缘、房屋墙壁与窗户之间的边缘、树木与房屋之间的边缘、树木与天空之间的边缘,示例性的,如图1所示。通过匹配这些特征,可以确定出同一空间点在参考帧和目标帧的位置。
67.但是,直接法所基于的灰度不变性假设往往并不成立,例如由于图像采集设备采集得到参考帧和目标帧时的内外参数,如曝光时间、光圈大小以及空间点和图像采集设备光轴之间的距离等,空间点在参考帧中对应的像素点和空间点在目标帧中对应的像素点的灰度将不同。因此,基于灰度不变性假设确定得到的同一空间点在参考帧和目标帧的位置不够准确,进而导致根据同一空间点在参考帧和目标帧的位置确定得到的目标帧的位姿不够准确。
68.而特征点法,一方面由于需要提取参考帧和目标帧的特征,而提取特征需要占用一定的计算量,导致算法复杂度较高,进而导致确定得到目标帧的位姿的效率较低。另一方面,对于参考帧和目标帧中缺乏纹理的场景,由于难以从参考帧和目标帧中准确提取特征,导致难以甚至无法使用特征点法确定目标帧的位姿,即特征点法的适用性较差。
69.基于,本发明实施例提供了一种位姿确定方法,应用于任意具备位姿确定功能的电子设备,方法如图2所示,包括:
70.s201,针对参考帧和目标帧中的各像素点,根据像素点的像素值,确定像素点对应的空间点的辐射能量,作为像素点的矫正光度。
71.其中,参考帧和目标帧为定位设备在同一时间窗口内采集到的图像帧,并且参考帧的位姿已知。
72.s202,根据参考帧和目标帧中各像素点的矫正光度、参考帧的位姿,确定光度误差与目标帧的位姿之间的对应关系。
73.其中,光度误差用于表示参考帧和目标帧中对应于同一空间点的像素点的矫正光度之间的差异。
74.s203,根据对应关系,确定最小光度误差对应的位姿,作为参考帧的初始位姿。
75.选用该实施例,通过各像素点的像素值确定出各像素点对应的空间点的辐射能量,由于参考帧和目标帧是在同一时间窗口内采集到的图像帧,因此认为采集到参考帧时和采集到目标帧时各空间点的辐射能量没有发生变化。因此,若目标帧的位姿为目标帧真实的位姿,则理论上参考帧和目标帧中对应于同一空间点的像素点的矫正光度应当一致。反之,若目标帧的位姿为目标帧真实的位姿,则理论上参考帧和目标帧中对应于同一空间点的像素点的矫正光度应当不一致,即存在一定的差异。可见,能够使得该差异最小的位姿即为目标帧的真实位姿,因此可以确定出最小光度误差对应的位姿,作为目标帧的初始位姿。本发明基于空间点的辐射能量不变性这一假设,由于空间点辐射能量不受图像采集设备的内外参数的影响,因此即使受到图像采集设备成像原理的影响,导致同一空间点在图像帧中对应的像素点的灰度发生变化,也不会影响本发明确定得到的初始位姿的准确性,因此本发明提供的相机位姿估计方法的鲁棒性更强。
76.另一方面,本发明实施例提供的位姿确定方法可以在不提取参考帧和目标帧的特征点的情况下,确定出目标帧的初始位姿,因此算法复杂度相对较低。并且,不需要参考帧和目标帧中存在特征,因此相较于特征点法的适应性更强。
77.下面将分别对前述s201-s203进行详细说明:
78.其中,在s201中参考帧和目标帧为定位设备在同一时间窗口内采集到的是指:图像采集设备采集到参考帧的第一时刻与图像采集设备采集到目标帧的第二时刻之间的间隔小于预设窗口时长,也可以是指:图像采集设备在采集到参考帧之后、采集到目标帧之前采集到的其他图像帧的数目少于预设数量阈值。示例性的,假设图像采集设备依次采集到图像帧1、图像帧2、图像帧3、图像帧4,其中,图像帧1为参考帧,且预设数量阈值为2,则目标帧可以是图像帧2,也可以是图像帧3。可见,参考帧和目标帧可以视为图像采集设备在短时间内采集到的两个图像帧。
79.可以理解的是,图像帧中像素点的像素值取决于该像素点对应的空间点的辐射能量,因此理论上可以根据像素点的像素值确定出像素点对应的空间点的辐射能量,关于具体如何确定辐射能量将在下文进行示例性说明,在此不再赘述。
80.空间点的辐射能量是指:由该空间点辐射出的光信号的能量,由于光信号的能量可以用于表示光信号的强度,因此辐射能量也可以称为光度。空间点的辐射能量取决于环境中的光照条件,而由于参考帧和目标帧是在短时间内采集到的两个图像帧,因此认为环境中的光照条件未发生变化,即各空间点在第一时刻的辐射能量与第二时刻的辐射能量相等。
81.下面将对如何根据像素点的像素值确定像素点对应的空间点的辐射能量进行示例性说明:
82.根据光学成像原理,图像帧中像素点x的像素值ix与像素点x对应的空间点的辐射能量bx存在式(1)所示的关系:
83.ix=g(t(vxbx))
…ꢀꢀꢀꢀꢀꢀ
(1)
84.其中,t为采集得到该图像帧的曝光时间,vx用于表征采集得到该图像帧的图像采集设备的光学特性,g(
·
)为响应函数,响应函数可以视为像素点的像素值与该像素点对应的空间点的辐射能量之间的转换关系。可见,bx=g-1
(ix)/tvx。其中,t通过图像采集设备的接口获取,vx取决于图像采集设备的光学特征,可以根据图像采集设备的光学特性计算得到。响应函数g(
·
)可以通过标定得到。
85.标定的方式根据应用场景的不同可以不同,示例性的,在一种可能的实施例中,可以是根据拍摄于同一场景得到的多个标准图像生成的,该示例中不同标准图像的曝光时长不同。
86.在s202中,由于参考帧的位姿已知,因此根据参考帧的位姿可以确定出空间点在参考帧对应的像素点,而目标帧的位姿未知,因此可以假定目标帧的位姿,根据所假定的位姿不同,空间点在目标帧中对应的像素点不同。可见,随着假定的目标帧的位姿的不同,参考帧和目标帧中对应于同一空间点的像素点的矫正光度之间的差异不同。因此,光度误差与所假定的目标帧的位姿之间存在对应关系。
87.该对应关系根据应用场景的不同可以是以不同的形式表示的,示例性的,在一种可能的实施例中,该对应关系可以是以目标帧的位姿为自变量、光度误差为因变量的函数
表示的。
88.在另一种可能的实施例中,该对应关系也可以是以目标位置为自变量、目标光度误差为因变量的函数,其中,目标位置为目标特征区域在目标帧中的位置,目标特征区域为目标帧中与参考帧中参考特征区域对应于同一空间区域的图像区域,目标光度误差为参考特征区域中像素点的矫正光度与目标特征区域中像素点的矫正光度之间的差异。
89.可以理解的是,由于目标特征区域与参考特征区域对应于同一空间区域,因此可以根据目标特征区域所处的目标位置参考特征区域所处的参考位置确定出目标帧的位姿,换言之目标位置能够表征目标帧的位姿,因此以目标位置为子变量、目标光度误差为因变量的函数视为光度误差与目标帧的位姿之间的对应关系。
90.在s203中,最小光度误差为光度误差能够取到的最小值。如前述分析,各空间点在第一时刻的辐射能量与第二时刻的辐射能量相等,因此若假定的目标帧的位姿为目标帧的真实位姿,则理论上此时目标帧的位姿对应的光度误差趋近于0,因此,认为光度误差越小,则光度误差对应的位姿越接近于目标帧的真实位姿,即最小光度误差对应的位姿为目标帧的真实位姿。
91.下面将对如何构建s202中的对应关系以及如何根据对应关系确定初始位姿进行示例性说明,为描述方便,下文仅以该对应关系是以目标位置为自变量、目标光度误差为因变量的函数为例进行说明,对于对应关系是以其他形式表示的情况同理可得,不再赘述。
92.假设目标位置为u,参考位置为u’,则目标光度误差可以按照式(2)计算得到:
[0093][0094]
其中,diff表示目标光度误差,p表示目标特征区域,δu为取值范围为p的偏移量,根据δu的取值的不同,u+δu表示p内的不同像素点,a用于表示目标帧的位姿相对参考帧的位姿的偏转量,u
′
+aδu表示参考帧中与u+δu对应的像素点,i(u+δu)为u+δu的矫正光度,i(u
′
+aδu)为u
′
+aδu的矫正光度。
[0095]
式(2)即为以目标位置为自变量,目标光度误差为因变量的函数,因此该示例中可以使用式(2)表示目标帧的位姿与光度误差之间的对应关系。并且,可以理解的是,目标位置可以视为由参考位置经过一定偏移得到的,若将该偏移的偏移量记为δu,则u可以记为u
′
+δu,因此式(2)也可以改写为式(3):
[0096][0097]
同理于式(2),式(3)同样能够表示目标帧的位姿与光度误差之间的对应关系。
[0098]
对于对应关系是以式(2)或式(3)表示的情况,可以通过调整目标位置找到目标光度误差的最小值,并根据使得光度误差等于该最小值的目标位置以及参考位置,确定目标帧的初始位姿。
[0099]
示例性的,以对应关系是以式(3)的形式表示的,则可以按照式(4)计算得到使得目标光度误差等于最小值的目标偏移量δu*:
[0100]
δu
*
=argmin
δu
diff
…ꢀꢀꢀꢀ
(4)
[0101]
其中,表示diff等于最小值时δu的取值。
[0102]
此时,认为目标位置的真值为u
′
+u
*
,结合参考位置u
′
可以确定得到目标位置与参考位置之间的转换关系,根据该转换关系以及参考帧的位姿即可确定得到目标帧的初始位
姿。
[0103]
可以理解的是,不同空间点的辐射能量也可能相同,因此,即使假定的目标特征区域与参考特征区域并不对应于同一空间区域,目标光度误差也可能较小,换言之,能够使得目标光度误差达到最小值的目标位置并不一定为目标位置的真值。
[0104]
基于此,在一种可能的实施例中,在通过调整目标位置以使得目标光度误差达到最小值的过程中,可以沿参考帧中边缘特征的法线方向调整目标位置。其中,边缘特征是指图像帧中的边缘,该边缘两侧的像素点的矫正光度的差异大于预设差异阈值。示例性的,如图3所示,图3中阴影的灰暗程度用于表示像素点对应的矫正光度的数值大小,图3中加粗的线条即为边缘特征。
[0105]
可以理解的是,沿边缘特征的方向,像素点的矫正光度的变化幅度较小,换言之,沿边缘特征方向上的各像素点对应的空间点的辐射能量相近,因此若沿边缘特征的方向调整目标位置,即使调整后的目标位置的取值不为目标位置的真值,目标特征区域与参考特征区域中各像素点的矫正光度的差异仍较小,即目标光度差异较小,容易误判断为查找到了使得目标光度差异最小的目标位置,进而导致确定得到的初始位姿不够准确。
[0106]
反之,沿边缘特征的方向,像素点的矫正光度的变化幅度较大,因此若沿边缘特征的方向调整目标位置,且调整后的目标位置的取值不为目标位置的真值,则目标特征区域与参考特征区域中各像素点的矫正光度的差异将较大,即目标光度差异较小,降低了误判断为查找到了使得目标光度差异最小的目标位置的可能性,从而有效提高了确定得到的初始位姿的准确性。
[0107]
对于目标位置u是以u
′
+u表示的情况,由于是沿参考帧中边缘特征的法线方向调整目标位置,因此偏移量δu的方向应当与参考帧中边缘特征的法线方向相同,示例性的,如图4所示,其中,n为参考帧中边缘特征的法线方向。
[0108]
可以理解的是,受限制于各种条件,如因运动模糊导致图像帧的清晰度较低、图像优化问题、辐射能量不变性不成立等,导致难以甚至无法根据光度误差与目标帧的位姿之间的对应关系确定得到目标帧的初始位姿。
[0109]
基于此,在一种可能的实施例中,如图5所示,还包括:
[0110]
s204,若无法根据对应关系确定最小光度误差对应的位姿,则根据特征点法,确定参考帧和目标帧之间的转换关系。
[0111]
关于特征点法可以参见前述关于应用场景的相关说明,在此不再赘述。本技术中特征点法中所利用的图像特征根据应用场景的不同可以不同,但是所提取的图像特征应当位于图像中纹理的边缘,示例性的,在一种可能的实施例中,图像特征是指orb(轮廓线)特征点和lsd(直线段检测算法)线特征。
[0112]
s205,根据参考帧和目标帧之间的转换关系,按照预设运动学模型确定目标帧的初始位姿。
[0113]
可以理解的是,不同的图像特征可以视为不同空间点在图像帧中对应的位置,而相同的图像特征则可以视为相同的空间点在图像帧中对应的位置。因此,参考帧和目标帧之间的转换关系可以视为:同一空间点在目标帧中对应的位置和在参考帧对应的位置之间的坐标转换关系,而预设运动学模型则可以反映出图像采集设备从采集到参考帧至采集到目标帧之间的运动状况,结合运动状况与转换关系即可确定得到目标帧的初始位姿。
[0114]
示例性的,以图像特征为orb特征为例,可以是根据第一位置、第二位置、目标帧中第一位置处的图像信息、参考帧中第二位置处的图像信息计算得到brief描述子,根据brief描述对目标帧和参考帧进行图像特征匹配,得到目标帧的位姿和参考帧的位姿之间的变换关系,利用该变换关系对参考帧的位姿进行变化,得到目标帧的位姿。
[0115]
选用该实施例,可以在无法根据辐射能量不变性假设确定得到目标帧的初始位姿的场景下,通过特征点法确定出目标帧的初始位姿,进一步提高了本发明实施例提供的位姿确定方法的适用性。
[0116]
受限制各种原因,无论是通过前述s203确定出的初始位姿,还是通过前述s205确定出的初始位姿与目标帧的真实位姿之间往往存在一定的误差。基于此,在一种可能的实施例中,可以对初始位姿进行优化,以得到更为准确的目标帧的位姿。
[0117]
优化的方式根据应用场景的不同可以不同,包括但不限于以下优化方式中的一种或多种:局部地图优化、全局地图优化、回环检测。
[0118]
其中,局部地图优化可以是指:针对局部地图中包括的各个已经确定位姿的关键帧,将该帧中的地图点投影至其他其他帧中,从而建立更多的地图点与帧之间的约束关系,并根据所建立的地图点与帧之间的约束关系,通过匹配约束关系与各关键帧之间的位姿,对各关键帧的位姿进行优化。示例性的,根据所建立的约束关系,构建各关键帧的位姿与残差之间的对应关系,残差与各关键帧的位姿和约束关系之间的匹配程度负相关,根据该对应关系,确定残差最小值对应的各关键帧的位姿,作为各关键帧经过优化的位姿。
[0119]
本文中局部地图是指:由关键帧、地图点以及关键帧和地图点之间的关系构成的集合。
[0120]
全局地图优化可以是指:将局部地图映射至全局地图中,从而建立局部地图中的地图点、关键帧与全局地图中其他点与关键帧之间的约束关系,并根据所建立的约束关系对全局地图中各关键帧的位姿进行优化。全局地图的尺寸随着地图构建的过程不断增长,全局地图用于表示地图构建过程中相机所经过的区域。
[0121]
回环检测是指:当发生回环时,根据已知的全局信息,构建约束关系,并利用所构建的约束关系对各帧的位姿进行优化,从而消除地图构建过程中的累计误差。
[0122]
为更清楚的对前述优化方式进行说明,下面将结合具体的实施例进行说明,参见图6,包括:
[0123]
s601,获取待确定位姿的目标帧。
[0124]
s602,对目标帧进行光度矫正。
[0125]
即根据目标帧中的各像素点的像素值,确定目标帧中各像素点的矫正光度,关于矫正光度如何确定可以参见前述s201的相关描述,在此不再赘述。
[0126]
s603,获取与目标帧相邻的上一图像帧,作为参考帧。
[0127]
s604,进行初始化,若初始化成功则执行s605,若初始化失败则执行s601。
[0128]
初始化成功是指目标帧和参考帧的图像特征能够匹配,反之,初始化失败是指目标帧和参考帧之间的图像特征无法匹配。
[0129]
s605,直接法确定目标帧的初始位姿,若成功确定初始位姿,则执行s606,若未成功确定初始位姿,则执行s607。
[0130]
可以理解的是,参考帧为目标帧的前一图像帧,因此理论上参考帧曾将作为目标
帧,因此已经预先对参考帧进行过光度矫正。即此时已经确定参考帧和目标帧中各像素点对应的空间点的辐射能量,因此按照前述s202、s203的方式确定得到目标帧的初始位姿。
[0131]
s606,通过局部地图优化对初始位姿进行优化。
[0132]
s607,特征点法确定目标帧的初始位姿。
[0133]
即按照前述s204、s205的方式确定得到目标帧的初始位姿,可以参见前述s204、s205的相关说明,在此不再赘述。
[0134]
s608,按照关键帧生成策略,确定是否创建关键帧,若创建,则执行s609,若否则执行s601。
[0135]
关键帧生成策略可以包括以下策略1-5中的任意一条或多条策略:
[0136]
策略1:若采集得到目标帧的位置与采集得到参考帧的位置之间的距离大于预设距离阈值,则创建关键帧。
[0137]
策略2:若采集得到目标帧的第一时刻与采集得到参考帧的第二时刻之间的间隔大于预设时间阈值,则创建关键帧。
[0138]
策略3:若目标帧包括的追踪对象的数目少于预设数目阈值,则拒绝创建关键帧。
[0139]
策略4:若存在于参考帧中但不存在于目标帧中的追踪对象的数目大于预设阈值,即目标帧中有大于预设阈值个追踪对象不能成功追踪,则创建关键帧。
[0140]
策略5:若连续30个目标帧的初始位姿是通过直接法确定得到的,则创建创建关键帧。
[0141]
s609,根据创建的关键帧更新局部地图。
[0142]
s610,对目标帧的位姿进行全局地图优化。
[0143]
s611,通过回环检测对目标帧的位姿进行优化。
[0144]
对应于前述位姿确定方法,本发明实施例还提供了一种位姿确定装置,如图7所述包括:
[0145]
光度矫正模块701,用于针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,其中,所述参考帧和所述目标帧为定位设备在同一时间窗口内采集到的图像帧,并且所述参考帧的位姿已知;
[0146]
光度误差模块702,用于根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧的位姿,确定光度误差与所述目标帧的位姿之间的对应关系,其中,所述光度误差用于表示所述参考帧和所述目标帧中对应于同一空间点的像素点的所述矫正光度之间的差异;
[0147]
初始位姿模块703,用于根据所述对应关系,确定最小光度误差对应的位姿,作为所述目标帧的初始位姿。
[0148]
在一种可能的实施例中,所述光度误差模块702根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧,确定光度误差与所述目标帧的位姿之间的对应关系,包括:
[0149]
分别确定同一空间点在所述参考帧中对应的参考特征区域和在所述目标帧中对应的目标特征区域;
[0150]
构建以所述目标特征区域在所述目标帧中的目标位置为自变量、目标光度误差为
因变量的函数,作为光度误差和所述目标帧的位姿之间的对应关系,其中,所述目标光度误差为所述参考特征区域中像素点的所述矫正光度与所述目标特征区域中像素点的所述矫正光度之间的差异。
[0151]
在一种可能的实施例中,所述初始位姿模块703根据所述对应关系,确定最小光度误差对应的位姿,作为所述参考帧的初始位姿,包括:
[0152]
沿所述参考帧中边缘特征的法线方向调整目标位置,得到新的目标位置;
[0153]
根据所述对应关系,确定新的目标位置对应的目标光度误差;
[0154]
返回执行沿所述目标帧中边缘特征的法线方向调整目标位置,得到新的目标位置的步骤,直至得到所述目标光度误差的最小值;
[0155]
根据所述最小值对应的目标位置与所述参考特征区域在所述参考帧中所处的参考位置之间的坐标转换关系,以及所述参考帧的位姿,确定所述目标帧的初始位姿。
[0156]
在一种可能的实施例中,所述光度矫正模块701针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,包括:
[0157]
针对参考帧和目标帧中的各像素点,根据预设的像素值与辐射能量之间的转换关系,将所述像素点的像素值转换为所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度;
[0158]
其中,所述转换关系预先根据拍摄同一场景得到的多个标准图像生成,不同的所述标准图像的曝光时长不同。
[0159]
在一种可能的实施例中,所述初始位姿模块703,还用于若无法根据所述对应关系确定最小光度误差对应的位姿,则根据特征点法,确定所述参考帧和所述目标帧之间的转换关系;
[0160]
根据所述转换关系,按照预设运动学模型确定所述目标帧的初始位姿。
[0161]
在一种可能的实施例中,所述装置还包括位姿优化模块,用于按照预设优化方式对所述初始位姿进行优化,得到经过优化的位姿,其中,所述预设优化包括以下一种或多种优化方式:局部地图优化、全局地图优化、回环检测。
[0162]
本发明实施例还提供了一种电子设备,如图8所示,包括:
[0163]
存储器801,用于存放计算机程序;
[0164]
处理器802,用于执行存储器801上所存放的程序时,实现如下步骤:
[0165]
针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,其中,所述参考帧和所述目标帧为定位设备在同一时间窗口内采集到的图像帧,并且所述参考帧的位姿已知;
[0166]
根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧的位姿,确定光度误差与所述目标帧的位姿之间的对应关系,其中,所述光度误差用于表示所述参考帧和所述目标帧中对应于同一空间点的像素点的所述矫正光度之间的差异;
[0167]
根据所述对应关系,确定最小光度误差对应的位姿,作为所述目标帧的初始位姿。
[0168]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便
于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0169]
通信接口用于上述电子设备与其他设备之间的通信。
[0170]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0171]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0172]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一位姿确定方法的步骤。
[0173]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一位姿确定方法。
[0174]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0175]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0176]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储设备、计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0177]
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发
明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
技术特征:1.一种相机位姿估计方法,其特征在于,所述方法包括:针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,其中,所述参考帧和所述目标帧为定位设备在同一时间窗口内采集到的图像帧,并且所述参考帧的位姿已知;根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧的位姿,确定光度误差与所述目标帧的位姿之间的对应关系,其中,所述光度误差用于表示所述参考帧和所述目标帧中对应于同一空间点的像素点的所述矫正光度之间的差异;根据所述对应关系,确定最小光度误差对应的位姿,作为所述目标帧的初始位姿。2.根据权利要求1所述的方法,其特征在于,所述根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧,确定光度误差与所述目标帧的位姿之间的对应关系,包括:分别确定同一空间点在所述参考帧中对应的参考特征区域和在所述目标帧中对应的目标特征区域;构建以所述目标特征区域在所述目标帧中的目标位置为自变量、目标光度误差为因变量的函数,作为光度误差和所述目标帧的位姿之间的对应关系,其中,所述目标光度误差为所述参考特征区域中像素点的所述矫正光度与所述目标特征区域中像素点的所述矫正光度之间的差异。3.根据权利要求1所述的方法,其特征在于,所述根据所述对应关系,确定最小光度误差对应的位姿,作为所述参考帧的初始位姿,包括:沿所述参考帧中边缘特征的法线方向调整目标位置,得到新的目标位置;根据所述对应关系,确定新的目标位置对应的目标光度误差;返回执行沿所述目标帧中边缘特征的法线方向调整目标位置,得到新的目标位置的步骤,直至得到所述目标光度误差的最小值;根据所述最小值对应的目标位置与所述参考特征区域在所述参考帧中所处的参考位置之间的坐标转换关系,以及所述参考帧的位姿,确定所述目标帧的初始位姿。4.根据权利要求1所述的方法,其特征在于,所述针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,包括:针对参考帧和目标帧中的各像素点,根据预设的像素值与辐射能量之间的转换关系,将所述像素点的像素值转换为所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度;其中,所述转换关系预先根据拍摄同一场景得到的多个标准图像生成,不同的所述标准图像的曝光时长不同。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若无法根据所述对应关系确定最小光度误差对应的位姿,则根据特征点法,确定所述参考帧和所述目标帧之间的转换关系;根据所述转换关系,按照预设运动学模型确定所述目标帧的初始位姿。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照预设优化方式对所述初始位姿进行优化,得到经过优化的位姿,其中,所述预设优化包括以下一种或多种优化方式:局部地图优化、全局地图优化、回环检测。
7.一种相机位姿估计装置,其特征在于,所述装置包括:光度矫正模块,用于针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,其中,所述参考帧和所述目标帧为定位设备在同一时间窗口内采集到的图像帧,并且所述参考帧的位姿已知;光度误差模块,用于根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧的位姿,确定光度误差与所述目标帧的位姿之间的对应关系,其中,所述光度误差用于表示所述参考帧和所述目标帧中对应于同一空间点的像素点的所述矫正光度之间的差异;初始位姿模块,用于根据所述对应关系,确定最小光度误差对应的位姿,作为所述目标帧的初始位姿。8.根据权利要求7所述的装置,其特征在于,所述光度误差模块根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧,确定光度误差与所述目标帧的位姿之间的对应关系,包括:分别确定同一空间点在所述参考帧中对应的参考特征区域和在所述目标帧中对应的目标特征区域;构建以所述目标特征区域在所述目标帧中的目标位置为自变量、目标光度误差为因变量的函数,作为光度误差和所述目标帧的位姿之间的对应关系,其中,所述目标光度误差为所述参考特征区域中像素点的所述矫正光度与所述目标特征区域中像素点的所述矫正光度之间的差异。9.根据权利要求7所述的装置,其特征在于,所述初始位姿模块根据所述对应关系,确定最小光度误差对应的位姿,作为所述参考帧的初始位姿,包括:沿所述参考帧中边缘特征的法线方向调整目标位置,得到新的目标位置;根据所述对应关系,确定新的目标位置对应的目标光度误差;返回执行沿所述目标帧中边缘特征的法线方向调整目标位置,得到新的目标位置的步骤,直至得到所述目标光度误差的最小值;根据所述最小值对应的目标位置与所述参考特征区域在所述参考帧中所处的参考位置之间的坐标转换关系,以及所述参考帧的位姿,确定所述目标帧的初始位姿。10.根据权利要求7所述的装置,所述光度矫正模块针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,包括:针对参考帧和目标帧中的各像素点,根据预设的像素值与辐射能量之间的转换关系,将所述像素点的像素值转换为所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度;其中,所述转换关系预先根据拍摄同一场景得到的多个标准图像生成,不同的所述标准图像的曝光时长不同。11.根据权利要求7所述的装置,其特征在于,所述初始位姿模块,还用于若无法根据所述对应关系确定最小光度误差对应的位姿,则根据特征点法,确定所述参考帧和所述目标帧之间的转换关系;根据所述转换关系,按照预设运动学模型确定确定所述目标帧的初始位姿。12.根据权利要求7所述的装置,其特征在于,所述装置还包括位姿优化模块,用于按照
预设优化方式对所述初始位姿进行优化,得到经过优化的位姿,其中,所述预设优化包括以下一种或多种优化方式:局部地图优化、全局地图优化、回环检测。13.一种电子设备,其特征在于,包括:存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
技术总结本发明实施例提供了一种相机位姿估计方法、装置及电子设备。所述方法包括:针对参考帧和目标帧中的各像素点,根据所述像素点的像素值,确定所述像素点对应的空间点的辐射能量,作为所述像素点的矫正光度,其中,所述参考帧和所述目标帧为定位设备在同一时间窗口内采集到的图像帧,并且所述参考帧的位姿已知;根据所述参考帧和所述目标帧中各像素点的矫正光度、所述参考帧的位姿,确定光度误差与所述目标帧的位姿之间的对应关系,其中,所述光度误差用于表示所述参考帧和所述目标帧中对应于同一空间点的像素点的所述矫正光度之间的差异;根据所述对应关系,确定最小光度误差对应的位姿,作为所述目标帧的初始位姿。可以提高位姿确定的准确性。高位姿确定的准确性。高位姿确定的准确性。
技术研发人员:张泽鲁
受保护的技术使用者:杭州萤石软件有限公司
技术研发日:2022.07.18
技术公布日:2022/11/1