地图数据处理方法、装置、存储介质和电子设备与流程
未命名
08-05
阅读:100
评论:0
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.获取包括当前关键帧的目标特征地图数据,目标特征地图数据包括当前关键帧对应的非共视关键帧序列和当前关键帧所属的当前帧序列;利用特征地图数据进行回环检测,通过实时建立的拓扑特征地图缓存的特征信息来确定载体是否到过当前位置,不依赖于外缘定位信息。在当前关键帧满足回环检测条件的情况下,基于非共视关键帧序列和当前帧序列确定差异度矩阵,差异度矩阵用于表征非共视关键帧序列中各非共视关键帧和当前帧序列中各关键帧之间的特征差异度;加入时间与空间信息,使得序列图匹配结果在环境变换或场景相似度高的特殊场景下更加准确,避免假阳检测。基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧,回环帧是基于差异度矩阵中的目标路径确定的,目标路径为遍历各非共视关键帧对应的矩阵元素且路径特征差异度最小的最短路径。提高了回环检测的准确性和鲁棒性,提高了构建地图的准确性。
52.根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得
清楚。
附图说明
53.为了更清楚地说明本说明书实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
54.图1示出根据本公开实施例的一种应用环境的示意图;
55.图2示出根据本公开实施例的一种地图数据处理方法的流程示意图;
56.图3示出根据本公开实施例的候选关键帧确定方法的流程示意图;
57.图4示出根据本公开实施例的第一验证结果确定方法的流程示意图;
58.图5示出根据本公开实施例的第二验证结果确定方法的流程示意图;
59.图6示出根据本公开实施例的目标特征地图数据确定方法的流程示意图;
60.图7示出根据本公开实施例的优化轨迹数据优化方法的流程示意图;
61.图8示出根据本公开实施例的目标特征地图数据优化方法的流程示意图;
62.图9示出根据本公开实施例的目标特征地图数据构建方法的流程示意图;
63.图10示出根据本公开实施例的目标特征地图数据的回环检测方法的流程示意图;
64.图11示出根据本公开实施例的目标特征地图数据中关键帧组成的结构示意图;
65.图12示出根据本公开实施例的差异度矩阵的结构示意图;
66.图13示出根据本公开实施例的基于语义地图优化目标特征地图数据方法的流程示意图;
67.图14示出根据本公开实施例的地图数据处理装置的结构示意图;
68.图15示出根据本公开实施例的一种电子设备的框图。
具体实施方式
69.下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
70.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
71.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
72.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
73.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
74.另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
75.视觉特征建图为机器人视觉重定位的特征匹配提供有效的先验信息,特征地图类型包括拓扑特征地图、点云特征地图等。按照特征种类分类,图像特征可分为两类,分别是局部图像特征与全局图像特征。
76.局部图像特征是图像特征的局部表达,通常为图像局部的极值等。局部特征之间相关性小,遮挡情况下不会因为部分局部特征的消失而影响其他局部特征的检测与匹配。一些局部特征,例如尺度不变特征变换(scale-invariant feature transform,sift)和加速稳健特征(speeded up robust features,surf)具有检测重复率高,特征描述子具有旋转、光照、尺度不变性等。然而现今量产的自动驾驶系统的计算与存储资源有限,上述具有旋转、光照和尺度不变性的特征提取算法在cpu上占用大量计算存储资源。另外一些著名的局部特征如在高斯空间下提取的orb特征在一定程度上解决了尺度不变性的问题,旋转描述子biref也在一定程度上解决了旋转不变性的问题,但是orb特征的地图在光照变化明显、视角变化大、环境极其相似的场景下,例如地下车库对重定位的效果并不好。
77.除此之外,通常基于纯视觉局部特征的重定位还需预先训练一个词袋模型将图像的局部特征聚合成为图像的全局特征,然后再用模型聚合的全局特征在特征地图上进行检索得到重定位帧,并基于当前帧的2d特征点与检索的重定位帧中无真实尺度的“3d”点云进行多视几何关系计算得到机器人当前的位姿。这种方法需要加载预训过的词袋模型,大量的占用存储资源,并且在不同的场景都需要训练对应的词袋模型。基于纯单目相机的多视几何相对位姿计算是没有尺度的,所以很难在在线的情况下对单目建图进行尺度的对齐,更不用说进行重定位了。全局图像特征是指整幅图像上的特征,包括纹理颜色和形状特征。全局特征是在像素级别的低层可视特征并且像素间具有几何相关性,因此在环境变化情况下具有良好的环境变化不变性。全局特征还具有表达直观、计算简易等特点,但是大部分全局特征的计算量大,特征维数也比较多。相比于局部特征不适用于图像遮挡和视角变化大的情况。视觉特征建图需要借助里程计来对帧间数据进行关联,但是里程计会有累积误差,因此需要回环检测来对轨迹和地图进行约束和优化。回环检测是指机器人在建图的时候进行场景识别,判断当前位置之前是否访问过并输出当前位姿和先前同一地点的位姿。通常视觉建图是基于双目视觉里程计,惯性视觉里程计,航位推算(惯性导航+轮速计)等进行深度恢复。上述方法匀是计算相关数据两两之间的相对位姿来得到全局位姿。相对位姿的计算并不都是准确的,因为观测必定会包含各种噪声,如相机特征点匹配的噪声,轮速计的噪声和惯性测量单元(inertial measurement unit,imu)的零偏不稳定性及其随机游走噪声等。全局位姿通常是基于积分来进行推算的,由于相对位姿存在噪声,推算而出的全局位姿
就会带有累计误差,因此需要回环检测模块对地图进行回环优化来消除累积误差。
78.大场景室外建图的时候通常会依赖实时动态测量(real-time kinematic,rtk)的位姿进行相同位置识别,而在室内场景,如地下车库等无rtk信号的场景,就需要视觉来进行场景识别,回环检测。著名的实时建图与定位系统,如orb-slam,它基于orb特征来训练词袋模型,词袋模型虽然对特征的检索进行了加速,但是需要占用额外的存储空间和计算资源。除此之外,基于词袋模型的回环检测的的准确性和特征区分度不高,因此需要很多回环候选帧,再通过相似变换的几何校验来进行滤除。当场景相似度高时,准确率变的极低。当环境变化时,相同场景特征会有所改变,这可能会导致无回环召回的情况。
79.现今,主要有两种回环检测方法。一种是基于几何关系的定位来实现的回环检测方法,即对已知位置的参考设备测距或测角,再通过几何关系计算机器人的位姿,如gps、rtk等,主要应用在高精地图的构建。当载体开完一个闭环,载体位姿势差值小于一定阈值则认为找到回环。另外一种是基于视觉特征匹配的回环检测,是将当前的观测特征与正在构建的特征地图进行匹配来得到载体的回环对。该方法通常应用在无高精度rtk的室内建图,如辅助驾驶系统中的记忆泊车功能。
80.目前主流的低层特征建图系统,如orb_slam3,vins-mono等,都是基于特征点法的slam系统。低层特征建图中的fast特征与brief描述子受场景与环境的局限,在地下车库等特征相似与环境容易变化的场景下,用这些低层特征地图进行重定位鲁棒性较差且准确率、召回率较低。除此之外,词袋模型的加载、特征的计算与多地图的存储等需要耗费较多的资源。有鉴于此,本公开实施例提供一种地图数据处理方法,解决回环检测不准确、鲁棒性差以及耗费资源等问题。
81.请参阅图1,图1是本技术实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以至少包括终端01和服务器02。在实际应用中,终端01和服务器02可以通过有线或无线通信方式进行直接或间接地连接,以实现服务器02和终端01间的交互,本技术在此不做限制。
82.本技术实施例中的服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。具体地,服务器02可以包括实体设备,可以具体包括有网络通信单元、处理器和存储器等等,也可以包括运行于实体设备中的软体,可以具体包括有应用程序等。本技术实施例中,服务器01可以用于为终端01提供网络服务和数据存储服务。
83.本技术实施例中,终端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、智能电视、智能音箱、智能可穿戴设备、车载终端设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。具体地,终端01可以在地图构建过程中利用特征差异度矩阵进行回环检测并基于回环对对地图进行优化。
84.图2示出根据本公开实施例的一种地图数据处理方法的流程示意图,如图2所示,上述方法包括:
85.s101、获取包括当前关键帧的目标特征地图数据,目标特征地图数据包括当前关
键帧对应的非共视关键帧序列和当前关键帧所属的当前帧序列;
86.目标特征地图数据中每一个节点表示一个关键帧,关键帧包括图像全局特征、局部特征、时间戳、图像当前位姿等关键信息。目标特征地图数据随着建图流程中关键帧的添加而不断更新,当前关键帧用于表征目标特征地图数据当前新增的关键帧。根据当前关键帧的时间戳,查询当前关键帧在目标特征地图数据中对应的非共视关键帧序列、共视关键帧序列和当前关键帧序列。当前关键帧序列用于表征当前关键帧之前第一预设数量个、时间戳连续的关键帧。共视关键帧序列用于表征当前关键帧之前第二预设数量个、时间戳连续的关键帧,第二预设数量大于第一预设数量,共视关键帧包括当前关键帧序列,非共视关键帧序列用于表征共视关键帧序列之前的第三预设帧数量、时间戳连续的关键帧。非共视关键帧的时间戳早于共视关键帧的时间戳。
87.在一些实施例中,目标特征地图数据中包括300个关键帧,将目标特征地图数据中的300个关键帧进行划分,得到共视关键帧序列和非共视关键帧序列,共视关键帧序列包括当前关键帧序列。当前关键帧序列包括当前关键帧和当前关键帧之前的19个关键帧,即当前关键帧序列有20个关键帧,当前关键帧序列包括20个关键帧的局部拓扑地图。共视关键帧序列包括当前关键帧和当前关键帧之前的44个连续关键帧,即共视关键帧序列包括45个连续关键帧。非共视关键帧序列包括共视关键帧序列之后的255个连续关键帧。
88.在一些实施例中,至当前关键帧对应的时刻的目标特征地图数据currentmapbuffer的关键帧表达如下:
[0089][0090]
其中,n为目标特征地图数据中关键帧的总数量,为目标特征地图数据的最后一帧关键帧即当前关键帧。
[0091]
不包括共视关键帧的序列即非共视关键帧序列noncovi smapbuffer中的关键帧表达如下:
[0092][0093]
其中,id∈[1,n-α],n∈n
+
,α为目标特征地图数据中共视关键帧的关键帧数量。
[0094]
当前帧序列cursequence中的关键帧的表达如下:
[0095][0096]
其中,β为目标特征地图数据中当前关键帧序列的数量。
[0097]
s102、在当前关键帧满足回环检测条件的情况下,基于非共视关键帧序列和当前帧序列确定差异度矩阵,差异度矩阵用于表征非共视关键帧序列中各非共视关键帧和当前帧序列中各关键帧之间的特征差异度;
[0098]
差异度矩阵中的单个元素表征非共视关键帧序列中非共视关键帧和当前帧序列中关键帧两两之间的特征差异度。判断目标特征地图数据中的关键帧是否检测到过回环帧,若目标特征地图数据中的关键帧没有检测到过回环帧,在当前关键帧与目标特征地图数据中起始关键帧的累积距离大于或等于第一预设距离阈值,或者目标特征地图数据中的关键帧的缓存大于或等于第一预设缓存阈值,且当前关键帧的识别码i d满足第一预设识别码条件,确定当前关键帧满足回环检测条件。若目标特征地图数据中的关键帧检测到过回环帧,若当前关键帧距离上一帧回环位置的累积距离大于或等于第一预设距离阈值,或
者当前关键帧的i d与上一帧回环位置的i d的差值大于或等于第一预设识别码阈值,且当前关键帧的识别码i d满足第一预设识别码条件,确定当前关键帧满足回环检测条件。基于非共视关键帧序列和当前关键帧序列构建差异度矩阵,构建差异度矩阵时,不需要另外缓存非共视关键帧序列和当前关键帧序列,根据非共视关键帧序列中关键帧的索引和当前关键帧序列中关键帧的索引将非共视关键帧序列中关键帧和当前关键帧序列中关键帧进行差异度计算,得到差异度矩阵。
[0099]
理论上当前帧序列的序列越长,回环检测的效果越好,但是差异度矩阵构建的计算量就会大大增加,时间复杂度为logn2。如果当前关键帧序列的序列比较小即关键帧数量比较少,那么时间和空间的约束就不够,在相似度高和环境变化的场景中就容易误识别。综上得到,差异度矩阵的行数可以为目标特征地图数据的大小减去共视关键帧的数量,差异度矩阵的列数可以为当前关键帧序列的大小,由此差异度矩阵的大小为(n-α)
×
β。回环检测的差异度矩阵需要每次重新构建,因为地图缓存是随着建图流程的进程而实时增长的。
[0100]
示例性的,当前关键帧的识别码i d满足第一预设识别码条件可以为当前关键帧的识别码i d为奇数。
[0101]
在一些实施例中,通过关键帧的索引将当前关键帧序列的20帧关键帧分别与非共视关键帧序列的255帧关键帧进行差异度计算,得到20*255大小的差异度矩阵。差异度矩阵中的特征差异度的范围为(0,1)。差异度计算方式包括但不限于余弦值计算和差值的非零数量统计。
[0102]
s103、基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧,回环帧是基于差异度矩阵中的目标路径确定的,目标路径为遍历各非共视关键帧对应的矩阵元素且路径特征差异度最小的最短路径。
[0103]
从差异度矩阵中遍历每一非共视关键帧对应的矩阵元素搜索差异度和最小的最短路径,得到目标路径。基于目标路径确定当前关键帧对应的回环帧。
[0104]
在一些实施例中,利用动态规划算法搜索差异度矩阵中的差异度和最小的最短路径,其中,最短路径中的矩阵元素均不在同一行或同一列。
[0105]
上述技术方案,通过构建差异度矩阵,加入了时间和空间的约束,提高的场景变换时回环帧匹配的鲁棒性和准确性。
[0106]
请参阅图3,在一些实施例中,基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧,包括:
[0107]
s1031、对差异度矩阵进行路径特征差异度最小值搜索的最短路径规划,得到目标路径;
[0108]
s1032、确定目标路径中当前关键帧对应的非共视关键帧为候选关键帧;
[0109]
s1033、对候选关键帧进行可信度验证,得到第一验证结果;
[0110]
s1034、在第一验证结果为验证通过的情况下,对候选关键帧进行匹配度验证,得到第二验证结果;
[0111]
s1035、在第二次验证结果为验证通过的情况下,确定候选关键帧为回环帧。
[0112]
第一验证结果用于表征候选关键帧的候选关键帧为回环帧的可信程度满足预设置信度条件,第二验证结果用于表征当前关键帧与候选关键帧的匹配程度满足预设比例条件。
[0113]
在一些实施例中,确定差异度矩阵中特征差异度和最小的最短路径为目标路径,将目标路径中当前关键帧对应的非共视关键帧作为候选关键帧,若候选关键帧通过可信度验证以及匹配度验证,确定候选关键帧为当前关键帧对应的回环帧。
[0114]
上述技术方案,对候选关键帧进行了两次校验,进一步保证了回环检测的准确性。
[0115]
请参阅图4,在一些实施例中,基于对候选关键帧进行可信度验证,得到第一验证结果,包括:
[0116]
s10331、确定差异度矩阵中候选关键帧对应的目标差异度和当前关键帧对应的差异度均值;
[0117]
s10332、基于差异度均值生成概率预测模型;
[0118]
s10333、基于概率预测模型对目标差异度和差异度均值进行概率预测,得到第一概率和第二概率;
[0119]
s10334、基于第一概率和第二概率确定候选关键帧的置信度,置信度表征候选关键帧为回环帧的可信程度;
[0120]
s10335、若置信度满足预设置信度条件,确定第一验证结果为验证通过。
[0121]
在一些实施例中,计算差异度矩阵中当前关键帧和所有非共视关键帧之间差异度即当前关键帧对应的差异度向量的平均值,得到差异度均值,基于预设分布算法和差异度均值生成概率预测模型,基于概率预测模型分别对候选关键帧对应的目标差异度和差异度均值进行概率预测,得到第一概率和第二概率,将第一概率和第二概率进行比值处理,得到候选关键帧的置信度,当置信度满足预设置信度条件时,确定第一验证结果为验证通过。
[0122]
在一些实施例中,预设分布算法可以为拉普拉斯分布算法,将差异度均值作为尺度系数,将位置系数设为预设值,示例性的,位置系数为0,得到概率预测模型,将候选关键帧对应的目标差异度和差异度均值带入概率预测模型,得到第一概率p1和第二概率p2,将第一概率p1比去第二概率p2,得到候选关键帧对应的置信度,若置信度大于置信度阈值,确定候选关键帧对应的置信度满足预设置信度条件,认定第一验证结果为验证通过。其中,置信度阈值需要根据不同的特征进行设置,示例性的,小图像特征的置信度阈值的范围可以为[1.3,1.5]。
[0123]
上述技术方案,在确定候选关键帧为当前关键帧对应的回环帧之前,基于概率预测模型对候选关键帧进行置信度验证,提高回环检测的准确性,避免回环帧的检测出错导致回环优化后的地图出现错乱。
[0124]
请参阅图5,在一些实施例中,对候选关键帧进行匹配度验证,得到第二验证结果,包括:
[0125]
s10341、将当前关键帧的局部特征和候选关键帧的局部特征进行特征匹配,得到匹配点对;
[0126]
s10342、确定匹配点对中的特征点,其中,特征点的属性为内点或外点;
[0127]
s10343、基于特征点的属性确定候选关键帧的匹配值,匹配值用于表征候选关键帧和当前关键帧的匹配程度;
[0128]
s10344、在匹配值满足预设比例条件的情况下,确定第二验证结果为验证通过。
[0129]
在一些实施例中,在第一验证结果为通过的情况下,对候选关键帧继续进行基于特征点的几何校验。目标特征地图数据包括关键帧的局部特征,获取当前关键帧的局部特
征和候选关键帧的局部特征。将当前关键帧的局部特征和候选关键帧的局部特征进行特征匹配,得到匹配点对,利用预设抽样算法对匹配点对进行处理,得到匹配点对中的特征点,特征点中包括内点和外点。内点用于表征匹配点对中当前关键帧的局部特征和候选关键帧的局部特征匹配成功对应的点,外点用于表征匹配点对中当前关键帧的局部特征和候选关键帧的局部特征匹配失败对应的点。基于内点的数量和外点的数量确定候选关键帧的匹配值。若匹配值大于匹配度阈值,确定匹配值满足预设比例条件,第二验证结果为验证通过。
[0130]
在一些实施例中,将当前关键帧的局部特征和候选关键帧的局部特征进行暴力匹配,得到至少8对匹配点对,利用随机抽样一致性(random sample consensus,ransac)对匹配点对进行基础矩阵(fundamental matrix)计算,得到内点和外点,统计内点的数量和外点的数量,将内点的数量和外点的数量的比率作为匹配值,在匹配值大于匹配度阈值80%时,确定第二验证结果为验证通过。
[0131]
上述技术方案,对当前关键帧的局部特征和候选关键帧的局部特征进行几何校验再次过滤除假阳结果,提高回环检测的准确性和鲁棒性。
[0132]
请参阅图6,在一些实施例中,获取包括当前关键帧的目标特征地图数据包括:
[0133]
s1011、获取当前图像帧和历史特征地图数据,历史特征地图数据包括各关键帧对应的全局位姿信息;
[0134]
s1012、在当前图像帧的图像序列位置满足图像帧距离条件的情况下,确定当前图像帧为当前关键帧;
[0135]
s1013、基于当前关键帧对应的特征数据更新历史特征地图数据,得到目标特征地图数据;
[0136]
s1014、基于全局位姿信息进行当前关键帧的位姿估计,得到图像位姿信息;
[0137]
s1015、获取当前关键帧对应的全局特征和当前关键帧对应的局部特征;
[0138]
s1016、基于当前关键帧、图像位姿信息、全局特征和局部特征更新历史特征地图数据,得到目标特征地图数据。
[0139]
在一些实施例中,历史特征地图数据用于表征历史构建的拓扑特征地图。地图中的节点通过历史特征地图数据中的一个关键帧表征,当前图像帧通过图像采集装置采集。若当前图像帧的图像序列位置与上一帧图像帧的偏移的距离大于预设偏移距离阈值,确定当前图像帧为当前关键帧。否则不进行特征提取,提高算力。基于预设测量工具对当前图像帧进行全局位姿估计,得到全局位姿信息。将全局位姿信息存储在位姿缓存中。基于当前关键帧的时间戳和位姿缓存进行线性差值处理,得到当前帧图像位姿。将当前图像帧对应的灰度图像利用预设变换方法进行预设尺度的缩小处理,并对缩小后的图像进行光照标准化处理,得到当前关键帧对应的全局特征。将缩小后的图像进行预设数量的特征点提取,利用训练好的矩阵将预设数量的特征点进行降维映射,保留有效信息,得到当前关键帧对应的局部特征。基于当前关键帧、图像位姿信息、全局特征和局部特征更新历史特征地图数据,得到目标特征地图数据。
[0140]
在一些实施例中,当当前图像帧f
t
偏移tc和上一帧图像帧kf
t-1
偏移的距离大于预设偏移距离阈值时,将当前图像帧作为当前特征帧插入历史特征地图数据[kf1,kf2,
…
,kf
t-1
,kf
t
]中。利用网络惯性测量单元(imu)和轮速计对当前图像帧航位推测法(dr)推算,以进行全局位姿估计,得到全局位姿信息。将全局位姿信息存储在dr位姿缓存中,利用当前
关键帧的时间戳tc在dr位姿缓存中去取最靠近当前关键帧的时间戳的左位姿t
dr_l
与右位姿t
dr_r
并进行线性插值。偏移tc的差值如下公式:
[0141]
tc=tc+scale(t
dr_r-t
dr_l
)
[0142][0143]
四元数qc表示旋转的线性插值,公式如下:
[0144]
qc=scale0*q
dr_l
+scale1*q
dr_r
[0145]
其中,t
dr_l
为左位姿t
dr_l
对应的偏移,t
dr_r
为右位姿t
dr_r
对应的偏移,scale为时间比例,t
s_c
为偏移tc对应的时间戳,t
s_l
为左位姿t
dr_l
对应的时间戳,t
s_r
为右位姿t
dr_r
对应的时间戳,scale0为1-scale,scale1为1-scale0,q
dr_l
为时间戳t
s_l
对应的四元数,q
dr_r
为时间戳t
s_r
对应的四元数。
[0146]
将当前图像帧对应的灰度图像用兰索斯法(lanczos)差值进行预设尺度的缩小,示例性的,将灰度图像缩小为64x 32像素的小图像。再将缩小后的图像分割成一个个n*n的小格,然后对每个小格进行光照标准化patch normalization处理,得到当前特征帧对应的全局特征。其中,对小格进行patch normalization的公式为如下:
[0147][0148]
其中,为小格里各个像素patch normalized过的值。i为小格里的光照强度值,为小格里所有像素的光照强度平均值,σk为小格里所有像素的光照强度的样本偏差。
[0149]
将缩小后的图像进行n个特征点的提取,示例性的,n为300,然后用一个训练好的矩阵将300个特征点的brief描述子进行一个降维映射,保留有效信息,得到当前关键帧对应的局部特征信息。
[0150]
上述技术特征,在构建目标特征地图数据时,仅加入符合图像帧距离条件的关键帧,节省算力,构建的特征地图占用的内存资源小,解决语义地图的全局范围内回环检测消耗极大的计算资源的问题。
[0151]
请参阅图7,在一些实施例中,在基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧之后,方法还包括:
[0152]
s201、获取目标特征地图数据对应的语义地图数据,语义地图数据包括关键帧的位姿信息;
[0153]
s202、基于当前关键帧的时间戳和回环帧的时间戳,确定语义地图数据中当前关键帧对应的第一局部点云数据和回环帧对应的第二局部点云数据;
[0154]
s203、对第一局部点云数据和第二局部点云数据进行配准处理,得到轨迹相对位姿信息;
[0155]
s204、确定语义地图数据中每两关键帧之间的帧间相对位姿信息;
[0156]
s205、基于轨迹相对位姿信息和帧间相对位姿信息对语义地图数据进行轨迹优化,得到优化轨迹数据;
[0157]
s206、基于优化轨迹数据对目标特征地图数据进行更新,得到更新的目标特征图数据。
[0158]
在一些实施例中,获取目标特征地图数据对应的语义地图数据,基于当前关键帧和当前关键帧对应的回环帧的信息对语义地图数据进行回环优化,具体的,根据时间戳确定当前关键帧对应的第一局部点云数据和回环帧对应的第二局部点云数据,利用预设点云匹配算法将第一局部点云数据和第二局部点云数据进行配准处理,得到轨迹相对位姿信息,确定语义地图中两两关键帧的帧间相对位姿信息,得到优化轨迹数据。
[0159]
在一些实施例中,在目标特征地图数据的将第一局部点云数据和第二局部点云数据进行正态分布变换(normal distributions transform,ndt),得到回环点处轨迹漂移的轨迹相对位姿信息,即回环约束。
[0160]
上述技术方案,通过回环检测确定的回环对先对目标语义地图进行轨迹优化,得到优化轨迹数据,提高建图的准确性和鲁棒性。
[0161]
请参阅图8,在一些实施例中,基于优化轨迹数据对目标特征地图数据进行更新,得到更新的目标特征图数据,包括:
[0162]
s2061、对优化轨迹数据和目标特征地图数据进行时序匹配,得到目标特征地图数据中优化轨迹数据的首节点对应的起始关键帧;
[0163]
s2062、若首节点对应的时间戳小于起始关键帧对应的时间戳,确定起始关键帧的时间戳在优化轨迹数据中对应的时间戳对;
[0164]
s2063、基于优化轨迹数据中时间戳对对应的轨迹数据对目标特征地图数据进行插值处理,得到更新后的目标特征图数据。
[0165]
在一些实施例中,当目标特征地图数据构建过程中,基于所述差异度矩阵,从所述非共视关键帧序列中确定出所述当前关键帧对应的回环帧之后,将当前关键帧及当前关键帧对应的回环帧存储至回环对缓存中,当目标特征地图数据构建完毕后,且回环对缓存不为空,确定目标特征图数据中优化轨迹数据的首节点对应的起始关键帧,若优化轨迹数据的首节点对应的时间戳大于或等于目标特征地图数据中起始关键帧的时间戳,目标特征地图数据中的起始关键帧的位姿保持不变,不进行更新。若优化轨迹数据的首节点对应的时间戳小于目标特征地图数据中起始关键帧的时间戳,根据起始关键帧的时间戳在优化轨迹数据中查找邻近的时间戳对,时间戳对用于表征首节点前后或着左右邻近的两个节点对应的时间戳。基于优化轨迹数据中时间戳对对应的轨迹数据对目标特征地图数据进行线性插值,得到更新后的目标特征地图数据。
[0166]
在一些实施例中,当目标特征地图数据构建完毕且回环对缓存不为空,基于优化轨迹数据遍历优化目标特征地图数据。确定目标地图特征数据的第一个关键帧即起始关键帧,对应的识别码为i,获取优化轨迹数据,若优化轨迹数据的第一个节点的时间戳不早于第i个关键帧的时间戳,则第i个关键帧的位姿保持不变,不进行优化,关键帧的识别码i++,进行目标地图特征数据下一个关键帧的判断。若优化轨迹数据的第一个节点的时间戳早于第i个关键帧的时间戳,则根据第i个关键帧的时间戳在优化轨迹数据中查找邻近的时间戳对,基于优化轨迹数据中时间戳对对应的轨迹数据对目标特征地图数据第i个关键帧对应的优化后的位姿,将比第i个关键帧的时间戳早的节点从优化轨迹数据中删除。若优化轨迹数据不为空,i++,继续优化目标特征地图数据下一个关键帧的位姿。若优化轨迹数据为空,则将目标特征地图数据的第i个关键帧开始的地图帧全部删除,得到更新后的目标特征地图数据。
[0167]
上述技术方案,通过优化后的语义地图数据的轨迹数据对目标特征地图数据进行优化,使得特征地图和语义地图保持一致,保持建图的准确性和鲁棒性。
[0168]
在一些实施例中,回环优化的过程主要有目标特征地图数据的构建过程,如图9;对目标特征地图构建的当前关键帧进行回环检测,如图10;目标特征地图数据构建完成后,基于检测到的回环对优化目标特征地图对应的语义地图,基于语义地图优化后的轨迹数据优化目标特征地图,如图13。具体地,请参阅图9,利用imu和轮速计进行dr航位推算来进行全局位姿估计,得到全局位姿信息,将全局位姿信息存储在dr位姿缓存中。利用鱼眼相机获取当前图像帧,基于当前图像帧的时间戳和dr位姿缓存进行线性插值处理,得到当前关键帧对应的图像位姿信息。判断当前图像帧是否为当前关键帧,若当前图像帧的偏移与上一关键帧偏移的距离大于预设偏移距离阈值时,确定当前图像帧为当前关键帧。获取当前关键帧的图像数据对应的灰度图,提取灰度图中预设数量的orb特征,得到当前关键帧对应的局部特征。将灰度图利用进行lanczos插值进行图像缩小,得到预设尺寸的小图像,将小图像进行直方图均值化,分割成一个个n*n小格,对每个小格进行patch normalization,得到当前关键帧对应的全局特征。基于当前关键帧及其局部特征、全局特征和图像位姿信息更新目标特征地图数据。
[0169]
请参阅图10,加载当前更新的目标特征地图数据,确定目标特征地图数据是否检测到过回环,若未检测到过回环,则判断当前关键帧距离起始关键帧的位置是否大于第一预设距离阈值,且当前关键帧的识别码id是否为奇数,若否,则不进行回环检测,若是,则进行回环检测。图11为目标特征地图数据的结构,包括非共视关键帧序列和共视关键帧序列,共视关键帧序列又包括当前关键帧序列。基于非共视关键帧序列和当前关键帧序列进行差异度计算,得到差异度矩阵,如图12。利用动态规划算法搜索差异度矩阵,确定候选关键帧。基于概率预测模型确定候选关键帧的置信度,若置信度不大于置信度阈值,确定当前关键帧无回环结果,若置信度大于置信度阈值,根据当前关键帧的局部特征和回环帧的局部特征进行暴力匹配,得到匹配点对,利用ransac对匹配点对进行fundamental matrix,得到内点和外点,若内点的数量和外点的数量比例大于匹配度阈值,确定候选关键帧为当前关键帧对应的回环帧。将当前关键帧和其对应的回环帧存储在回环对缓存中。若内点的数量和外点的数量比例不大于匹配度阈值,确定当前关键帧无回环结果。
[0170]
请参阅图13,当目标特征地图数据构建完成,且回环对缓存不为空。基于回环对缓存对目标特征地图数据对应的语义地图数据进行轨迹优化,得到优化轨迹数据。确定目标地图特征数据的第一个关键帧即起始关键帧,对应的识别码为i,获取优化轨迹数据,若优化轨迹数据的第一个节点的时间戳不早于第i个关键帧的时间戳,则第i个关键帧的位姿保持不变,不进行优化,关键帧的识别码i++,进行目标地图特征数据下一个关键帧的判断。若优化轨迹数据的第一个节点的时间戳早于第i个关键帧的时间戳,则根据第i个关键帧的时间戳在优化轨迹数据中查找邻近的时间戳对,基于优化轨迹数据中时间戳对对应的轨迹数据对目标特征地图数据第i个关键帧对应的优化后的位姿,将比第i个关键帧的时间戳早的节点从优化轨迹数据中删除。若优化轨迹数据不为空,i++,继续优化目标特征地图数据下一个关键帧的位姿。若优化轨迹数据为空,则将目标特征地图数据的第i个关键帧开始的地图帧全部删除,得到更新后的目标特征地图数据。
[0171]
请参阅图14,根据本公开的第二方面,提供地图数据处理装置,装置包括:
[0172]
当前特征地图获取模块10,用于获取包括当前关键帧的目标特征地图数据,目标特征地图数据包括当前关键帧对应的非共视关键帧序列和当前关键帧所属的当前帧序列;
[0173]
差异度矩阵确定模块20,用于在当前关键帧满足回环检测条件的情况下,基于非共视关键帧序列和当前帧序列确定差异度矩阵,差异度矩阵用于表征非共视关键帧序列中各非共视关键帧和当前帧序列中各关键帧之间的特征差异度;
[0174]
回环帧确定模块30,用于基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧,回环帧是基于差异度矩阵中的目标路径确定的,目标路径为遍历各非共视关键帧对应的矩阵元素且路径特征差异度最小的最短路径。
[0175]
在一些实施例中,回环帧确定模块30,包括:
[0176]
目标路径确定单元31,用于对差异度矩阵进行路径特征差异度最小值搜索的最短路径规划,得到目标路径;
[0177]
候选关键帧确定单元32,用于确定目标路径中当前关键帧对应的非共视关键帧为候选关键帧;
[0178]
第一验证单元33,用于对候选关键帧进行可信度验证,得到第一验证结果;
[0179]
第二验证单元34,用于在第一验证结果为验证通过的情况下,对候选关键帧进行匹配度验证,得到第二验证结果;
[0180]
回环帧确定单元35,用于在第二次验证结果为验证通过的情况下,确定候选关键帧为回环帧。
[0181]
在一些实施例中,第一验证单元33,包括:
[0182]
差异度处理单元331,用于确定差异度矩阵中候选关键帧对应的目标差异度和当前关键帧对应的差异度均值;
[0183]
概率预测模型生成单元332,用于基于差异度均值生成概率预测模型;
[0184]
概率预测单元333,用于基于概率预测模型对目标差异度和差异度均值进行概率预测,得到第一概率和第二概率;
[0185]
置信度确定单元334,用于基于第一概率和第二概率确定候选关键帧的置信度,置信度表征候选关键帧为回环帧的可信程度;
[0186]
第一验证结果确定单元335,用于若置信度满足预设置信度条件,确定第一验证结果为验证通过。
[0187]
在一些实施例中,第二验证单元34,包括:
[0188]
特征匹配单元341,用于将当前关键帧的局部特征和候选关键帧的局部特征进行特征匹配,得到匹配点对;
[0189]
特征点确定单元342,用于确定匹配点对中的特征点,其中,特征点的属性为内点或外点;
[0190]
匹配值确定单元343,用于基于特征点的属性确定候选关键帧的匹配值,匹配值用于表征候选关键帧和当前关键帧的匹配程度;
[0191]
第二验证结果确定单元344,用于在匹配值满足预设比例条件的情况下,确定第二验证结果为验证通过。
[0192]
在一些实施例中,当前特征地图获取模块10包括:
[0193]
地图数据获取单元11,用于获取当前图像帧和历史特征地图数据,历史特征地图
数据包括各关键帧对应的全局位姿信息;
[0194]
当前关键帧确定单元12,用于在当前图像帧的图像序列位置满足图像帧距离条件的情况下,确定当前图像帧为当前关键帧;
[0195]
历史特征地图数据更新单元13,用于基于当前关键帧对应的特征数据更新历史特征地图数据,得到目标特征地图数据;
[0196]
图像位姿信息确定但与那14,用于基于全局位姿信息进行当前关键帧的位姿估计,得到图像位姿信息;
[0197]
特征获取单元15,用于获取当前关键帧对应的全局特征和当前关键帧对应的局部特征;
[0198]
目标特征地图数据确实单元16,用于基于当前关键帧、图像位姿信息、全局特征和局部特征更新历史特征地图数据,得到目标特征地图数据。
[0199]
在一些实施例中,装置还包括:
[0200]
语义地图数据获取模块40,用于获取目标特征地图数据对应的语义地图数据,语义地图数据包括关键帧的位姿信息;
[0201]
点云数据确定模块50,用于基于当前关键帧的时间戳和回环帧的时间戳,确定语义地图数据中当前关键帧对应的第一局部点云数据和回环帧对应的第二局部点云数据;
[0202]
轨迹相对位姿信息确定模块60,用于对第一局部点云数据和第二局部点云数据进行配准处理,得到轨迹相对位姿信息;
[0203]
帧间相对位姿信息确定模块70,用于确定语义地图数据中每两关键帧之间的帧间相对位姿信息;
[0204]
优化轨迹数据确定模块80,用于基于轨迹相对位姿信息和帧间相对位姿信息对语义地图数据进行轨迹优化,得到优化轨迹数据;
[0205]
目标特征图数据更新模块90,用于基于优化轨迹数据对目标特征地图数据进行更新,得到更新的目标特征图数据。
[0206]
在一些实施例中,目标特征图数据更新模块90,包括:
[0207]
时序匹配单元91,用于对优化轨迹数据和目标特征地图数据进行时序匹配,得到目标特征地图数据中优化轨迹数据的首节点对应的起始关键帧;
[0208]
时间戳对确定单元92,用于若首节点对应的时间戳小于起始关键帧对应的时间戳,确定起始关键帧的时间戳在优化轨迹数据中对应的时间戳对;
[0209]
插值处理单元93,用于基于优化轨迹数据中时间戳对对应的轨迹数据对目标特征地图数据进行插值处理,得到更新后的目标特征图数据。
[0210]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0211]
本技术实施例提供了一种地图数据处理设备,该设备可以为终端或服务器,该地图数据处理设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的地图数据处理方法。
[0212]
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序
以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
[0213]
本技术实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图15是本技术实施例提供的一种地图数据处理方法的电子设备的硬件结构框图。如图15所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)910(处理器910可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0214]
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0215]
本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。
[0216]
本技术的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种地图数据处理方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的地图数据处理方法。
[0217]
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0218]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
[0219]
由上述本技术提供的地图数据处理方法、装置、设备、终端、服务器、存储介质或计
算机程序的实施例可见,本技术获取包括当前关键帧的目标特征地图数据,目标特征地图数据包括当前关键帧对应的非共视关键帧序列和当前关键帧所属的当前帧序列;利用特征地图数据进行回环检测,通过实时建立的拓扑特征地图缓存的特征信息来确定载体是否到过当前位置,不依赖于外缘定位信息。在当前关键帧满足回环检测条件的情况下,基于非共视关键帧序列和当前帧序列确定差异度矩阵,差异度矩阵用于表征非共视关键帧序列中各非共视关键帧和当前帧序列中各关键帧之间的特征差异度;加入时间与空间信息,使得序列图匹配结果在环境变换或场景相似度高的特殊场景下更加准确,避免假阳检测。基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧,回环帧是基于差异度矩阵中的目标路径确定的,目标路径为遍历各非共视关键帧对应的矩阵元素且路径特征差异度最小的最短路径。提高了回环检测的准确性和鲁棒性,提高了构建地图的准确性。
[0220]
需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0221]
本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0222]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0223]
以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种地图数据处理方法,其特征在于,所述方法包括:获取包括当前关键帧的目标特征地图数据,所述目标特征地图数据包括当前关键帧对应的非共视关键帧序列和所述当前关键帧所属的当前帧序列;在所述当前关键帧满足回环检测条件的情况下,基于所述非共视关键帧序列和所述当前帧序列确定差异度矩阵,所述差异度矩阵用于表征所述非共视关键帧序列中各非共视关键帧和所述当前帧序列中各关键帧之间的特征差异度;基于所述差异度矩阵,从所述非共视关键帧序列中确定出所述当前关键帧对应的回环帧,所述回环帧是基于所述差异度矩阵中的目标路径确定的,所述目标路径为遍历所述各非共视关键帧对应的矩阵元素且路径特征差异度最小的最短路径。2.根据权利要求1所述的方法,其特征在于,所述基于所述差异度矩阵,从所述非共视关键帧序列中确定出所述当前关键帧对应的回环帧,包括:对所述差异度矩阵进行路径特征差异度最小值搜索的最短路径规划,得到目标路径;确定所述目标路径中所述当前关键帧对应的非共视关键帧为候选关键帧;对所述候选关键帧进行可信度验证,得到第一验证结果;在所述第一验证结果为验证通过的情况下,对所述候选关键帧进行匹配度验证,得到第二验证结果;在所述第二次验证结果为验证通过的情况下,确定所述候选关键帧为所述回环帧。3.根据权利要求2所述的方法,其特征在于,所述基于对所述候选关键帧进行可信度验证,得到第一验证结果,包括:确定所述差异度矩阵中所述候选关键帧对应的目标差异度和所述当前关键帧对应的差异度均值;基于所述差异度均值生成概率预测模型;基于所述概率预测模型对所述目标差异度和所述差异度均值进行概率预测,得到第一概率和第二概率;基于所述第一概率和所述第二概率确定所述候选关键帧的置信度,所述置信度表征所述候选关键帧为所述回环帧的可信程度;若所述置信度满足预设置信度条件,确定所述第一验证结果为验证通过。4.根据权利要求2所述的方法,其特征在于,所述对所述候选关键帧进行匹配度验证,得到第二验证结果,包括:将所述当前关键帧的局部特征和所述候选关键帧的局部特征进行特征匹配,得到匹配点对;确定所述匹配点对中的特征点,其中,所述特征点的属性为内点或外点;基于所述特征点的属性确定所述候选关键帧的匹配值,所述匹配值用于表征所述候选关键帧和所述当前关键帧的匹配程度;在所述匹配值满足预设比例条件的情况下,确定所述第二验证结果为验证通过。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取包括当前关键帧的目标特征地图数据包括:获取当前图像帧和历史特征地图数据,所述历史特征地图数据包括各关键帧对应的全局位姿信息;
在所述当前图像帧的图像序列位置满足图像帧距离条件的情况下,确定所述当前图像帧为当前关键帧;基于所述当前关键帧对应的特征数据更新所述历史特征地图数据,得到所述目标特征地图数据;基于所述全局位姿信息进行所述当前关键帧的位姿估计,得到图像位姿信息;获取所述当前关键帧对应的全局特征和所述当前关键帧对应的局部特征;基于所述当前关键帧、所述图像位姿信息、所述全局特征和所述局部特征更新历史特征地图数据,得到所述目标特征地图数据。6.根据权利要求1-4中任一项所述的方法,其特征在于,在所述基于所述差异度矩阵,从所述非共视关键帧序列中确定出所述当前关键帧对应的回环帧之后,所述方法还包括:获取目标特征地图数据对应的语义地图数据,所述语义地图数据包括关键帧的位姿信息;基于所述当前关键帧的时间戳和所述回环帧的时间戳,确定所述语义地图数据中所述当前关键帧对应的第一局部点云数据和所述回环帧对应的第二局部点云数据;对所述第一局部点云数据和所述第二局部点云数据进行配准处理,得到轨迹相对位姿信息;确定所述语义地图数据中每两关键帧之间的帧间相对位姿信息;基于所述轨迹相对位姿信息和所述帧间相对位姿信息对所述语义地图数据进行轨迹优化,得到优化轨迹数据;基于所述优化轨迹数据对所述目标特征地图数据进行更新,得到更新的目标特征图数据。7.根据权利要求6所述的方法,其特征在于,所述基于所述优化轨迹数据对所述目标特征地图数据进行更新,得到更新的目标特征图数据,包括:对所述优化轨迹数据和所述目标特征地图数据进行时序匹配,得到所述目标特征地图数据中所述优化轨迹数据的首节点对应的起始关键帧;若所述首节点对应的时间戳小于所述起始关键帧对应的时间戳,确定所述起始关键帧的时间戳在所述优化轨迹数据中对应的时间戳对;基于所述优化轨迹数据中所述时间戳对对应的轨迹数据对所述目标特征地图数据进行插值处理,得到更新后的目标特征图数据。8.一种地图数据处理装置,其特征在于,所述装置包括:当前特征地图获取模块,用于获取包括当前关键帧的目标特征地图数据,所述目标特征地图数据包括当前关键帧对应的非共视关键帧序列和所述当前关键帧所属的当前帧序列;差异度矩阵确定模块,用于在所述当前关键帧满足回环检测条件的情况下,基于所述非共视关键帧序列和所述当前帧序列确定差异度矩阵,所述差异度矩阵用于表征所述非共视关键帧序列中各非共视关键帧和所述当前帧序列中各关键帧之间的特征差异度;回环帧确定模块,用于基于所述差异度矩阵,从所述非共视关键帧序列中确定出所述当前关键帧对应的回环帧,所述回环帧是基于所述差异度矩阵中的目标路径确定的,所述目标路径为遍历所述各非共视关键帧对应的矩阵元素且路径特征差异度最小的最短路径。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7中任意一项所述的地图数据处理方法。10.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-7中任意一项所述的地图数据处理方法。
技术总结
本公开涉及地图数据处理方法、装置、存储介质和电子设备。上述地图数据处理方法包括获取包括当前关键帧的目标特征地图数据,目标特征地图数据包括当前关键帧对应的非共视关键帧序列和当前关键帧所属的当前帧序列;在当前关键帧满足回环检测条件的情况下,基于非共视关键帧序列和当前帧序列确定差异度矩阵,差异度矩阵用于表征非共视关键帧序列中各非共视关键帧和当前帧序列中各关键帧之间的特征差异度;基于差异度矩阵,从非共视关键帧序列中确定出当前关键帧对应的回环帧,回环帧是基于差异度矩阵中的目标路径确定的。本公开可以通过构建差异度矩阵,加入了时间和空间的约束,提高了场景变化时匹配回环帧的鲁棒性和准确性。性。性。
技术研发人员:陈江秋
受保护的技术使用者:智马达(上海)机器人科技有限公司
技术研发日:2023.03.21
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
