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

全局重定位方法、装置、电子设备及存储介质与流程

2022-05-27 00:30:06 来源:中国专利 TAG:


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.图1是本技术提供的一种应用场景示意图。
37.图2为本技术一实施例提供的一种全局重定位方法的流程图。
38.图3为本技术一实施例提供的一种确定生长节点的流程图。
39.图4为本技术一实施例提供的一种生长树的结构图。
40.图5为本技术一实施例提供的一种全局重定位装置的结构示意图。
41.图6为本技术一实施例提供的一种电子设备的结构示意图。
具体实施方式
42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
44.下面结合说明书附图对本技术实施例作进一步详细描述。
45.本技术中的基本符号约定如下:关键符号:目标语义地图(map)用表示;待匹配的语义地图中的待匹配语义目标的集合(landmarks set)用表示;位姿表示中的姿态量为正交矩阵(orthogonal matrix),用表示;同时还可以表示该旋转代表的李代数;位移/平移向量(translation vector)用表示。
46.下标:如无特别说明,下标在本技术中一般用作表示个体的索引或者代号,如其中目标元素个体均用下标表示。形如表示中的元素,表示中的元素,表示由产生的。
47.上标:如无特别说明,上标在本发明中一般用作区分归属或者类别。比如,形状如的符号代表的是类别下与有关的量。
48.以上约定适用于本技术中实施例中的大部分符号表示,暂不实际指向某种意义,形式上的解释仅为方便理解,不同符号在本技术实施例中均有说明。
49.语义地图中的语义对象受光照、季节等环境因素影响的程度最低,因此鲁棒性更高。并且,语义特征包含的信息量高,分布稀疏,可以大大精简地图的信息表达,减少地图所需容量。因此,语义地图在众多地图类型中脱颖而出,更适用于大范围的定位建图任务,如高速定位导航、自主泊车等领域。
50.现有的基于语义对象的全局匹配和重定位技术往往存在着以下几个问题。
51.第一,现有的基于语义地图的重定位技术需要一定的初始位置状态作为条件。如室外高精地图的重定位,依赖于实时差分定位(real-time kinematic,rtk)/全球定位系统(global positioning system,gps)给定初始状态,然后进行局部搜索匹配,进行重定位;室内停车场的语义分割/目标级地图的重定位,则需要依赖超宽带(ultra wide band,uwb)定位技术/初始的参考停车点。
52.第二,如三角定位等使用的语义对象的信息量较少。不能涵盖类别,方向等信息。
53.第三,使用的特征数量少。往往只能采用少量帧的观测对象。
54.第四,用于匹配的语义特征的覆盖范围小。如果包含大范围的语义特征,则往往在几何约束的环节无法通过验证。
55.第五,需要描述子。常用于做聚类和相似度判断,往往和环境或者描述方式强相关,而且其描述方式需要占用额外的内存和计算资源。
56.第六,目标匹配更多的只能处理短时间的对象关联和跟踪,很难在全局层面给出关联的目标解集。
57.为了解决现有技术中的问题,本技术提出了一种全局重定位方法,旨在结构化目标地图中的语义特征,与待匹配地图中的语义特征进行匹配,并完成重定位。本发明无需给定初始状态和量化的特征描述符,能够支持大量结构化语义对象,且非完全刚性匹配。
58.本技术提供的全局重定位方法,可以应用于数据关联、智能设备的开机定位、回环检测、定位异常后的重新定位等方面。相对应的,目标语义地图可以为已经建立好的完备语义地图,待匹配语义地图可以为需要进行重定位时刻构建的语义地图。通过待匹配地图与目标语义地图进行匹配,可以重定位当前位姿。
59.图1为本技术提供的一种应用场景示意图,以上述的开机定位场景为例,说明智能设备应用本技术的方法进行重定位的过程。如图1所示的,家用智能扫地机器人101在某次清扫过程中电量耗尽关机,在充电开机后,需要重定位当前的位姿,以便于确定当前所在位置,进而重新规划清扫路线。在开机后即获取当下的一幅图像(待匹配语义地图),结合预先构建好的室内区域的地图(目标语义地图),利用本技术的全局定位方法对两幅地图中的语义目标进行匹配,以确定机器人当前的位姿。在这个场景中,室内的家具等物体可以作为地图中的语义目标。
60.通过待匹配地图与目标语义地图进行匹配重定位当前位姿的具体实现方式可以
参考以下实施例。
61.图2为本技术一实施例提供的一种全局重定位方法的流程图。本实施例的方法可以应用于需要进行重定位的智能设备(目标设备),例如无人车、无人机、以上场景中的家用智能扫地机器人等。本实施例的方法包括:s201、确定目标设备的目标语义地图和待匹配语义地图,目标语义地图中包括若干标准语义目标,待匹配语义地图中包括若干待匹配语义目标。
62.在通过特征匹配的方式对目标设备进行位姿确定时,需要有目标设备当前所在位置的语义地图(在本技术中称之为待匹配语义地图)和当前环境下相对较为标准的(能够较准确地体现真实环境的)语义地图(在本技术中称之为目标语义地图)。
63.目标设备可以通过自身配备的传感器(深度相机、激光雷达等)获取当前所在位置的语义地图信息。将周围环境中的标识或物体作为待匹配语义地图中的语义目标(在本技术中称之为待匹配语义目标)。
64.在不同应用场景中,目标语义地图的选取不尽相同。例如,在图1所描述的开机定位场景中,一般已经有构建好的目标设备所在环境的准确地图,可以直接获取以构建好的准确地图作为目标语义地图。回环检测一般应用于连续定位过程中的位姿调整,以消除误差带来的漂移;异常后重定位一般应用于定位丢失后的位姿确认。因而,在这两种场景下,重新确定位姿之前的定位过程中所获取的地图语义信息就相对较为准确,可以直接作为目标语义地图。在本技术中将目标语义地图中的语义目标称为标准语义目标。
65.在确定目标设备的目标语义地图和待匹配语义地图后,即可将两地图中的特征(语义目标)进行匹配,确定待匹配语义地图所对应的位姿。
66.以下步骤即为本技术所提供的一种进行语义目标匹配的方式。
67.s202、基于待匹配语义地图,确定基于无向完全图的最小生成树,最小生成树的节点为待匹配语义目标。
68.通过构建与待匹配语义地图对应的最小生成树,可以将待匹配语义地图中各个待匹配语义目标的特征信息转化为最小生成树的结构信息。
69.s203、基于目标语义地图构建查找树,查找树的节点为标准语义目标。
70.将目标语义地图中的各个标准语义目标作为节点,构建查找树。
71.s204、从构建的查找树中确定与最小生成树匹配的生长树。
72.在本技术中,匹配指的是各语义目标的特征信息基本一致(基本可以确定是同一目标在两个语义地图中的不同体现)。则,构建起的生长树与最小生成树相匹配,即生长树的每个节点对应的标准语义目标的特征信息与最小生成树的每个节点对应的待匹配语义目标的特征信息基本一致。
73.具体的,可以从最小生成树的根节点开始遍历,从查找树中逐一确定与之匹配的标准语义目标作为生长树的节点,构建起生长树。
74.进而,可以将两个地图中语义目标匹配的过程转化为生长树成长的过程。
75.在一些实施例中,查找树可以为k维树。k维树的结构及相关构建算法可以优化查找树的结构,在从中确定生长树时,运算次数较少,运算压力较小,进而提高各节点的搜索效率。
76.s205、根据生长树所对应的标准语义目标与最小生成树所对应的待匹配语义目标
之间的匹配关系,确定目标设备的位姿。
77.根据构建起来的生长树中各节点与最小生成树中各节点之间的对应关系,即可确定标准语义目标与待匹配语义目标的匹配关系,也即可以确定标准语义地图中的哪个标准语义目标与待匹配语义地图中的哪个待匹配语义目标匹配。
78.如此,即完成了目标语义地图和待匹配语义地图之间语义目标匹配的过程。
79.在确定标准语义目标与待匹配语义目标的匹配关系后,可以确定每一待匹配语义目标相对与其匹配的标准语义目标的位姿变化。结合标准语义目标在目标语义地图中的位姿,即可确定待匹配语义目标在待匹配语义目标地图中的位姿,也即目标设备当前的位姿。
80.本实施例提供的全局重定位方法包括:确定目标设备的目标语义地图和待匹配语义地图,目标语义地图中包括若干标准语义目标,待匹配语义地图中包括若干待匹配语义目标;基于待匹配语义地图,确定基于无向完全图的最小生成树,最小生成树的节点为待匹配语义目标;基于目标语义地图构建查找树,查找树的节点为标准语义目标;从构建的查找树中确定与最小生成树匹配的生长树;根据生长树所对应的标准语义目标与最小生成树所对应的待匹配语义目标之间的匹配关系,确定目标设备的位姿。将目标匹配的问题转换为生长树生长的问题,生长树的生长可以基于目标语义地图中的全部标准语义目标选择最佳节点,生长成为与最小生成树最佳匹配的生长树。可以基于目标语义地图中的全部语义目标进行目标匹配,真正实现全局重定位,提高了智能设备的全局定位效率。
81.在一些具体的实现方式中,上述的基于待匹配语义地图,确定基于完全图的最小生成树的方式可以包括:针对每个待匹配语义目标,将该待匹配语义目标作为节点,构建无向完全图;针对任意两个待匹配语义目标,根据该两个待匹配语义目标的平移信息,确定两个待匹配语义目标所构造的节点之间的边的权重;基于无向完全图中各边的权重,确定无向完全图的最小生成树。
82.即,将待匹配地图中的每一个待匹配语义目标作为无向完全图的节点,将两个待匹配语义目标的平移信息作为这两个待匹配语义目标对应的节点对应的边的权重。
83.其中,两个待匹配语义目标之间的平移信息可以从待匹配语义地图中获取。例如,根据两个待匹配语义目标在待匹配语义地图中的相对位置,可以确定两个待匹配语义目标对应的平移向量,作为平移信息。
84.在一些实现方式中,基于无向完全图中各边的权重,确定无向完全图的最小生成树的方式可以包括:列举无向完全图对应的全部生成树;计算每个生成树中全部边对应的权重之和,权重之和最小的生成树即确定为最小生成树。这里仅列举其中一种生成最小生成树的方法,在另一些实现方式中,也可以采用普里姆算法(primalgorithm)、克鲁斯卡尔算法(kruskalalgorithm)或其它生成树算法的变体来确定最小生成树。这里就不再一一赘述。
85.在一个具体的示例中,基于待匹配集合(待匹配语义目标的集合)的纯空间结构信息构建无向完全图。完全图中各边的权重的计算可以只利用平移信息,对应的权重函数可以参考如下公式(1):(1);
其中,表示由一对语义目标和所构造的节点之间的边的权重;、分别表示语义目标和的平移向量。
86.最后生成一个的最小带权树,该树在待匹配集合的任意完整树中权值最小,其数学表示可以参考公式(2):(2);通过构建最小生成树,可以尽可能地减少从语义地图转换为图的过程中由观测空间尺度范围引入测量误差。并且,基于最小生成树进行匹配可以规避随机匹配所导致的无序性,规避图匹配所引入的刚性要求,符合添加观测的时空特性,符合误差的累加性,能够良好地满足误差传播关系。
87.在一些实施例中,上述的从构建的查找树中确定与最小生成树匹配的生长树的方式可以包括:基于最小生成树中每个树枝对应的生存法则,构建生存法则树;基于生存法则树,从构建的查找树中确定生长树,生长树满足生存法则树所代表的生存法则。
88.可以将最小生成树所代表的待匹配语义地图中的各个待匹配语义目标的特征信息作为约束条件(生存法则),构建生存法则树。基于生存法则树所代表的生存法则,可以指导生长树的构建,并最终构建出完全符合生存法则树的生长树。如果目标语义地图和待匹配语义地图没有歧义,则最终会从查找树中构建出一棵完全符合生存法则树的生长树。
89.在一些实施例中,上面所说的每个树枝对应的生存法则包括:每个树枝对应的生存法则包括:每个树枝对应的节点对的相对位姿、预估误差方差;相对应的,上述的基于最小生成树中每个树枝对应的生存法则,构建生存法则树,包括:针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的相对位姿;针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的预估误差方差;将最小生成树中的每一个树枝的位置与该树枝对应的节点对的相对位姿、预估误差方差,生成该树枝对应的生存法则;根据最小生成树中每一个树枝对应的生存法则,确定生存法则树。
90.将最小生成树中每个树枝对应的生存法则对应到该树枝上,即可生成对应于该最小生成树的生存法则树。每个树枝对应的生存法则实际包括这个树枝对应的两个节点的特征信息。在一些实施例中,两个节点的特征信息可以通过两个节点之间的相对位姿和两个节点之间的预估误差方差表示。其中,两个节点之间的相对位姿可以通过两个节点的相对位置进行计算确定;两个节点之间的预估误差方差是指两个节点所对应的语义目标的预估定位误差的方差关系,可以根据目标设备的定位系统的误差来进行估计。
91.在一些场景中,待匹配语义地图和目标语义地图中同时还存在各个语义目标的属性特征。在这种场景中,每个树枝对应的生存法则还可以包括:每个节点的属性特征。相对应的,上述的基于最小生成树中每个树枝对应的生存法则,构建生存法则树,还可以包括:确定最小生成树中的每一个树枝对应的每个节点的属性特征;将最小生成树中的每一个树枝的位置与该树枝对应的节点对的相对位姿、预估误差方差、每个节点的属性特征,生成该树枝对应的生存法则。
92.其中,语义目标的属性特征可以包括但不限于目标的大小、形状、类别、颜色等。对应的具体属性可以称之为属性特征值,例如颜色为黄色,形状为正方体等。
93.可以理解的是,应用的特征信息越多,生存法则的约束条件越细致,在基于生存法则树,从构建的查找树中确定生长树时,处理效率会更高,正确率也会越高。
94.具体的,上述的针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的预估误差方差,可以包括:确定目标设备对应的观测误差、距离误差;针对最小生成树中的每一个树枝对应的节点对,确定节点对所对应的待匹配目标之间的距离;根据观测误差、距离误差、节点对所对应的距离,确定该节点对所对应的预估误差方差。
95.由于目标设备自身配备的传感器和处理算法本身存在一定误差,目标设备利用传感器采集的信息生成语义地图时也会使地图中每个语义目标的位置信息存在误差。本技术中将这种误差称之为观测误差。另外,目标设备随着运行距离的增长,误差累积,也会造成定位结果的误差。本技术中将这种误差称之为距离误差。通过对目标设备历史的定位数据进行分析,可以对观测误差和距离误差进行评估。评估出的观测误差和距离误差可以很好地对语义地图中每个语义目标的定位误差进行预估,这就是预估误差。本实施例就是利用两个语义目标的预估误差之间的方差(预估误差方差)作为两个语义目标对应的树枝的其中一个生长规则。
96.在一种实现方式中,可以利用公式(3)进行预估误差方差的计算。本实现方式中的预估误差可用于计算平移误差和旋转误差。该公式描述了两个匹配目标间的预估误差方差的计算方法,代表的是两目标误差间的方差水平。
97.(3);其中,为两个匹配目标之间的预估误差方差;为两个匹配目标之间的距离,单位为m;为系统本身随着运行距离而产生的不确定度(距离误差);为固有的观测误差(观测误差),可以通过评估系统本身传感器精度和计算误差得出。
98.距离误差可以根据目标设备本身的误差传播特性得出,在一种实现方式中,旋转和平移组成的。观测误差可以根据目标设备本身传感器精度和计算误差得出,在一种实现方式中,观测误差为。
99.本实施例的方案可以对平移量和旋转量上的误差采用分别计算、分别对比的方法。在其它实现方式中也可以采用结合计算对比的方法。
100.对应于上述在后描述的具有属性特征的场景,生存法则树的构建过程可以参考下述内容。
101.遍历最小生成树中的每一对节点,计算和,计算方法可以参考公式(4):(4);
遍历最小生成树的每一对节点,采用上述的公式(3)计算除树根节点以外每一个节点与之前一节点的预估误差方差的理论水平。
102.记录每个节点对应的属性特征。
103.将每一对节点对应的生长规则,,,与最小生成树的树枝进行对应,形成树枝的一条生存法则。再结合索引号,形成每个树枝的成长规则,从而构建法则树。在一些实施例中,还可以为每一条生存法则设置松弛变量,以适当扩大生存法则所限定的范围,避免正确的匹配结果因为误差过大而被判定为不符合生存法则。
104.依据最小生成树,从树根开始,逐个树枝构造生存法则,最后形成生存法则树。所以每添加一对节点组成的树枝都必须满足,法则树中已经存在的树枝必须包含新构建树枝的一个节点。可以按照公式(5)对齐并构造完整的生存法则树:(5);其中,表示生存法则树;表示树中包含由节点编号集合组成的树枝;符号
‘’
表示用其右端更新左端。
105.至此即可完成生存法则树的构造。
106.在一些实施例中,上述的基于生存法则树,从构建的查找树中确定生长树,生长树满足生存法则树所代表的生存法则的方式,包括:从最小生成树中选取一个节点作为树根节点;从目标语义地图中选取与树根节点的属性特征相同的至少一个标准语义目标作为生长树的种子;从树根节点开始,向上遍历最小生成树的每一个节点;针对最小生成树的每一个节点,执行如下步骤:确定节点对应的待生长树枝和与节点构成待生长树枝的树枝节点;依据生存法则树,从查找树中查找与树枝节点匹配的标准语义目标作为生长树的生长节点。遍历最小生成树后,根据种子和对应的生长节点确定生长树。
107.在一些实现方式中,可以从最小生成树中随机选取一个节点作为树根节点。确定树根节点后,根据树根节点的属性特征,可以从查找树中确定与之匹配的节点作为生长树的种子。种子可能为一个或多个。基于每个种子可以生成生长树。
108.从目标语义地图中选取种子。具体的方式可以为,遍历目标语义地图中所有元素,找出与树根节点的所属类别完全一致的语义目标作为森林所需的种子seeds,用花体表示种子的集合,可以利用公式(6)表示:(6);
其中,表示所对应的种子。
109.本实施例的实现流程可以参考图3。从树根节点开始,遍历最小生成树的每一个节点。在遍历到最小生成树的每一个节点时,都先根据生长方向确定该节点对应的待生长树枝,将待生长树枝上的另一个节点称为树枝节点。树枝节点就对应于生长树上下一个要生长出来的生长节点。从目标语义地图对应的查找树中查找到与树枝节点匹配的标准语义目标作为生长树的下一个生长节点。如果该节点上不存在与生长方向一致的树枝,就继续遍历下一个节点。如果该节点对应的待生长树枝有多条,则逐个查找与各个树枝节点对应的生长节点。在遍历完最小生成树后,也就确定了生长树上基于种子生长起来的每一个生长节点,完成了生长树的生长。
110.为了便于理解,参照图4进行进一步说明。图4中a为最小生成树,b为生长树。a中有三个节a1、a2、a3,其中a1被确定为树根节点。b中b1为根据a1查找出来的其中一个种子。预先确定的遍历方向如a中虚线箭头所示。生长树b的生长过程如下:开始,基于a1节点对应的两个树枝节点a2、a3,从查找树中查找到与之匹配的b2、b3,作为b中的两个新的生长节点。向下遍历到a2,a2没有对应的待生长树枝,移动到下一个节点a3,a3是最小生成树的最后一个节点,结束。完成遍历过程。b生长完成。
111.在另一些实现方式中,为了提高查找树的生成效率,也可以选取最小生成树中的特殊节点作为根节点。其中一种实现方式中,上述的从最小生成树中选取一个节点作为树根节点,包括:针对最小生成树中的每一个节点,确定该节点的属性特征;针对节点的每一属性特征,确定最小生成树中与该节点的该属性特征值相同的节点对应的第一数量;针对节点的每一属性特征,确定目标语义地图中与该节点的该属性特征值相同的标准语义目标对应的第二数量;根据节点的每一属性特征对应的第一数量、第二数量,确定该节点的特殊性得分;选取特殊性得分最高的节点,作为树根节点。即根据各个语义目标的属性特征值在目标语义地图和待匹配语义地图中的分布情况,从最小生成树的节点中确定一个树根节点。
112.其中,特殊性得分可以为与第一数量和第二数量负相关的值。例如特殊性得分与全部第一数量和全部第二数量的和负相关。这样,当某一节点的各个属性特征值在最小目标语义地图和待匹配语义地图中的重复性都较低时,其特殊性得分越高,这个节点越特殊。因与其属性特征值相同的语义目标数量较少,则寻找其匹配的语义目标时的难度越低,匹配的效率就越高,生长过程速度功更快。
113.在一种具体的实现方式中,第一数量、第二数量可以通过归一化直方图来体现。具体的,针对任一个待匹配语义目标的任一属性特征,确定该属性特征在第一归一化直方图中对应的数量信息、该属性特征在第二归一化直方图中对应的数量信息;针对任一个待匹配语义目标,基于该待匹配语义目标的每一属性特征在第一归一化直方图中对应的数量信息、每一属性特征在第二归一化直方图中对应的数量信息,确定该待匹配语义目标的特殊性得分。
114.其中,针对任一个待匹配语义目标,根据待匹配语义目标的属性特征、第一归一化直方图、第二归一化直方图,确定待匹配语义目标的特殊性得分,包括:针对任一个待匹配语义目标的任一属性特征,确定属性特征在第一归一化直方图中对应的数量信息、属性特征在第二归一化直方图中对应的数量信息;针对任一个待匹配语义目标,基于待匹配语义
目标的每一属性特征在第一归一化直方图中对应的数量信息、每一属性特征在第二归一化直方图中对应的数量信息,确定待匹配语义目标的特殊性得分。
115.在一些实现方式中,树根的选取过程如下。
116.计算目标语义地图中的类别-数量(catogory-count)的归一化直方图(histogram),用表示,表示抽象属性中的归属对应的直方图值。在不更换目标地图的情况下,本步骤(目标语义地图相关直方图的计算过程)只需要计算一轮,计算方法可以参考公式(7)(8)(9):(7);(8);(9);其中,算子为对象在类别中的归属;

==’为同类匹配判断,类型相同则为1,类型不同则为0;表示在中归属的值,表示在直方图中,最高归属的值,也就是向量的最大值;表示由下标遍历的中的对象;表示属性特征,不失一般性为中的一个抽象属性,为中对应某个抽象属性的不同区分(例如,将颜色定义为,颜色归属分红色、绿色、蓝色分别对应)。
117.计算待匹配地图中的类别-数量(catogory-count)的归一化直方图(histogram)。和的计算方式同公式(8)(9),的计算只需要改变对象的来源,如公式(10):(10)。
118.定义特殊性得分,并用花体英文字母表示。计算待匹配集合中所有对象的得分,如公式(11)所示:(11)。
119.其中,为中目标所属的所有类别的特殊性得分;为自然常数;为m的属性在的归一化直方图中的值;为m的属性在的归一化直方图中的值。
120.选择特殊性得分最高的语义对象,用来代表作为最小生成树的树根(root),则满足公式(12):
(12);其中代表中所有对象的特殊性得分向量。
121.在本实施例中,特殊性得分的计算综合考虑了待匹配对象和目标地图中的所有语义对象。因此,所选取的树根是待匹配语义地图中最可能在目标地图中匹配到语义目标的语义目标。当然,在其它实现方式中,还可以在本得分的计算中考虑使用加权和,或者其它统计思想。
122.在一些实施例中,上述的依据生存法则树,从查找树中查找与树枝节点匹配的标准语义目标作为生长树的生长节点的方式可以包括:计算最小生成树的外接立方体;计算树根节点到立方体各顶点的距离;将树根节点到立方体各顶点的距离中的最大距离作为搜索半径;针对每一个种子,基于搜索半径,从查找树中确定对应的子查找树;针对最小生成树的每一个节点,依据节点对应的生存法则,从每个子查找树中查找与节点匹配的标准语义目标作为生长树的生长节点。
123.在每个种子所对应的一定范围内构建查找树的子查找树,这样可以从一定程度上缩小查找范围,提高查找效率。其中,这个范围(搜索半径)可以根据最小生成树的范围来确定。只要保证子查找树的范围不小于最小生成树的范围,即可保证子查找树内的节点足够用于生长树的生长。
124.子查找树的范围的其中一种确定方式就是,根据最小生成树的外接正方体确定最小生成树的范围,作为搜索半径。
125.计算最小生成树的外接立方体(有向包围盒(orientedboundingbox,obb),利用规则的包围盒代替不规则的最小生成树本身进行计算,会更加高效和简单。
126.计算树根到立方体顶点(8个顶点)的距离,取其中的最大距离作为搜索半径,可以参考公式(13):(13);其中,表示所代表的点;表示最小生成树的外接立方体的每个顶点;为树根。
127.构建目标语义地图的k维树(kdtree),并结合作为搜索半径,为每一个种子构建满足搜索半径范围大小的子kdtree(查找树),用表示。
128.其中,小写字母表示的是子kdtree的数量;且,其中在上文中已做出说明,这里强调其为目标语义地图。
129.从这里可以看出,与树根节点的属性特征一致的种子可能有多个,有多少个种子就可以生成多少棵生长树,众多生长树构成森林,因此,本技术中生长树的成长也可以视为森林成长。
130.上述实施例中,依据生存法则树,从查找树中查找与树枝节点匹配的标准语义目标作为生长树的生长节点,具体可以包括:针对每一个种子对应的子查找树,执行如下步骤:从生存法则树中,确定待生长树枝的生存法则;确定子查找树中的当前节点;在子查找树中,查找位于查找树的当前节点的搜索半径内的节点,作为第一候选节点集合;根据待生长树枝的生存法则,从第一候选节点集合中确定最终候选节点;将最终候选节点作为生长树的生长节点;若未确定出最终候选节点,则将种子对应的生长树删除。
131.对应于上述图4的场景进行说明。例如当前在查找与a2对应的生长节点,以种子b1对应的生长节点的确定过程为例。首先从生存法则树中确定树枝a1a2的生存法则。因为当前遍历到a中的a1节点,且要对树枝a1a2进行生长,所以可以确定子查找树中的当前节点就是生长树b中的最新生长节点b1。从子查找树中查找位于b1的搜索半径内的节点,作为第一候选节点集合。从集合中确定符合树枝a1a2的生存法则的节点作为最终候选节点,也即最新的生长节点b2。
132.当然,因为种子b1未必是a1的匹配目标,所以很可能在第一候选节点集合中查找不到符合树枝a1a2的生存法则的节点,这样就说明b并非与a相匹配的生长树,可以将此树删除。在后续继续生长的过程中就不再对b进行相应的生长处理,减少计算量。
133.其中,从生存法则树中,确定待生长树枝的生存法则的具体方式可以包括:从生存法则树中,确定待生长树枝对应的节点对的相对位姿、预估误差方差。相对应的,根据待生长树枝的生存法则,从第一候选节点集合中确定最终候选节点,包括:针对第一候选节点集合中的每一节点,确定节点与子查找树的当前节点的相对位姿;根据节点与子查找树的当前节点的相对位姿、待生长树枝对应的节点对的相对位姿、预估误差方差,确定节点是否与树枝节点匹配;若节点与树枝节点匹配,则确定节点为最终候选节点。
134.候选节点与生成树中的当前节点构成的树枝,这里称之为候选树枝。本实施例的方案就是通过比较最小生成树中待生长树枝所代表的位姿关系与各个生长树中的各个候选树枝的位姿关系,来确定待生长树枝与各个候选树枝是否匹配,进而确定树枝节点与各个候选节点是否匹配。
135.具体的,可以通过如下方式确定是否匹配。根据节点与子查找树的当前节点的相对位姿,确定失配误差;根据失配误差,确定实际误差方差;根据实际误差方差、预估误差方差,结合卡方检验,确定节点是否与树枝节点匹配。
136.即根据目标语义地图中两个目标之间的实际误差方差,与目标设备的预估误差方差进行卡方检验,验证其差距是否在预设范围内。如果差距在预设范围内,则可以确定目标语义地图中两个目标与待匹配语义地图中的两个目标是匹配的。本方案所基于的原理是,如果目标语义地图中的两个目标与待匹配语义地图中的两个目标是匹配的,那么,这两个目标在两张语义地图之间的误差方差必定会遵循预估误差方差的规律。
137.在一个具体的实现中,假设目标都表示在各自集合中的某一固定坐标系下,则目标之间的实际误差方差计算如公式(14):(14);
其中,代表的是相对位姿中的某个量,可以是位移量,也可以是姿态量;表示地图中语义目标之间的一个相对位姿关系的量化表示;表示集合中语义目标之间的一个相对位姿关系的逆元,也可以用表示,二者无歧义,是对中对象的一个猜测关联;二元运算
‘’
表示的是该变量所处代数系统中定义的加法运算;代表的是集合中语义目标和中语义目标的失配误差,是和二者的一种差异度量方式;为由失配误差所计算得到的实际误差方差。
138.卡方检验为单尾检验,其显著性水平指h0假设为真的情况下拒绝h0假设所要承担的风险水平,又叫概率水平。显著性水平一般选择0.05或者0.01,表示在拒绝域中有95%或者99%的概率是h1,因此这种情况下处于拒绝域则排除h0,将导致卡方一般偏向于h0假设。
139.在本发明的实施过程中与之相反,不偏向h0而是偏向h1。使得h0假设为真的情况下接受h0假设要承担很低的风险水平,因此本方案的卡方检验以误差均值作为假设值,以

二者相关’作为h0,且选择左尾检验,即显著性水平。
140.本实施例中,语义目标为平面语义目标,其姿态在分开表示的情况下,平移量为2自由度,姿态量为1自由度。经过查卡方分布表可得不同自由度下的拒绝域。在0.9的显著性水平下,和的检验对应的临界值分别为0.211和0.016,如下所示:(15)。
141.用松弛变量系数,来设置假设检验的线性缓冲区,以对抗其他来源不明的误差,本实施例中采用作为松弛变量系数。
142.之间的(chi-square)大小可以用公式(16)的计算方法来近似,它代表的是实际误差方差和预估误差方差的差值(而不是估计同一分布):)(16)。
143.本实施例是针对无属性特征信息的场景下的确定方式,有属性特征信息的场景下的确定方式可以参考下一实施例。
144.有属性特征信息的场景下,可以从生存法则树中,确定待生长树枝对应的节点对的相对位姿、预估误差方差、树枝节点的属性特征。相对应的,上述根据待生长树枝的生存法则,从第一候选节点集合中确定最终候选节点,包括:针对第一候选节点集合中的每一节点,确定节点的属性特征和树枝节点的属性特征是否相同;若节点的属性特征和树枝节点的属性特征不同,则将节点从第一候选节点集合中删除,得到第二候选节点集合;针对第二候选节点集合中的每一节点,确定节点与子查找树的当前节点的相对位姿;根据节点与子
查找树的当前节点的相对位姿、待生长树枝对应的节点对的相对位姿、预估误差方差,确定节点是否与树枝节点匹配;若节点与树枝节点匹配,则确定节点为最终候选节点。
145.在本实施例场景中,由于属性特征的加入,可以对第一候选节点集合进行初步筛选,可以极大地简化处理过程,提高处理效率。
146.在一个具体的实施例中,森林成长的过程如下。
147.遍历生存法则树和每个以种子形成的子查找树,从种子开始成长。每一个种子的目标都是逐步开枝散叶,成长为一棵满足生存法则的树,以代表该种子长成的成长树。
148.成长步骤如下:开始:从生存法则树中第一个节点(树根节点)开始,每一次循环用表示当前节点;找到与之对应形成树枝的节点(树枝节点),用表示,即,并获取其所有规则{,,,}。
149.第一级候选节点集:用表示成长树中的当前节点,从中查到所有与当前节点满足以为半径的节点,用表示,。其中表示的是与对应的候选节点集合。
150.第二级候选节点集:对于集合中的所有节点,按照类别进行排除,使用能够满足公式(17)的节点更新集合,则集合进化为第二级候选节点集合。
151.(17)。
152.最终候选节点:对于集合中的所有剩余节点,利用公式(15)计算并保留结果,根据上述查表得到的临界值,满足公式(18)的成为最终候选节点。
153.(18)。
154.至此,对于一个真实的物理空间和一个完备地图,最终候选点往往只有一个,如果出现极端情况也就是出现多个通过chi-square检验(理论上不存在,除非地图有歧义),则根据值排序,选择最小的作为最终候选节点。
155.杀死所有未通过生存法则检验的树,并更新森林,如公式(19):
(19)。
156.循环成长步骤,最后存活的n棵树均为待匹配地图与目标地图的交。最终,展开中每棵存活的树,则每棵树都可得到表示为有个元素的匹配解集。
157.如果有,则无解。如果有,则有多个解集,但其中必然有正确解。可选择分别求解。
158.对于获取到的匹配解集,按照生存法则的节点以为对应关系进行还原,得到待匹配地图与目标地图中,语义目标的一一对应关系。
159.随后,构造优化问题即可求解由该树决定的地图之间的位姿关系,可以利用公式(20)进行求解:(20)。
160.求解方法还可以利用icp等其它算法。
161.对于由于临时地图推算的累计误差所导致的拥有大范围变形的地图,可只取树中n个最新的对应匹配作为最接近真实的语义观测目标,舍弃时间或距离过于久远的节点,仍按照公式(20)构建问题并求解,即可得与递推误差几乎无关的位姿。
162.理论上的语义观测目标要求为至少1个,且对应精度下需求观测的数量与系统的误差水平相关。在6dof情况下,若需要舍弃姿态信息而获得加速求解的效果,则至少需要3个不共线目标,在舍弃语义目标姿态信息的情况下,问题变为公式(21):(21)。
163.图5为本技术一实施例提供的一种全局重定位装置的结构示意图,如图5所示的,本实施例的全局重定位装置500包括:语义目标确定模块501、最小生成树确定模块502、查找树确定模块503、生长树确定模块504、位姿确定模块505。
164.语义目标确定模块501,用于确定目标设备的目标语义地图和待匹配语义地图,目标语义地图中包括若干标准语义目标,待匹配语义地图中包括若干待匹配语义目标;最小生成树确定模块502,用于基于待匹配语义地图,确定基于无向完全图的最小生成树,最小生成树的节点为待匹配语义目标;查找树确定模块503,用于基于目标语义地图构建查找树,查找树的节点为标准语义目标;生长树确定模块504,用于从构建的查找树中确定与最小生成树匹配的生长树;位姿确定模块505,用于根据生长树所对应的标准语义目标与最小生成树所对应的待匹配语义目标之间的匹配关系,确定目标设备的位姿。
165.可选的,最小生成树确定模块502,具体用于:针对每个待匹配语义目标,将待匹配语义目标作为节点,构建无向完全图;针对任意两个待匹配语义目标,根据两个待匹配语义目标的平移信息,确定两个待匹配语义目标所构造的节点之间的边的权重;基于无向完全图中各边的权重,确定无向完全图的最小生成树。
166.可选的,生长树确定模块504,具体用于:基于最小生成树中每个树枝对应的生存法则,构建生存法则树;基于生存法则树,从构建的查找树中确定生长树,生长树满足生存法则树所代表的生存法则。
167.可选的,每个树枝对应的生存法则包括:每个树枝对应的节点对的相对位姿、预估误差方差;生长树确定模块504在基于最小生成树中每个树枝对应的生存法则,构建生存法则树时,具体用于:针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的相对位姿;针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的预估误差方差;将最小生成树中的每一个树枝的位置与该树枝对应的节点对的相对位姿、预估误差方差,生成该树枝对应的生存法则;根据最小生成树中每一个树枝对应的生存法则,确定生存法则树。
168.可选的,每个树枝对应的生存法则还包括:每个节点的属性特征;生长树确定模块504在基于最小生成树中每个树枝对应的生存法则,构建生存法则树时,具体用于:针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的相对位姿;针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的预估误差方差;确定最小生成树中的每一个树枝对应的每个节点的属性特征;将最小生成树中的每一个树枝的位置与该树枝对应的节点对的相对位姿、预估误差方差、每个节点的属性特征,生成该树枝对应的生存法则;根据最小生成树中每一个树枝对应的生存法则,确定生存法则树。
169.可选的,生长树确定模块504在针对最小生成树中的每一个树枝对应的节点对,计算该节点对所对应的预估误差方差时,具体用于:确定目标设备对应的观测误差、距离误差;针对最小生成树中的每一个树枝对应的节点对,确定节点对所对应的待匹配目标之间的距离;根据观测误差、距离误差、节点对所对应的距离,确定该节点对所对应的预估误差方差。
170.可选的,生长树确定模块504在基于生存法则树,从构建的查找树中确定生长树,
生长树满足生存法则树所代表的生存法则时,具体用于:从最小生成树中选取一个节点作为树根节点;从目标语义地图中选取与树根节点的属性特征相同的至少一个标准语义目标作为生长树的种子;从树根节点开始,向上遍历最小生成树的每一个节点;针对最小生成树的每一个节点,执行如下步骤:确定节点对应的待生长树枝和与节点构成待生长树枝的树枝节点;依据生存法则树,从查找树中查找与树枝节点匹配的标准语义目标作为生长树的生长节点;遍历最小生成树后,根据种子和对应的生长节点确定生长树。
171.可选的,生长树确定模块504在从最小生成树中选取一个节点作为树根节点时,具体用于:针对最小生成树中的每一个节点,确定节点的属性特征;针对节点的每一属性特征,确定最小生成树中与节点的属性特征值相同的节点对应的第一数量;针对节点的每一属性特征,确定目标语义地图中与节点的属性特征值相同的标准语义目标对应的第二数量;根据节点的每一属性特征对应的第一数量和第二数量,确定节点的特殊性得分;选取特殊性得分最高的节点,作为树根节点。
172.可选的,生长树确定模块504在依据生存法则树,从查找树中查找与树枝节点匹配的标准语义目标作为生长树的生长节点时,具体用于:计算最小生成树的外接立方体;计算树根节点到立方体各顶点的距离;将树根节点到立方体各顶点的距离中的最大距离作为搜索半径;针对每一个种子,基于搜索半径,从查找树中确定对应的子查找树;针对最小生成树的每一个节点,依据节点对应的生存法则,从每个子查找树中查找与节点匹配的标准语义目标作为生长树的生长节点。
173.可选的,生长树确定模块504在依据生存法则树,从查找树中查找与树枝节点匹配的标准语义目标作为生长树的生长节点时,具体用于:针对每一个种子对应的子查找树,执行如下步骤:从生存法则树中,确定待生长树枝的生存法则;确定子查找树中的当前节点;在子查找树中,查找位于查找树的当前节点的搜索半径内的节点,作为第一候选节点集合;根据待生长树枝的生存法则,从第一候选节点集合中确定最终候选节点;将最终候选节点作为生长树的生长节点;若未确定出最终候选节点,则将种子对应的生长树删除。
174.可选的,生长树确定模块504在从生存法则树中,确定待生长树枝的生存法则时,具体用于:
从生存法则树中,确定待生长树枝对应的节点对的相对位姿、预估误差方差;生长树确定模块504在根据待生长树枝的生存法则,从第一候选节点集合中确定最终候选节点时,具体用于:针对第一候选节点集合中的每一节点,确定节点与子查找树的当前节点的相对位姿;根据节点与子查找树的当前节点的相对位姿、待生长树枝对应的节点对的相对位姿、预估误差方差,确定节点是否与树枝节点匹配;若节点与树枝节点匹配,则确定节点为最终候选节点。
175.可选的,生长树确定模块504在从生存法则树中,确定待生长树枝的生存法则时,具体用于:从生存法则树中,确定待生长树枝对应的节点对的相对位姿、预估误差方差、树枝节点的属性特征;生长树确定模块504在根据待生长树枝的生存法则,从第一候选节点集合中确定最终候选节点时,具体用于:针对第一候选节点集合中的每一节点,确定节点的属性特征和树枝节点的属性特征是否相同;若节点的属性特征和树枝节点的属性特征不同,则将节点从第一候选节点集合中删除,得到第二候选节点集合;针对第二候选节点集合中的每一节点,确定节点与子查找树的当前节点的相对位姿;根据节点与子查找树的当前节点的相对位姿、待生长树枝对应的节点对的相对位姿、预估误差方差,确定节点是否与树枝节点匹配;若节点与树枝节点匹配,则确定节点为最终候选节点。
176.可选的,生长树确定模块504在根据节点与子查找树的当前节点的相对位姿、待生长树枝对应的节点对的相对位姿、预估误差方差,确定节点是否与树枝节点匹配时,具体用于:根据节点与子查找树的当前节点的相对位姿,确定失配误差;根据失配误差,确定实际误差方差;根据实际误差方差、预估误差方差,结合卡方检验,确定节点是否与树枝节点匹配。
177.本实施例的装置,可以用于执行上述任一实施例的方法,其实现原理和技术效果类似,此处不再赘述。
178.图6为本技术一实施例提供的一种电子设备的结构示意图,如图6所示,本实施例的电子设备600可以包括:存储器601和处理器602。
179.存储器601上存储有能够被处理器602加载并执行上述实施例中方法的计算机程序。
180.其中,处理器602和存储器601相连,如通过总线相连。
181.可选地,电子设备600还可以包括收发器。需要说明的是,实际应用中收发器不限于一个,该电子设备600的结构并不构成对本技术实施例的限定。
182.处理器602可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器602也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
183.总线可包括一通路,在上述组件之间传送信息。总线可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
184.存储器601可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
185.存储器601用于存储执行本技术方案的应用程序代码,并由处理器602来控制执行。处理器602用于执行存储器601中存储的应用程序代码,以实现前述方法实施例所示的内容。
186.其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。还可以为服务器等。图6示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
187.本实施例的电子设备,可以用于执行上述任一实施例的方法,其实现原理和技术效果类似,此处不再赘述。
188.本技术还提供一种计算机可读存储介质,存储有能够被处理器加载并执行如上实施例中的方法的计算机程序。
189.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

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

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

相关文献