生成三维地图的方法和使用生成的三维地图确定用户终端的姿态的方法与流程
未命名
08-03
阅读:75
评论:0

1.本公开内容涉及用于生成3d地图的方法和用于使用生成的3d地图确定用户终端的姿态的方法。
背景技术:
2.通常,gps信息用于在导航应用等中测量用户终端的位置。
3.然而,使用gps信息进行位置测量在gps阴影区域(例如,隧道中)是不可行的。在gps阴影区域中测量用户终端的位置的方法包括基于无线电波的定位方法(例如,基于基站/ap位置和信号强度的定位、基于信号到达时间差或入射角的定位、基于网格单位中的信号模式匹配的定位)、使用摄像机的定位方法、使用激光雷达传感器的定位方法等。
4.其中,作为用于诸如智能电话的用户终端的定位方法,使用智能电话的基于无线电波的定位方法和使用摄像机的定位方法是合适的。使用摄像机的定位方法具有相对高的定位精度,但是需要预先构建具有大数据容量的3d地图,并且存在用于位置测量的计算量大的问题。
技术实现要素:
5.技术问题
6.本公开内容要解决的问题是提供一种用于使用从用户终端所在地点拍摄的图像中选择的关键帧来生成3d地图并且基于是否从先前帧获得有效姿态信息来确定当前帧中的姿态信息的方法。
7.同时,本公开内容中要解决的问题不限于上面的描述,并且本领域技术人员可以从下面的描述中清楚地理解没有描述的另一要解决的问题。
8.问题的技术方案
9.根据本公开内容的方面,提供了一种确定包括在用户终端中的摄像机的姿态的方法。该方法包括:基于在由用户终端捕获到用户终端的位置的第一查询图像中是否有效地预测到摄像机的第一姿态,确定用于在第一查询图像之后在由用户终端捕获到所述位置的第二查询图像中预测摄像机的第二姿态的预测模式;以及基于所确定的预测模式来确定第二姿态。
10.在本文中,第二姿态的确定包括:当有效地预测到第一姿态时,使用第一姿态从包括在预生成的3d地图中且捕获到所述位置的多个关键帧中选择一个或更多个匹配帧作为用于第二查询图像的匹配候选。
11.在本文中,第二姿态的确定包括:如果未有效地预测到第一姿态,则使用预学习的神经网络来确定第二查询图像的全局特征;以及通过将第二查询图像的全局特征与包括在预生成的3d地图中且捕获到所述位置的多个关键帧中的每个关键帧的全局特征进行比较,从所述多个关键帧中选择一个或更多个匹配帧作为与第二查询图像的匹配候选。
12.在本文中,第二姿态的确定包括:如果有效地预测到第一姿态但是满足预设条件,则通过将使用预学习的神经网络确定的第二查询图像的全局特征与包括在预生成的3d地图中且捕获到所述位置的多个关键帧中的每个关键帧的全局特征进行比较,使用第一姿态从多个关键帧中选择一个或更多个帧作为匹配帧,并且所述预设条件包括以下情况中的至少一种:摄像机的有效预测的姿态的数目等于或大于预设阈值数目的情况;以及根据当有效地预测到第一姿态时的预测模式确定的第二姿态与根据当未有效地预测到第一姿态时的预测模式确定的第二姿态之间的距离差等于或大于预设阈值距离的情况。
13.在本文中,第二姿态的确定包括:从包括在预生成的3d地图中且捕获到所述位置的多个关键帧中选择与第二查询图像匹配的一个或更多个匹配图像;以及通过使用包括在一个或更多个匹配图像中的局部特征与包括在第二查询图像中的局部特征之间的局部特征匹配来确定第二查询图像中的第二姿态,并且在本文中,使用利用预定标准从由位置捕获设备或终端姿态确定设备捕获到所述位置的图像中选择的多个关键帧来生成3d地图,并且预定标准包括位置捕获设备或终端姿态确定设备的时间间隔和移动距离中的至少一个。
14.在本文中,通过进一步使用通过以一个或更多个角度旋转多个关键帧中的至少一个关键帧而生成的图像来生成3d地图。
15.在本文中,第二姿态的确定包括:在从第二查询图像提取的第一局部特征与包括在预生成的3d地图中且捕获到所述位置的一个或更多个关键帧中的每个关键帧的第二局部特征之间执行局部特征匹配;以及使用局部特征匹配的结果来确定第二查询图像中的第二姿态,并且其中,当计算第一局部特征与包括在一个或更多个关键帧中的每个关键帧中的多个局部特征中的与第一局部特征中的每个第一局部特征匹配的局部特征之间的距离时,第二局部特征是具有最短距离的局部特征。
16.该方法还包括:从用户终端连同获得第二查询图像一起获得关于是否有效地预测到第一姿态的信息、第一姿态信息、关于在先前查询图像未被有效地预测时预测的用户终端的最后姿态的信息、以及在先前图像中确定姿态被有效地预测的图像的数目。
17.该方法还包括:从用户终端连同获得第二姿态一起获得关于是否有效地预测到第二姿态的信息、以及在第二查询图像和第二查询图像之前的图像中确定姿态被有效地预测的图像的数目。
18.根据本公开内容的另一方面,提供了一种用于确定终端姿态的设备。该设备包括:收发器,被配置成从用户终端接收捕获到用户终端的位置的第一查询图像;以及处理器,被配置成基于在第一查询图像中是否有效地预测到用户终端的摄像机的第一姿态来确定用于在第二查询图像中预测摄像机的第二姿态的预测模式,并且基于所确定的预测模式来确定第二姿态,该第二查询图像是在第一查询图像之后从用户终端接收的并且在其中捕获到所述位置。
19.根据本公开内容的又一方面,提供了一种用于存储计算机程序的非暂态计算机可读存储介质,该计算机程序被编程为执行确定包括在用户终端中的摄像机的姿态的方法。该方法包括:基于在由用户终端捕获到用户终端的位置的第一查询图像中是否有效地预测到摄像机的第一姿态,确定用于在第一查询图像之后在由用户终端捕获到所述位置的第二查询图像中预测摄像机的第二姿态的预测模式;以及基于所确定的预测模式来确定第二姿态。
20.本发明的有益效果
21.根据本公开内容的实施方式,通过使用从用户终端所在地点拍摄的图像中选择的关键帧来生成3d地图,可以减少3d地图的数据容量。
22.另外,根据本公开内容的实施方式,当在先前帧中获得有效姿态信息时,不执行全局特征匹配,并且减少用于局部特征匹配的局部特征的数目,从而减少用于获得用户终端的姿态信息的计算量。
附图说明
23.图1是示出根据本公开内容的实施方式的用于确定终端姿态的系统的框图。
24.图2是示出根据本公开内容的实施方式的用于生成3d地图的3d地图生成装置的框图。
25.图3是概念性地示出根据本公开内容的实施方式的终端姿态确定模型的功能的框图。
26.图4a和图4b示出了根据本公开内容的实施方式的通过旋转关键帧来生成图像的示例。
27.图5示出了根据本公开内容的实施方式的比较查询图像并匹配帧的示例。
28.图6示出了根据本公开内容的实施方式的将包括在查询图像中的局部特征与包括在匹配图像中的局部特征进行匹配的示例。
29.图7示出了根据本公开内容的实施方式的通过将包括在查询图像中的局部特征与包括在匹配帧中的局部特征进行匹配来找到局部特征对的方法。
30.图8a和图8b示出了对于包括在查询图像中的局部特征与包括在匹配帧中的局部特征之间具有最短距离的局部特征,仅对多个局部特征对中按照最短距离的顺序由预定数目限制的局部特征对执行局部特征匹配的示例。
31.图9是示出根据本公开内容的实施方式的训练全局特征确定神经网络的方法的框图。
32.图10是示出根据本公开内容的实施方式的训练局部特征确定神经网络的方法的框图。
33.图11是示出根据本公开内容的实施方式的生成3d地图的方法的流程图。
34.图12a和图12b是示出根据本公开内容的实施方式的生成包括在用户终端中的3d地图的方法的流程图。
具体实施方式
35.根据以下结合附图的描述,将清楚地理解本公开内容的优点和特征以及实现这些优点和特征的方法。然而,实施方式不限于所描述的那些实施方式,因为实施方式可以以各种形式实现。应当注意的是,提供本实施方式是为了进行全面公开,并且还允许本领域技术人员了解实施方式的详尽范围。因此,实施方式将仅由所附权利要求的范围来限定。
36.在描述本公开内容的实施方式时,如果确定相关已知部件或功能的详细描述不必要地模糊了本公开内容的主旨,则将省略其详细描述。此外,下面描述的术语是考虑到本公开内容的实施方式的功能而定义的,并且可以根据用户或操作者的意图或实践而变化。因
此,其限定可以基于整个说明书的内容来进行。
37.图1是示出根据本公开内容的实施方式的用于确定终端姿态的系统的框图。
38.参照图1,终端姿态确定系统10可以包括用户终端100和终端姿态确定设备200。
39.用户终端100可以包括第一处理器110、摄像机120、第一收发器130和第一存储器140。
40.第一处理器110可以控制用户终端100的整体功能。
41.摄像机120可以捕获用户终端100周围的图像。
42.第一收发器130可以将使用摄像机120捕获的图像发送至终端姿态确定设备200,并且从终端姿态确定设备200接收关于用户终端100的位置的信息。
43.根据该实施方式,第一收发器130可以连同使用摄像机120捕获的图像一起发送关于在先前(紧接先前)帧中姿态信息是否被有效地预测的信息、先前(紧接先前)帧中的姿态信息、紧接在终端姿态跟踪模式下操作之前估计的用户终端100的姿态信息(即,在初始姿态估计模式下估计的最近的用户终端100的姿态信息)、以及终端姿态跟踪模式下的操作次数(例如,连续次数或非连续次数)。
44.第一存储器140可以使用摄像机120捕获图像,使用第一收发器130将图像发送至终端姿态确定设备200,并且存储用于从终端姿态确定设备200接收关于用户终端100的位置的信息的一个或更多个模型。
45.在本说明书中,“模型”是指用于执行每个设备的功能的软件(计算机程序代码)或其集合,并且可以通过一系列命令来实现。
46.第一处理器110可以执行存储在第一存储器140中的一个或更多个程序,捕获图像,将捕获的图像发送至终端姿态确定设备200,并且从终端姿态确定设备200接收关于用户终端100的位置的信息。
47.终端姿态确定设备200可以使用从用户终端100接收的图像和预先存储的3d地图来预测用户终端100的姿态信息。
48.在本说明书中,姿态信息可以包括关于用户终端100的位置和方向的信息(即,包括在用户终端100中的摄像机120的位置和方向)。例如,姿态信息可以使用6个自由度(dof)(即,包括x、y和z的位置信息以及包括俯仰、滚转和偏航的旋转信息)来表示。
49.根据该实施方式,设备姿态确定设备200可以被实现为服务器(例如,云服务器),但是不限于此。也就是说,终端姿态确定设备200可以被实现为通过从用户终端100接收图像来预测用户终端100的姿态信息的任何设备。
50.终端姿态确定设备200可以包括第二处理器210、第二收发器220和第二存储器230。
51.第二处理器210可以控制终端姿态确定设备200的整体功能。
52.第二收发器220可以从用户终端100接收使用摄像机120捕获的图像,并且将使用终端姿态确定模型260预测的用户终端100的姿态信息发送至用户终端100。
53.第二存储器230可以存储3d地图250和终端姿态确定模型260。
54.第二处理器210可以通过执行终端姿态确定模型260,根据从用户终端100接收的图像和3d地图250来预测用户终端100的姿态信息。
55.将参照图2详细描述使用3d地图生成设备来生成3d地图250的方法,并且将参照图
3详细描述终端姿态确定模型260的功能。
56.在本说明书中,为了便于描述,描述了3d地图250存储在第二存储器230中,但是不限于此。也就是说,终端姿态确定系统10可以包括不同于终端姿态确定设备200的数据库(未示出),并且3d地图250可以存储在数据库(未示出)中。在这种情况下,终端姿态确定设备200可以从数据库(未示出)接收3d地图250,并且预测用户终端100的姿态信息。
57.图2是示出根据本公开内容的实施方式的用于生成3d地图的3d地图生成设备的框图。
58.参照图1和图2,3d地图生成设备300可以包括第三处理器310、摄像机单元320和第三存储器330。
59.根据该实施方式,3d地图生成设备300可以与终端姿态确定设备200相同,但是不限于此。也就是说,终端姿态确定设备200可以生成3d地图250,并且使用生成的3d地图250来确定包括在用户终端100中的摄像机120的姿态信息。根据该实施方式,3d地图生成设备300可以生成3d地图250,并且终端姿态确定设备200可以使用由3d地图生成设备300生成的3d地图250来确定包括在用户终端100中的摄像机120的姿态信息。
60.第三处理器310可以控制3d地图生成设备300的整体功能。
61.摄像机单元320可以包括一个或更多个摄像机。摄像机单元320可以使用一个或更多个摄像机来生成将要产生3d地图的地点的图像。
62.根据该实施方式,当摄像机单元320包括多个摄像机时,多个摄像机可以安装成面向不同的方向,以便在360度的位置拍摄图像。
63.在本说明书中,为了便于描述,描述了3d地图生成设备300使用包括在摄像机单元320中的一个或更多个摄像机来捕获地点,但是不限于此。也就是说,根据该实施方式,3d地图生成设备300可以不包括摄像机单元320,并且在这种情况下,3d地图生成设备300可以接收(可以输入)由外部摄像机单元捕获的图像。
64.此外,根据该实施方式,除了摄像机单元320之外,3d地图生成设备300可以包括传感器单元(未示出)。根据该实施方式,传感器单元(未示出)可以包括激光雷达。3d地图生成设备300可以通过使用摄像机单元320和传感器单元(未示出)来生成该地点的图像和关于包括在该图像中的特征的信息。
65.第三存储器330可以存储3d地图生成模型350。
66.第三处理器310可以执行3d地图生成模型350,以生成包括位置的图像和关于图像中包括的特征点的信息的3d地图。
67.3d地图生成模型350可以包括关键帧选择单元351、关键帧旋转单元353、全局特征确定单元355、局部特征确定单元357、姿态计算单元359和3d地图生成单元361。
68.图2所示的关键帧选择单元351、关键帧旋转单元353、全局特征确定单元355、局部特征确定单元357、姿态计算单元359和3d地图生成单元361是3d地图生成模型350的功能的概念性划分,以便容易地解释3d地图生成模型350的功能,但是不限于此。也就是说,根据该实施方式,关键帧选择单元351、关键帧旋转单元353、全局特征确定单元355、局部特征确定单元357、姿态计算单元359和3d地图生成单元361的功能可以被合并/分离,并且可以被实现为包括在一个或更多个程序中的一系列命令。
69.关键帧选择单元351可以从包括在使用摄像机单元320捕获的图像中的多个帧选
择用于创建3d地图的关键帧。
70.更详细地,3d地图生成设备300可以在以z字形方式移动至要创建3d地图的地点的同时捕获图像,并且关键帧选择单元351可以根据预定标准选择关键帧。
71.预定标准可以包括3d地图生成设备300的时间间隔和移动距离。
72.也就是说,在包括在由3d地图生成设备300捕获的图像中的帧中,取决于3d地图生成设备300的移动速度,一些相邻的帧可以是基本上相同场景的帧。因此,关键帧选择单元351可以根据预定标准选择关键帧,从而不使用交叠的帧生成3d地图250。
73.关键帧旋转单元353可以通过以一个或更多个角度旋转由关键帧选择单元351选择的关键帧来生成一个或更多个图像,并且将生成的图像用作关键帧。
74.这是因为,即使使用多个摄像机来捕获图像,在所有方向上捕获该地点也存在限制,并且如果同时捕获的图像之间的视野变化大,则识别性能会下降。当关键帧旋转单元353使用在各个方向上旋转一帧的图像作为关键帧时,帧之间的未被捕获的区域被最小化,并且旋转的图像和原始帧在相同的位置被捕获,从而防止识别性能的下降。
75.为此,关键帧旋转单元353可以使用下面的式1以一个或更多个角度旋转所选择的关键帧。
76.【式1】
77.m
′
=krk-1m78.在此,k可以表示摄像机内部的预设参数,r可以表示旋转变换矩阵,m可以表示旋转前的关键帧的坐标,并且m'可以表示旋转后的关键帧的坐标。
79.也就是说,关键帧旋转单元353可以生成通过使用摄像机内部的预设参数和预设旋转变换矩阵旋转选择的关键帧而获得的图像。
80.例如,进一步参照图4a和图4b,图4a示出了由关键帧选择单元351根据预定标准选择的关键帧,而图4b示出了关键帧旋转单元353使用式1旋转关键帧的图像。
81.当如图4a所示选择关键帧时,关键帧旋转单元353可以通过将关键帧向上旋转预定角度来生成图4b的图像。然而,如果旋转前的关键帧的尺寸和旋转后的图像的尺寸相同,则而没有包括在关键帧中的区域b由于关键帧的旋转可以包括在关键帧旋转后的图像中。此时,没有包括在关键帧中的区域b可以用黑色表示,如图4b所示。
82.由关键帧选择单元351选择的关键帧和由关键帧旋转单元353生成的关键帧(以下称为关键帧)可以包括全局特征信息、一个或更多个局部特征信息和姿态信息。
83.如下所述,包括在关键帧中的全局特征信息、局部特征信息和姿态信息可以由全局特征确定单元355、局部特征确定单元357和姿态计算单元359确定。
84.首先,全局特征确定单元355可以确定表示为关键帧的高维向量的全局特征。全局特征可以是一种用于将关键帧与其他关键帧进行区分的标识符。
85.根据该实施方式,全局特征确定单元355可以包括预学习的全局特征确定神经网络(例如,netvlad),以在输入关键帧时输出所输入的关键帧的全局特征。在这种情况下,当关键帧被输入至先前学习的全局特征确定神经网络时,全局特征确定单元355可以使用从全局特征确定神经网络输出的向量来确定全局特征。
86.将参照图8a和图8b描述训练包括在全局特征确定单元355中的全局特征确定神经网络的方法。
87.局部特征确定单元357可以提取包括在关键帧中的一个或更多个局部特征,并且确定表示局部特征的位置信息和描述符信息的高维向量。
88.位置信息可以包括局部特征在关键帧上的位置(2d位置)和局部特征的绝对位置(例如,地球上的(x,y,z)坐标)(3d位置)。
89.另外,描述符信息用于将局部特征与其他局部特征(即,包括在同一关键帧中的另一局部特征或包括在另一关键帧中的局部特征)进行区分,并且它可以意味着局部特征与局部特征周围的像素之间的相关性。
90.根据该实施方式,局部特征确定单元357可以包括预学习的局部特征确定神经网络(例如,super point),以在输入关键帧时输出表示输入的关键帧的局部特征的高维向量。在这种情况下,当关键帧被输入至局部特征确定神经网络时,局部特征确定单元357可以使用从局部特征确定神经网络输出的向量来确定局部特征。
91.将参照图9描述训练包括在局部特征确定单元357中的局部特征确定神经网络的方法。
92.姿态计算单元359可以将由局部特征确定单元357确定的局部特征输入至预设的slam算法,并且计算关键帧的姿态信息和包括在关键帧中的局部特征的坐标信息(例如,地球上的3d绝对坐标)。
93.更具体地,姿态计算单元359可以通过将包括在关键帧中的局部特征与包括在其中姿态信息被预定义的其他关键帧中的局部特征进行比较来计算关键帧的姿态信息。
94.对于由关键帧选择单元351和关键帧旋转单元353选择或生成的每个关键帧,如上所述,可以包括由全局特征确定单元355、局部特征确定单元357和姿态计算单元359确定的全局特征、一个或更多个局部特征和姿态信息。
95.3d地图生成单元361可以通过将关键帧与对应于关键帧的全局特征、局部特征和姿态信息一起存储来生成3d地图。也就是说,3d地图生成单元361可以使用包括关键帧的全局特征、包括在关键帧中的一个或更多个局部特征以及包括在关键帧中的局部特征的坐标信息的关键帧来生成3d地图。
96.3d地图生成设备300可以将生成的3d地图存储在终端姿态确定设备200(或数据库)中。
97.图3是概念性地示出根据本公开内容的实施方式的终端姿态确定模型的功能的框图。
98.参照图1和图3,终端姿态确定模型260可以使用从用户终端100接收的图像和预存的3d地图250来预测用户终端100的姿态信息。
99.为此,终端姿态确定模型260可以包括预测模式确定单元261、匹配帧选择单元263、局部特征匹配单元265和摄像机姿态确定单元267。
100.通过在概念上划分终端姿态确定模型260的功能来描述图3所示的预测模式确定单元261、匹配帧选择单元263、局部特征匹配单元265和摄像机姿态确定单元267,以便容易地说明终端姿态确定模型260的功能,但是不限于此。也就是说,根据该实施方式,预测模式确定单元261、匹配帧选择单元263、局部特征匹配单元265和摄像机姿态确定单元267的功能可以被合并/分离,并且可以被实现为包括在程序中的一系列命令。
101.预测模式确定单元261可以基于先前帧中用户终端100的姿态信息是否被有效地
预测来确定用于预测用户终端100的姿态的预测模式。
102.更具体地,当在先前帧中用户终端100的姿态信息未被有效地预测时,预测模式确定单元261可以在初始姿态估计模式下操作,以在用户终端的位置未知的情况下预测摄像机120的姿态信息,并且在先前帧(前一帧)中用户终端100的姿态信息被有效地预测,预测模式确定单元261在终端100的位置已知的情况下确定用户,终端姿态跟踪模式预测包括在用户终端100中的摄像机120的姿态信息、以及在先前帧(前一帧)中用户终端100的姿态。当信息被有效地预测但是满足预设条件时,预测模式确定单元261可以在初始姿态估计模式和终端姿态跟踪模式被组合的中间模式下操作。
103.也就是说,如果在先前帧中用户终端100的姿态信息未被有效地预测,则终端姿态确定模型260不具有用户终端100在当前地点的正确姿态信息,因此必须执行用于确定用户终端100的姿态信息的所有处理。然而,如果在先前帧中用户终端100的姿态信息被有效地预测,则终端姿态确定模型260可以使用在先前帧中的用户终端100的姿态信息来确定当前帧中用户终端100的姿态信息。
104.由此,终端姿态确定模型260可以减少用于确定用户终端100的姿态信息的计算量,并且还提高用户终端100的姿态信息的精度。
105.当由预测模式确定单元261确定的预测模式是初始姿态估计模式时,匹配帧选择单元263可以使用先前学习的全局特征确定神经网络来确定从用户终端100接收的查询图像的全局特征。根据该实施方式,全局特征确定神经网络可以是与全局特征确定单元355中包括的神经网络相同的神经网络。
106.匹配帧选择单元263可以将查询图像的全局特征与存储在3d地图250中的多个关键帧的全局特征进行比较,并且在存储在3d地图250中的多个关键帧中选择与查询图像具有最小全局特征差的一个或更多个关键帧作为匹配帧。在此,匹配帧可以指用于通过与查询图像匹配的局部特征来确定查询图像的姿态信息的帧。
107.也就是说,匹配帧选择单元263可以计算查询图像的全局特征与存储在3d地图250中的多个关键帧的全局特征之间的距离(例如,欧几里德距离),并且按照最短距离的顺序选择预定数目的关键帧作为匹配帧。
108.例如,进一步参照图5,匹配帧选择单元263可以计算查询图像qi的全局特征与存储在3d地图250中的多个关键帧的全局特征之间的距离,并且按照最短的顺序选择预定的三个关键帧作为匹配帧mf1、mf2和mf3。
109.另一方面,当由预测模式确定单元261确定的预测模式是终端姿态跟踪模式时,匹配帧选择单元263可以使用在先前帧中预测的摄像机120的姿态信息来选择一个或更多个匹配帧。
110.更详细地,匹配帧选择单元263可以使用下面的式2来选择一个或更多个匹配帧。
111.【式2】
112.t
relative
=(t
prev
)-1
t
keyframe.
113.在此,t
keyframe
可以是表示在先前帧中预测的摄像机120的姿态信息的矩阵,t
prev
可以表示用于使用先前帧中的摄像机120的姿态信息来确定当前帧中的摄像机120的姿态信息的变换矩阵,并且t
relative
可以是表示摄像机120从先前帧到当前帧的旋转和位置的变化的矩阵。
114.也就是说,匹配帧选择单元263可以使用在先前帧中预测的摄像机120的姿态信息t
keyframe
和变换矩阵t
prev
的逆变换t
prev-1
来确定当前帧中摄像机120的相对姿态信息t
relative
。
115.匹配帧选择单元263可以选择其中通过归一化相对姿态信息t
relative
获得的值(即,摄像机120从先前帧到当前帧的位置变化)小于或等于预设阈值距离并且摄像机120从先前帧到当前帧的旋转变化(例如,当矩阵被表示为轴角度时旋转角度的变化)小于或等于预设阈值角度的关键帧作为匹配帧。
116.最后,当由预测模式确定单元261确定的预测模式是中间模式时,为了在效率与准确性之间折衷,匹配帧选择单元263可以通过组合初始姿态估计模式和终端姿态跟踪模式来选择匹配帧。
117.预设条件可以包括以下情况中的至少一种:终端姿态跟踪模式下的操作次数等于或大于阈值的情况;以及在终端姿态跟踪模式下计算的摄像机120的姿态信息与在初始姿态估计模式下计算的摄像机120的姿态信息之间的差(例如,距离差)等于或大于预设阈值的情况。
118.也就是说,即使确定姿态信息被有效地预测,如果终端姿态跟踪模式下的操作次数等于或大于阈值,或者如果在终端姿态跟踪模式下计算的摄像机120的姿态信息与在初始姿态估计模式下计算的摄像机120的姿态信息之间的差(例如,距离差)等于或大于预设阈值,由于预测的姿态信息的有效性不能被保证,因此预测模式确定单元261可以通过组合初始姿态估计模式和终端姿态跟踪模式来选择匹配帧。
119.更具体地,当由预测模式确定单元261确定的预测模式是中间模式时,匹配帧选择单元263可以选择使用式2选择的一个或更多个帧以及使用全局特征的距离差选择的帧作为匹配帧,并且此时,使用全局特征的距离差选择的帧的数目可以小于在初始姿态估计模式下选择的匹配帧的数目。
120.如上所述,由于匹配帧选择单元263通过划分用户终端100的预测模式来选择匹配帧,因此匹配帧选择单元263可以减少选择匹配帧以执行与查询图像的局部特征匹配所需的计算量。
121.此后,局部特征匹配单元265可以从查询图像提取一个或更多个局部特征,并且可以执行局部特征匹配,该局部特征匹配将从查询图像提取的局部特征与包括在由匹配帧选择单元263选择的匹配帧中的局部特征进行匹配。
122.局部特征匹配单元265可以执行局部特征匹配,并且计算包括在查询图像中的局部特征与包括在匹配帧中的局部特征之间的距离(例如,欧几里德距离)。包括在查询图像中的局部特征与包括在匹配帧中的局部特征之间的距离意味着包括在查询图像中的局部特征与包括在匹配帧中的局部特征之间的相似性,并且它可以是局部特征描述符与包括在匹配帧中的局部特征描述符之间的距离(即,相似性)。
123.例如,进一步参照图6,局部特征匹配单元265可以计算包括在查询图像qi中的所有局部特征与包括在第二匹配帧mf2中的所有局部特征之间的距离,并且通过匹配具有最短距离的局部特征来执行局部特征匹配。
124.同时,由于局部特征匹配处理中的误差,局部特征匹配单元265可能错误地匹配局部特征。因此,为了减少匹配误差,局部特征匹配单元265可以基于包括在查询图像中的局部特征与包括在匹配帧中的局部特征之间的距离差来确定局部特征匹配的有效性。
2a,lf-2c)、(lf-3a,lf-3c)、(lf-3a,lf-2b)、(lf-4a,lf-4c)、(lf-2a,lf-2b),局部特征匹配单元265执行(lf-1a,lf-1b)、(lf-4a,lf-4b)、(lf-1a,lf-1c)和(lf-2a,lf-2c)作为姿态确定局部特征对。
135.通过该方法,由于减少了摄像机姿态确定单元267用于确定姿态的局部特征对的数目,因此可以减少在确定姿态时执行的计算量,并且可以减少错误的匹配对可能用于确定姿态信息的概率。
136.例如,进一步参照图8a和图8b,图8a示出了对包括在查询图像中的所有局部特征执行局部特征匹配的结果,并且图8b示出了对于包括在查询图像中的局部特征与包括在匹配帧中并且包括在匹配的查询图像中的局部特征之间具有最短距离的局部特征,仅对多个局部特征对中按照最短距离的顺序由预定数目限制的局部特征对执行局部特征匹配的结果。
137.也就是说,如图8a和图8b所示,由于减少了摄像机姿态确定单元267用于确定姿态的局部特征对的数目,因此不仅可以减少姿态确定的计算量,还可以减少使用不正确的局部特征匹配对来确定姿态的概率。
138.摄像机姿态确定单元267可以通过使用查询图像与匹配帧之间的姿态确定局部特征对来确定查询图像的姿态信息。
139.更详细地,摄像机姿态确定单元267可以通过使用包括在查询图像中的局部特征的二维坐标(即,查询图像上的坐标)和匹配的局部特征的三维坐标(即,局部特征在地球上的3d绝对坐标)来确定查询图像的姿态信息。
140.例如,摄像机姿态确定单元267可以通过将包括在查询图像中的局部特征的二维坐标(即,查询图像上的坐标)和包括在匹配帧中并匹配的局部特征的三维坐标(即,局部特征在地球上的3d绝对坐标)输入姿态预测算法(例如,p3p算法)来预测查询图像的姿态信息(即,当捕获查询图像时摄像机120的姿态信息)。
141.另外,摄像机姿态确定单元267可以通过使用误差消除算法(例如,随机样本一致性(ransac)算法)来确定查询图像与匹配图像之间的局部特征匹配中正确匹配的局部特征的数目。
142.当查询图像与匹配图像之间的局部特征匹配中正确匹配的局部特征的数目等于或大于(或者大于)预设阈值时,摄像机姿态确定单元267可以将基于姿态预测算法预测的查询图像的姿态信息识别为有效信息,并且将预测的姿态信息确定为查询图像的姿态信息。
143.另一方面,当查询图像与匹配图像之间的局部特征匹配中正确匹配的局部特征的数目小于(或者等于或小于)预设阈值时,摄像机姿态确定单元267可以将基于姿态预测算法预测的姿态信息识别为无效信息,并且通过重置预测模式来再次确定查询图像的姿态信息。
144.终端姿态确定模型260可以向用户终端100发送所确定的查询图像的姿态信息。
145.此时,根据该实施方式,终端姿态确定模型260可以连同查询图像的姿态信息一起发送关于姿态信息是否被有效地预测的信息、以及终端已经在姿态跟踪模式下操作的次数(例如,连续或非连续次数)。
146.终端在姿态跟踪模式下操作的次数可以在预测模式确定单元261的控制下被初始
化。例如,预测模式确定单元261可以初始化预测模式作为中间模式或初始姿态估计模式操作的次数。
147.图9是示出根据本公开内容的实施方式的训练全局特征决策神经网络的方法的框图。
148.参照图2和图9,如果输入了图像(例如,用于生成3d地图250的关键帧),则包括在全局特征确定单元355中的全局特征确定神经网络356可以被训练为输出用于将图像与其他图像进行区分的向量。
149.更详细地,当全局特征确定神经网络356接收到作为输入数据的参考图像和作为输入的标签数据的参考向量时,它可以被训练为输出高维向量作为参考图像的全局特征。
150.另外,全局特征确定神经网络356可以通过进一步接收用于减小参考向量与输出高维向量之间的差的反向传播值作为反馈来进行训练。
151.图10是示出根据本公开内容的实施方式的训练局部特征确定神经网络的方法的框图。
152.参照图2和图10,如果输入了图像(例如,用于生成3d地图250的关键帧),则包括在局部特征确定单元357中的局部特征确定神经网络358可以被训练为输出表示包含在图像中的局部特征的高维向量。
153.更具体地,当局部特征确定神经网络358接收到作为输入数据的参考图像和作为输入的标签数据的参考图像中包括的局部特征的参考向量时,局部特征决策神经网络358可以被训练为输出参考图像中包括的局部特征的高维向量。
154.另外,局部特征确定神经网络358可以通过进一步接收用于减小参考向量与输出高维向量之间的差的反向传播值作为反馈来进行训练。
155.图11是示出根据本公开内容的实施方式的生成3d地图的方法的流程图。
156.参照图2和图11,关键帧选择单元351可以基于预定标准从包括在使用摄像机单元320捕获的图像中的多个帧选择用于产生3d地图的关键帧(s1000),以及关键帧旋转单元353可以通过以一个或更多个角度旋转由关键帧选择单元351选择的关键帧来生成一个或更多个图像,并且将生成的图像用作关键帧(s1010)。
157.当关键帧被输入至预学习的全局特征确定神经网络时,全局特征确定单元355可以根据从全局特征确定神经网络输出的向量来确定全局特征(s1020)。
158.当关键帧被输入至预学习的局部特征确定神经网络时,局部特征确定单元357可以使用从局部特征确定神经网络输出的向量来确定局部特征(s1030)。
159.姿态计算单元359可以将由局部特征确定单元357确定的局部特征输入至预设的slam算法,并且可以计算关键帧的姿态信息和包括在关键帧中的局部特征的坐标信息(例如,地球上的3d绝对坐标)(s1040)。
160.3d地图生成单元361可以通过将关键帧与对应于关键帧的全局特征、局部特征和坐标信息一起存储来生成3d地图250(1050)。
161.图12a和图12b是示出根据本公开内容的实施方式的生成包括在用户终端中的3d地图的方法的流程图。
162.参照图2、图12a和图12b,预测模式确定单元261可以基于先前帧中用户终端100的姿态信息是否被有效地预测来确定用于预测用户终端100的姿态的预测模式。
163.当由预测模式确定单元261确定的预测模式是初始姿态估计模式时,匹配帧选择单元263可以使用先前学习的全局特征确定神经网络来确定从用户终端100接收的查询图像的全局特征(s1110),并且可以通过将查询图像的全局特征与存储在3d地图250中的多个关键帧的全局特征进行比较,在存储在3d地图250中的多个关键帧中选择在查询图像与全局特征之间具有最小差的一个或更多个关键帧作为匹配帧(s1120)。
164.另一方面,当由预测模式确定单元261确定的预测模式是终端姿态跟踪模式时,匹配帧选择单元263可以使用在先前帧中预测的摄像机120的姿态信息来选择一个或更多个匹配帧(s1130)。
165.最后,当由预测模式确定单元261确定的预测模式是中间模式时,匹配帧选择单元263可以选择通过使用在先前帧中预测的摄像机120的姿态信息选择的一个或更多个帧以及通过使用全局特征的距离差选择的帧作为匹配帧(s1140)。
166.此后,局部特征匹配单元265可以从查询图像提取一个或更多个局部特征,并且可以执行局部特征匹配,该局部特征匹配将从查询图像提取的局部特征与包括在由匹配帧选择单元263选择的匹配帧中的局部特征进行匹配(s1150)。
167.摄像机姿态确定单元267可以使用查询图像与匹配帧之间的局部特征匹配的结果来预测查询图像的姿态信息(s1160)。
168.如果查询图像与匹配图像之间的局部特征匹配中正确匹配的局部特征的数目等于或大于(或者大于)预设阈值(s1170中的“是”),则摄像机姿态确定单元267可以将基于姿态预测算法预测的查询图像的姿态信息识别为有效信息,并且将预测的姿态信息确定为查询图像的姿态信息(s1180)。
169.另一方面,如果查询图像与匹配图像之间的局部特征匹配中正确匹配的局部特征的数目小于(或者等于或小于)预定阈值(s1170中的“否”),则摄像机姿态确定单元267可以将基于姿态预测算法预测的查询图像的姿态信息识别为无效信息,并且预测模式确定单元261可以通过重置预测模式来再次确定查询图像的姿态信息。
170.本公开内容的每个流程图可以通过计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现流程图的步骤中指定的功能的装置。这些计算机程序指令也可以存储在可以指导计算机或其他可编程数据处理设备以特定方式运行的计算机可用或计算机可读存储器中,使得存储在计算机可用或计算机可读介质中的指令可以产生包括实现流程图的框中指定的功能的指令的制品。计算机程序指令也可以被加载到计算机或其他可编程数据处理设备上,以使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,使得在计算机或其他可编程设备上执行的指令提供用于实现流程图的框中指定的功能的处理。
171.流程图中的每个步骤可以表示包括用于实现指定逻辑功能的一个或更多个可执行指令的模块、代码段或代码部分。还应当注意,在一些可替选实现方式中,在框中指出的功能可以不按照附图中指出的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这两个框有时可以根据所涉及的功能而按照相反的顺序执行。
172.以上描述仅仅是本公开内容的技术范围的示例性描述,并且本领域技术人员将理解,在不脱离本公开内容的原始特征的情况下,可以进行各种改变和修改。因此,本公开内
容中公开的实施方式旨在说明而非限制本公开内容的技术范围,并且本公开内容的技术范围不受实施方式的限制。本公开内容的保护范围应当基于所附权利要求来解释,并且应当理解的是,包括在与其等同的范围内的所有技术范围都包括在本公开内容的保护范围内。
技术特征:
1.一种确定包括在用户终端中的摄像机的姿态的方法,包括:基于在由所述用户终端捕获到所述用户终端的位置的第一查询图像中是否有效地预测到所述摄像机的第一姿态,确定用于在所述第一查询图像之后在由所述用户终端捕获到所述位置的第二查询图像中预测所述摄像机的第二姿态的预测模式;以及基于所确定的预测模式来确定所述第二姿态。2.根据权利要求1所述的方法,其中,确定所述第二姿态包括:当有效地预测到所述第一姿态时,使用所述第一姿态从包括在预生成的3d地图中且捕获到所述位置的多个关键帧中选择一个或更多个匹配帧作为用于所述第二查询图像的匹配候选。3.根据权利要求2所述的方法,其中,确定所述第二姿态还包括:当有效地预测到所述第一姿态时,在从所述第二查询图像提取的第一局部特征与包括在所述一个或更多个匹配帧中的第二局部特征之间执行局部特征匹配;以及进一步基于所述局部特征匹配的结果来确定所述第二查询图像中的第二姿态。4.根据权利要求1所述的方法,其中,确定所述第二姿态包括:如果未有效地预测到所述第一姿态,则使用预学习的神经网络来确定所述第二查询图像的全局特征;以及通过将所述第二查询图像的所述全局特征与包括在预生成的3d地图中且捕获到所述位置的多个关键帧中的每个关键帧的全局特征进行比较,从所述多个关键帧中选择一个或更多个匹配帧作为所述第二查询图像的匹配候选。5.根据权利要求1所述的方法,其中,确定所述第二姿态包括:如果有效地预测到所述第一姿态但是满足预设条件,则通过将使用预学习的神经网络确定的所述第二查询图像的全局特征与包括在预生成的3d地图中且捕获到所述位置的多个关键帧中的每个关键帧的全局特征进行比较,使用所述第一姿态从所述多个关键帧中选择一个或更多个帧作为匹配帧,并且其中,所述预设条件包括以下情况中的至少一种:所述摄像机的有效预测的姿态的数目等于或大于预设阈值数目的情况;以及根据当有效地预测到所述第一姿态时的预测模式确定的第二姿态与根据当未有效地预测到所述第一姿态时的预测模式确定的第二姿态之间的距离差等于或大于预设阈值距离的情况。6.根据权利要求1所述的方法,其中,确定所述第二姿态包括:从包括在预生成的3d地图中且捕获到所述位置的多个关键帧中选择与所述第二查询图像匹配的一个或更多个匹配图像;以及通过使用包括在所述一个或更多个匹配图像中的局部特征与包括在所述第二查询图像中的局部特征之间的局部特征匹配来确定所述第二查询图像中的第二姿态,并且其中,使用利用预定标准从由位置捕获设备或终端姿态确定设备捕获到所述位置的图像中选择的多个关键帧来生成所述3d地图,并且所述预定标准包括所述位置捕获设备或所述终端姿态确定设备的时间间隔和移动距离中的至少一个。7.根据权利要求6所述的方法,其中,通过进一步使用通过以一个或更多个角度旋转所述多个关键帧中的至少一个关键帧而生成的图像来生成所述3d地图。
8.根据权利要求1所述的方法,其中,确定所述第二姿态包括:在从所述第二查询图像提取的第一局部特征与包括在预生成的3d地图中且捕获到所述位置的一个或更多个关键帧中的每个关键帧的第二局部特征之间执行局部特征匹配;以及使用所述局部特征匹配的结果来确定所述第二查询图像中的第二姿态,并且其中,当计算所述第一局部特征与包括在所述一个或更多个关键帧中的每个关键帧中的多个局部特征中的、与所述第一局部特征中的每一个匹配的局部特征之间的距离时,所述第二局部特征是具有最短距离的局部特征。9.根据权利要求8所述的方法,其中,在确定所述第二姿态时,在作为所述局部特征匹配的结果而获得的所述第一局部特征和所述第二局部特征的匹配对中,使用预定数目的匹配对,以使所匹配的所述第一局部特征与所述第二局部特征之间的计算距离最短。10.根据权利要求1所述的方法,还包括:从所述用户终端连同获得所述第二查询图像一起获得关于是否有效地预测到所述第一姿态的信息、第一姿态信息、关于在先前查询图像未被有效地预测时预测的所述用户终端的最后姿态的信息、以及在先前图像中确定姿态被有效地预测到的图像的数目。11.根据权利要求1所述的方法,还包括:从所述用户终端连同获得所述第二姿态一起获得关于是否有效地预测到所述第二姿态的信息、以及在所述第二查询图像和所述第二查询图像之前的图像中确定姿态被有效地预测到的图像的数目。12.一种用于确定终端姿态的设备,包括:收发器,被配置成从用户终端接收捕获到所述用户终端的位置的第一查询图像;以及处理器,被配置成:基于在所述第一查询图像中是否有效地预测到所述用户终端的摄像机的第一姿态来确定用于在第二查询图像中预测所述摄像机的第二姿态的预测模式,并且基于所确定的预测模式来确定所述第二姿态,所述第二查询图像是在所述第一查询图像之后从所述用户终端接收的并且在其中捕获到所述位置。13.根据权利要求12所述的设备,其中,当有效地预测到所述第一姿态时,所述处理器还被配置成:使用所述第一姿态从包括在预生成的3d地图中且捕获到所述位置的多个关键帧中选择一个或更多个候选帧作为用于所述第二查询图像的匹配候选。14.根据权利要求12所述的设备,其中,当未有效地预测到所述第一姿态时,所述处理器还被配置成:使用预学习的神经网络来确定所述第二查询图像的全局特征;以及通过将所述第二查询图像的全局特征与包括在预生成的3d地图中且捕获到所述位置的多个关键帧中的每个关键帧的全局特征进行比较,从所述多个关键帧中选择一个或更多个候选帧作为匹配候选。15.根据权利要求13所述的设备,其中,当有效地预测到所述第一姿态但是满足预设条件时,所述处理器还被配置成:通过将使用预学习的神经网络确定的所述第二查询图像的全局特征与包括在预生成的3d地图中且捕获到所述位置的多个关键帧中的每个关键帧的全局特征进行比较,从所述多个关键帧中选择一个或更多个候选帧,作为所述第二查询图像的匹配候选,并且
其中,所述预设条件包括以下情况中的至少一种:所述摄像机的有效预测的姿态的数目等于或大于预设阈值数目的情况;以及当根据有效地预测到所述第一姿态时的预测模式确定的所述第二姿态与根据当未有效地预测到所述第一姿态时的预测模式确定的所述第二姿态之间的距离差等于或大于预设阈值距离的情况。16.一种用于存储计算机程序的非暂态计算机可读存储介质,所述计算机程序包括用于使处理器执行根据权利要求1至11中任一项所述的方法的命令。
技术总结
根据本发明的实施方式的用于确定包括在用户终端中的摄像机的姿态的方法可以包括以下步骤:基于在由用户终端拍摄用户终端所在的地点而获得的第一查询图像中是否已经有效地预测到摄像机的第一姿态,确定用于在第一查询图像之后在由用户终端拍摄该地点而获得的第二查询图像中预测摄像机的第二姿态的预测模式;以及基于所确定的预测模式,确定第二姿态。确定第二姿态。确定第二姿态。
技术研发人员:李性洙 李泰京
受保护的技术使用者:SK电信有限公司
技术研发日:2021.08.19
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/