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

点云地图的回环检测方法、装置、介质及电子设备与流程

2021-10-29 19:59:00 来源:中国专利 TAG:地图 回环 电子设备 介质 检测方法


1.本技术涉及地图构建技术领域,具体而言,涉及一种点云地图的回环检测方法、装置、介质及电子设备。


背景技术:

2.随着计算机技术的快速发展,同步定位与建图(simultaneous localization and mapping,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.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
31.图2示出了根据本技术的一个实施例的点云地图的回环检测方法的流程示意图。
32.图3示出了根据本技术的一个实施例的图2的点云地图的回环检测方法中步骤s230的流程示意图。
33.图4示出了根据本技术的一个实施例的图3的点云地图的回环检测方法中步骤s320的流程示意图。
34.图5示出了本技术的另一个实施例的图3的点云地图的回环检测方法中步骤s320的流程示意图。
35.图6示出了根据本技术的一个实施例的图3的点云地图的回环检测方法中步骤s330的流程示意图。
36.图7示出了根据本技术的一个实施例的图2的点云地图的回环检测方法中步骤s240的流程示意图。
37.图8示出了根据本技术的一个实施例的图7的点云地图的回环检测方法中步骤s720的流程示意图。
38.图9示出了根据本技术的一个实施例的点云地图的回环检测方法还包括的对匹配度进行减分处理的流程示意图。
39.图10示出了根据本技术的一个实施例的点云地图的回环检测方法中还包括的确定搜索范围的流程示意图。
40.图11a和图11b示出了根据本技术的一个实施例的点云地图的回环检测方法中搜索范围的计算示意图。
41.图12示出了根据本技术的一个实施例的点云地图的回环检测方法的流程框图。
42.图13示出了根据本技术的一个实施例的点云地图的回环检测结果的输出示意图。
43.图14示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
44.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
45.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
46.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
47.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
48.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
49.如图1所示,系统架构可以包括车载终端110、网络120以及服务器130,网络120用以在车载终端110余服务器130之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
50.应该理解的,图1中的车载终端110、网络120以及服务器130的数目仅仅是示意性的。根据实现需要,可以具有任意数目的车载终端110、网络120以及服务器130。比如服务器
130可以是由多个服务器组成的服务器集群等。
51.在本技术一示例性实施例中,该车载终端110可以配置有高精度的激光雷达,车载终端110可以根据激光雷达所反馈的数据进行处理,从而得到当前所在环境的点云地图。车载终端110可以将处理得到的点云地图通过网络120向服务器130进行发送。
52.服务器130可以获取目标对象构建的历史点云地图,该历史点云地图包括至少一个子地图,根据目标对象的当前位置信息以及子地图的位置信息,若在当前位置信息的搜索范围内存在至少一个子地图,将该子地图识别为待检测子地图,并根据目标对象的当前点云地图以及待检测子地图,确定当前点云地图与待检测子地图之间的匹配度,若连续的匹配度大于或等于第一阈值的待检测子地图的数量达到第一预定数量,则确定回环检测成功。
53.需要说明的是,本技术实施例所提供的点云地图的回环检测方法一般由服务器130执行,相应地,点云地图的回环检测装置一般设置于服务器130中。但是,在本技术的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本技术实施例所提供的点云地图的回环检测方法的方案,该终端设备可以包括智能手机、平板电脑、便携式电脑或者台式计算机中的一种或多种。
54.以下对本技术实施例的技术方案的实现细节进行详细阐述:
55.图2示出了根据本技术的一个实施例的点云地图的回环检测方法的流程示意图。参照图2所示,该点云地图的回环检测方法至少包括步骤s210至步骤s240,详细介绍如下:
56.在步骤s210中,获取目标对象构建的历史点云地图,所述点云地图包括至少一个子地图。
57.其中,目标对象可以是用于采集激光雷达数据以构建点云地图的设备,其可以是检测车辆或者移动机器人等具有激光雷达探测以及地图构建功能的检测设备。
58.历史点云地图可以是目标对象在先构建的点云地图,在目标对象的移动过程中,可以通过所配置的激光雷达设备获取目标对象所在环境的点云数据以形成点云地图。根据目标对象的移动距离,可以将点云地图划分成至少一个子地图,例如目标对象可以每移动50米,形成一个子地图,或者每移动100米,形成一个子地图,等等。以上数字仅为示例性举例,本技术对此不作特殊限定。
59.应该理解的,本技术所述的至少一个,可以是一个也可以是一个以上的任意数量,例如两个、三个等等。因此,历史点云地图可以包括一个子地图也可以包括多个子地图,例如两个、三个等等。
60.在本技术一示例性实施例中,车载终端可以实时将所构建的点云地图向服务器进行发送,服务器可以将所接收到的点云地图进行存储,以备后续查看或者回环检测。服务器可以从自身的存储位置中获取目标对象所构建的历史点云地图,该历史点云地图中可以包括至少一个子地图。
61.在本技术另一示例性实施例中,服务器可以向车载终端发送历史点云地图的获取请求,车载终端根据该获取请求,将在先构建的历史点云地图向服务器进行发送,以供服务器进行获取。
62.在步骤s220中,根据所述目标对象的当前位置信息以及所述子地图的位置信息,若在所述当前位置信息的搜索范围内存在至少一个所述子地图,将所述子地图识别为待检
测子地图。
63.其中,搜索范围可以是预先设定、用以限定对历史点云地图的匹配范围的信息。在一示例中,搜索范围可以用搜索半径进行表示,例如搜索范围可以是半径为25m的圆形范围,等等。
64.目标对象的当前位置信息可以是其所处位置的坐标信息,在一示例中,该当前位置信息可以由目标对象所配置的雷达里程计进行提供。
65.子地图的位置信息可以是子地图所包含的点的坐标信息,应该理解的,根据各子地图包含的点的坐标信息,可以确定该子地图的范围。在一示例中,可以根据子地图所包含的点的坐标信息进行取平均值,从而确定该子地图的中心点位置,以根据该中心点位置确定该子地图的位置信息。
66.在本技术一示例性实施例中,服务器可以根据目标对象的当前位置信息以及子地图的位置信息,以目标对象的当前位置信息为中心,在该搜索范围内搜索是否存在子地图。具体地,服务器在搜索时,可以根据目标对象的当前位置信息以及搜索范围,确定该搜索范围所对应的坐标范围。由此,可以将该坐标范围与各子地图所包含的点的坐标信息进行比对,确定各子地图所包含的点的坐标信息是否处于该坐标范围内,从而确定待检测子地图。
67.在一示例中,判断在当前的位置信息的搜索范围内是否存在子地图,可以是检测在该搜索范围内是否存在子地图所包含的点,若在该搜索范围内存在至少一个该子地图所包含的点,则将该子地图识别为待检测子地图。
68.在另一示例中,判断在当前位置信息的搜索范围内是否存在子地图,可以是检测在该搜索范围内是否包括子地图包含的所有的点,若某一子地图所包含的点全部处于该搜索范围内,则将该子地图识别为待检测子地图。
69.又一示例中,判断在当前位置信息的搜索范围内是否存在子地图,还可以是检测某一子地图位于该搜索范围内的点的数量是否达到该子地图所包含的点的预定比例,例如预定比例为80%,则该子地图位于该搜索范围内的点的数量应占该子地图包含的所有的点的数量的80%及以上,才将该子地图识别为待检测子地图。本领域技术人员可以根据实际实现需要,选择对应的搜索方式,本技术对此不作特殊限定。
70.需要说明的,若在当前位置信息的搜索范围内存在多个子地图,即两个或者两个以上,则可以将多个子地图均识别为待检测子地图,以做后续检测。在另一示例中,服务器也可以从该多个子地图中选择处于该搜索范围内的点的数量最多的子地图作为待检测子地图,例如在该搜索范围内存在子地图a以及子地图b,其中子地图a处于该搜索范围内的点的数量为500,子地图b处于该搜索范围内的点的数量为600,则服务器可以将子地图b识别为待检测子地图,等等。由此,可以保证待检测子地图为处于该搜索范围内的点的数量最多的子地图,保证了待检测子地图确定的准确性。
71.请继续参考图2,在步骤s230中,根据所述目标对象的当前点云地图以及所述待检测子地图,确定所述当前点云地图与所述待检测子地图之间的匹配度。
72.其中,匹配度可以是用于描述当前点云地图与待检测子地图之间的差异性的信息。应该理解的,匹配度越高,表示当前点云地图与待检测子地图之间的差异性越低,反之,则表示当前点云地图与待检测子地图之间的差异性越高。应该理解的,匹配度可以以比例的形式进行表示,即该匹配度的数值介于0至1之间,数值越大,则表示匹配程度越高。匹配
度也可以以评分的形式进行表示,则该数值范围可以介于0至100之间,数值越大,表示匹配程度越高。本领域技术人员可以根据实现需要选择对应的表示形式,本技术对此不作特殊限定。
73.在本技术一示例性实施例中,服务器可以根据当前点云地图包含的点的坐标信息以及待检测子地图包含的点的坐标信息,计算当前点云地图与待检测子地图之间的匹配度。例如,服务器可以确定当前点云地图的点所形成的平面,并确定待检测子地图中是否存在对应的平面,以确定二者之间的匹配度,应该理解的,上述对应可以为相同位置以及相同大小的平面等,服务器还可以根据当前点云地图包含的点中的特征点(例如横坐标最小的点、横坐标最大的点、纵坐标最小的点以及纵坐标最大的点等等),确定待检测子地图包含的点中是否存在对应的特征点,该对应可以是横纵坐标相同的点也可以是位于该横纵坐标允许误差范围内的点,以确定当前点云地图与待检测子地图之间的匹配度。
74.需要说明的,上述当前点云地图可以是目标对象形成的一个子地图,即目标对象每新形成一个子地图之后,服务器可以搜索历史点云地图中是否存在与新形成的子地图相对应的在先构建的子地图。上述当前点云地图也可以是目标对象所形成的点云地图帧,即目标对象每新获取一个点云地图帧,服务器可以搜索历史点云地图中所包含的子地图是否存在与该点云地图帧相对应的部分。
75.应该理解的,当当前点云地图为新形成的点云地图帧时,服务器的搜索频率相对于形成一个子地图之后再进行搜索的频率更高,从而可以提高地图之间的匹配速度。对应地,基于点云地图帧进行匹配,也能够保证所匹配的子地图的准确性。
76.在步骤s240中,若连续的所述匹配度大于或等于第一阈值的当前点云地图的数量达到第一预定数量,确定回环检测成功。
77.其中,第一阈值可以是用以确定相匹配的点云地图之间的匹配度下限的数值信息。应该理解的,当点云地图之间的匹配度大于或等于该第一阈值时,即表示二者存在较大可能为真实匹配的点云地图,相反,则表示二者较小可能为真实匹配的点云地图。本领域技术人员可以根据在先经验,设定对应的第一阈值,例如该第一阈值可以为80%、90%或者80、90等,以上仅为示例性举例,本技术对此不作特殊限定。
78.在本技术一示例性实施例中,在得到当前点云地图与待检测子地图之间的匹配度之后,服务器可以将该匹配度与预先设定的第一阈值进行比较,若该匹配度大于或等于该第一阈值,则表示当前点云地图与待检测子地图之间的匹配程度较高,该待检测子地图较大可能为真实匹配的点云地图。若该匹配度小于该第一阈值,则表示当前点云地图与待检测子地图之间的匹配程度较低,该待检测子地图较小可能为真实匹配的点云地图,因此可以不予考虑。
79.当服务器确定当前点云地图所对应的匹配度大于或等于第一阈值之后,可以根据后续的识别结果即确定是否存在连续的匹配度大于或等于第一阈值的当前点云地图的数量达到第一预定数量,从而确定回环检测是否成功。例如服务器在根据点云地图帧a与待检测子地图a计算二者之间的匹配度之后,确定该匹配度大于或等于第一阈值,则服务器可以根据在点云地图帧a之后的点云地图帧的匹配度,确定回环检测是否成功。
80.若在点云地图帧a之后连续存在对应数量的点云地图帧对应的匹配度均大于或等于第一阈值,则表示回环检测成功。反之,若在点云地图帧a之后未连续存在对应数量的点
云地图帧对应的匹配度均大于或等于第一阈值,则表示当前点云地图可能只是部分与历史点云地图相对应,即周围环境部分类似等情况,所以确定回环检测并未成功。
81.应该理解的,若当前点云地图为点云地图帧,则连续的点云地图帧可能与同一个子地图进行匹配,也可能与不同的子地图进行匹配。而若当前点云地图为新形成的子地图,则连续的当前点云地图较大可能与历史点云地图中不同的子地图进行匹配,而在偏差较大的情况下,则连续的当前点云地图也可能与历史点云地图中的同一子地图进行匹配。
82.需要说明的,上述第一预定数量可以是由本领域技术人员根据在先经验预先设定的,如第一预定数量可以为5、10或者15等,以上仅为示例性举例,本技术对此不作特殊限定。例如点云地图帧a与待检测子地图之间的匹配度大于或等于第一阈值,则在点云地图帧a之后(包括点云地图帧a)存在连续的第一预定数量的点云地图帧对应的匹配度大于或等于第一阈值,则确定回环检测成功。
83.由此,通过第一阈值以及第一预定数量的设置,可以避免因为目标对象当前所处环境与之前的环境部分类似造成误检测的情况发生,提高了回环检测的准确度。
84.基于图2所示的实施例,图3示出了根据本技术的一个实施例的图2的点云地图的回环检测方法中步骤s230的流程示意图。参照图3所示,步骤s230至少包括步骤s310至步骤s340,详细介绍如下:
85.在步骤s310中,获取所述目标对象对应于所述待检测子地图的历史移动轨迹,以及所述目标对象对应于当前点云地图的当前移动轨迹。
86.在本技术一示例性实施例中,目标对象的移动轨迹可以由目标对象所配置的雷达里程计进行提供。在目标对象的移动过程中,雷达里程计可以根据该目标对象的移动方向以及移动长度,确定该目标对象的历史移动轨迹。具体地,在目标对象的移动过程中,雷达里程计可以按照预定时间间隔生成该目标对象的坐标信息,从而根据所生成的坐标信息生成该目标对象的移动轨迹。
87.在一示例中,目标对象可以将所生成的移动轨迹上传至服务器中进行存储,服务器可以根据历史点云地图的生成时间、标识信息(如地图编号等),将历史点云地图与移动轨迹进行对应存储,从而能够根据历史点云地图包含的某一子地图查找与其对应的历史移动轨迹。
88.在另一示例中,服务器也可以向目标对象发送移动轨迹的获取请求,该获取请求可以包含待检测子地图的标识信息(例如编号等),目标对象可以根据该待检测子地图的标识信息,将与该标识信息相对应的历史移动轨迹向服务器进行发送。服务器无需存储该移动轨迹,以节省存储资源。
89.在步骤s320中,根据所述历史移动轨迹和所述当前移动轨迹,确定所述历史移动轨迹与所述当前移动轨迹之间的轨迹相似度。
90.其中,轨迹相似度可以是用于描述移动轨迹之间的差异性的信息。轨迹相似度越高,表示两条移动轨迹之间的差异性越低,即表示目标对象在两条移动轨迹中所移动的路线以及经过的位置的相似度越高。反之,轨迹相似度越低,表示两条移动轨迹之间的差异性越高,即表示目标对象在两条移动轨迹中所移动的路线以及经过的位置的相似度越低。
91.应该理解的,若目标对象经过之前已建图的区域,则目标对象的当前移动轨迹应与在先的历史移动轨迹相对应,即当前移动轨迹与历史移动轨迹之间的轨迹相似度应达到
一定阈值。
92.在本技术一示例性实施例中,服务器可以将当前移动轨迹以及历史移动轨迹中所包含的坐标信息进行比对,从而确定当前移动轨迹与历史移动轨迹之间的轨迹相似度。具体地,服务器可以将当前移动轨迹中包含的记录点的坐标信息以及历史移动轨迹中包含的记录点的坐标信息进行比对,需要说明的,雷达里程计可以每隔预定时间间隔生成一组坐标信息,即为上述记录点,将多个记录点按照时间顺序进行连接,即形成目标对象的移动轨迹。
93.根据当前移动轨迹所包含的记录点的坐标信息以及历史移动轨迹所包含的记录点的坐标信息,服务器可以计算对应记录点之间的坐标差值,从而确定当前移动轨迹与历史移动轨迹之间的轨迹相似度。例如可以将每组对应记录点之间的坐标差值进行相加,从而得到坐标差值的总和,该坐标差值的总和与轨迹相似度呈负相关,即坐标差值的总和越大,则轨迹相似度越小,坐标差值的总和越小,则轨迹相似度越大。
94.在本技术另一示例性实施例中,服务器也可以对当前移动轨迹与历史移动轨迹采用图像处理,即采用图像分析技术对当前移动轨迹所形成的线条与历史移动轨迹所形成的线条进行比对,确定二者之间的图形相似度,以作为轨迹相似度。本领域技术人员可以采用现有的图像分析技术例如哈希算法等确定当前移动轨迹与历史移动轨迹之间的图形相似度,本技术对此不作特殊限定。
95.请继续参考图3,在步骤s330中,根据所述当前点云地图以及所述待检测子地图,确定所述当前点云地图与所述待检测子地图之间的点云相似度。
96.其中,点云相似度可以是用于描述两个点云地图分别包含的点之间的差异性的信息。点云相似度越大,则表示当前点云地图包含的点与待检测子地图包含的点之间的差异性越低,反之,则表示当前点云地图包含的点与待检测子地图包含的点之间的差异性越高。
97.在本技术一示例性实施例中,服务器可以根据当前点云地图包含的点的坐标信息以及待检测子地图包含的点的坐标信息,从中选取特征点进行比对,例如该特征点可以是横坐标最小的点、纵坐标最小的点等。由此,确定当前点云地图与待检测子地图之间是否存在对应的特征点,其中,“对应”可以是坐标信息相同的点也可以是在一定允许误差范围内的点,例如允许误差范围为
±
1,则若当前点云地图中某一点的坐标信息为(x,y),若待检测子地图中在(x
±
1,y
±
1)范围内存在点,则表示两个点相对应。
98.本领域技术人员可以根据实现需要,预先设定对应的允许误差范围,从而可以在保证匹配度的准确性的同时,提高当前点云地图与待检测子地图的匹配成功率。
99.在本技术另一示例性实施例中,服务器也可以根据当前点云地图包含的点的坐标信息以及待检测子地图包含的点的坐标信息,确定当前点云地图中由点所形成的平面、棱或者角等,检测待检测子地图中是否存在对应的平面、棱或者角,由此确定当前点云地图与待检测子地图之间的点云相似度。
100.在步骤s340中,根据所述轨迹相似度以及所述点云相似度,确定所述当前点云地图与所述待检测子地图之间的匹配度。
101.在本技术一示例性实施例中,本领域技术人员可以预先设定轨迹相似度与点云相似度分别对应的权重,应该理解的,二者所对应的权重可以相同(例如均为0.5),也可以不同(例如点云相似度对应的权重为0.7,轨迹相似度对应的权重为0.3,等等)。服务器可以根
据二者对应的权重,对计算得到的轨迹相似度与点云相似度进行加权和处理,从而得到当前点云地图与待检测子地图之间的匹配度。
102.在本技术另一示例性实施例中,服务器也可以直接将计算得到的点云相似度与轨迹相似度进行相加,从而得到当前点云地图与待检测子地图之间的匹配度。
103.由此,在图3所示的实施例中,通过计算轨迹相似度以及点云相似度,结合考虑了目标对象的移动轨迹之间的差异性以及点云地图之间的差异性,可以保证计算匹配度的准确性。
104.基于图2和图3所示的实施例,图4示出了根据本技术的一个实施例的图3的点云地图的回环检测方法中步骤s320的流程示意图。请参考图4,所述历史移动轨迹和所述当前移动轨迹包括目标对象的坐标信息以及旋转角度,步骤s320至少包括步骤s410至步骤s430,详细介绍如下:
105.在步骤s410中,根据所述历史移动轨迹包含的坐标信息以及所述当前移动轨迹包含的坐标信息,确定所述历史移动轨迹与所述当前移动轨迹之间的线性运动量差值。
106.其中,线性运动量可以是目标对象在移动轨迹中所移动的路程长度。在一示例中,服务器可以根据移动轨迹所包含的记录点的坐标信息,计算相邻两个记录点之间的距离,并将各相邻两个记录点之间的距离进行相加,从而得到目标对象在该移动轨迹中所移动的路程长度。
107.在本技术一示例性实施例中,服务器可以根据历史移动轨迹所包含的坐标信息以及当前移动轨迹包含的坐标信息,分别计算目标对象在该历史移动轨迹与该当前移动轨迹中所移动的路程长度,并将二者进行相减,从而得到目标对象在历史移动轨迹与当前移动轨迹之间的线性运动量差值。
108.在步骤s420中,根据所述历史移动轨迹包含的旋转角度以及所述当前移动轨迹包含的旋转角度,确定所述历史移动轨迹与所述当前移动轨迹之间的旋转角度差值。
109.其中,旋转角度可以是目标对象的朝向与预定方向之间的夹角,例如该预定方向可以是坐标系中x轴的正方向等。应该理解的,目标对象在移动过程中,不仅移动的路程长度发生改变,其朝向也在发生改变。由此,在判定两个移动轨迹之间的轨迹相似度时也应该同时考虑移动路程以及旋转角度的变化,从而保证轨迹相似度的准确性。
110.在本技术一示例性实施例中,雷达里程计在生成记录点的坐标信息时可以对应生成目标对象的当前旋转角度,例如雷达里程计所生成的信息可以为(x,y,ξ),其中,x和y分别表示目标对象的横、纵坐标值,ξ表示目标对象的旋转角度。
111.服务器可以根据当前移动轨迹与历史移动轨迹中每个记录点所包含的旋转角度,分别计算当前移动轨迹对应的旋转角度总和,以及历史移动轨迹对应的旋转角度总和,并将两个旋转角度总和进行相减,从而得到历史移动轨迹与当前移动轨迹之间的旋转角度差值。
112.在步骤s430中,根据所述线性运动量差值以及所述旋转角度差值,确定所述历史移动轨迹与所述当前移动轨迹之间的轨迹相似度。
113.在本技术一示例性实施例中,线性运动量差值、旋转角度差值与轨迹相似度呈负相关,即线性运动量差值越大、旋转角度差值越大,则对应的轨迹相似度越小,反之,则对应的轨迹相似度越大。服务器可以根据计算得到的线性运动量差值以及旋转角度差值,按照
预定的计算公式计算历史移动轨迹与当前移动轨迹之间的轨迹相似度。
114.在图4所示的实施例中,在计算历史移动轨迹与当前移动轨迹之间的轨迹相似度时,结合考虑了目标对象的线性运动量差值以及旋转角度差值,从而保证了计算得到的轨迹相似度的准确性。
115.基于图3所示的实施例,图5示出了本技术的另一个实施例的图3的点云地图的回环检测方法中步骤s320的流程示意图。参照图5所示,步骤s320至少包括步骤s510至步骤s520,详细介绍如下:
116.在步骤s510中,获取所述目标对象对应于所述待检测子地图的历史定位信息,以及所述目标对象对应于所述当前点云地图的当前定位信息。
117.其中,定位信息可以是由全球定位系统(global positioning system,gps)或者北斗卫星导航系统等定位系统所生成。目标对象上可以配置有对应的定位设备,该定位设备可以每隔预定间隔时间则生成该目标对象所处位置的坐标信息。
118.在本技术一示例性实施例中,服务器可以获取目标对象对应于待检测子地图的历史定位信息,以及对应于当前点云地图的当前定位信息,该历史定位信息以及当前定位信息包含了目标对象在移动过程中记录点的坐标信息,以在后续可以根据该坐标信息,生成对应的移动轨迹。
119.在步骤s520中,根据所述历史定位信息确定所述目标对象的历史移动轨迹,以及根据所述当前定位信息确定所述目标对象的当前移动轨迹。
120.在本技术一示例性实施例中,服务器可以根据目标对象对应于当前点云地图的当前点位信息以及对应于历史点云地图的历史定位信息,将当前点位信息以及历史定位信息分别按照时间顺序进行排列和连接,从而得到对应的当前移动轨迹以及历史移动轨迹。
121.在图5所示的实施例中,通过获取定位系统对目标对象生成的定位信息,可以保证所确定的移动轨迹的准确性,进而保证了后续轨迹相似度计算的准确性。
122.基于图2和图3所示的实施例,图6示出了根据本技术的一个实施例的图3的点云地图的回环检测方法中步骤s330的流程示意图。参照图6所示,步骤s330至少包括步骤s610至步骤s620,详细介绍如下:
123.在步骤s610中,根据所述当前点云地图中包含的点的坐标信息以及所述待检测子地图中包含的点的坐标信息,将所述当前点云地图以及所述待检测子地图中坐标信息相对应的点识别为匹配点。
124.在本技术一示例性实施例中,服务器可以根据当前点云地图中包含的点的坐标信息,以及待检测子地图中包含的点的坐标信息,将当前点云地图中点的坐标信息逐一与待检测子地图包含的点的坐标进行比对,若待检测子地图包含的点中存在与当前点云地图包含的点的坐标信息相对应的点,即坐标信息相同或者在允许误差范围内的点,则将该点识别为匹配点。
125.在步骤s620中,根据所述匹配点的数量以及所述当前点云地图中包含的点的数量,确定所述当前点云地图与所述待检测子地图之间的点云相似度。
126.在本技术一示例性实施例中,在确定完匹配点之后,服务器可以将匹配点的数量除以当前点云地图中包含的点的数量,从而得到匹配点占当前点云地图中包含的点的数量的比例,将该比例作为当前点云地图与待检测子地图之间的点云相似度。
127.在图6所示的实施例中,通过计算当前点云地图包含的点与待检测子地图包含的点之间的匹配点,以根据匹配点的数量以及当前点云地图包含的点的数量确定点云相似度。根据当前点云地图中包含的点与待检测子地图中包含的点的对应关系计算点云相似度,可以保证点云相似度计算的准确性。
128.基于图2所示的实施例,图7示出了根据本技术的一个实施例的图2的点云地图的回环检测方法中步骤s240的流程示意图。参照图7所示,步骤s240至少包括步骤s710至步骤s720,详细介绍如下:
129.在步骤s710中,将所述匹配度大于或等于第一阈值的当前点云地图按照匹配度从大到小的顺序进行排列,将排列在第二预定数量前的当前点云地图识别为待匹配点云地图。
130.在本技术一示例性实施例中,在每计算完一次匹配度之后,服务器可以根据之前的匹配度计算结果,将匹配度大于或等于第一阈值的当前点云地图按照匹配度从大到小的顺序进行排列,并将排列在第二预定数量前的当前点云地图识别为待匹配点云地图。例如第二预定数量为5,则选取排列在第一到第五的当前点云地图作为待匹配点云地图,等等。应该理解的,排列在第二预定数量前的当前点云地图即为匹配度最大的当前点云地图,也最有可能是与历史点云地图真实匹配的点云地图。
131.在本技术另一示例性实施例中,服务器也可以是在未搜索到待检测子地图之后,根据之前的匹配度计算结果,将匹配度大于或等于第一阈值的当前点云地图按照从大到小的顺序进行排列,并将排列在第二预定数量前的当前点云地图识别为待匹配点云地图。
132.在步骤s720中,若在所述待匹配点云地图之后,存在连续的所述匹配度大于或等于第一阈值的当前点云地图的数量达到第一预定数量,确定所述待匹配点云地图回环检测成功。
133.在本技术一示例性实施例中,当服务器确定完待匹配点云地图之后,可以根据在待匹配点云地图之后的匹配度计算结果,确定是否存在连续的匹配度大于或等于第一阈值的当前点云地图的数量达到第一预定数量,以确定该待匹配点云地图是否回环检测成功。应该理解的,若待匹配点云地图为真实与历史点云地图相匹配的点云地图,那么其匹配结果应持续一段时间,即在待匹配点云地图之后,应存在第一预定数量的连续的匹配度大于或等于第一阈值的当前点云地图。
134.由此,在图7所示的实施例中,根据匹配度计算结果,将当前点云地图按照匹配度从大到小的顺序进行排列,选取排列在第二预定数量前的当前点云地图作为待匹配点云地图。并检测在待匹配点云地图之后是否存在第一预定数量的连续的匹配度大于或等于第一阈值的当前点云地图,从而确定该待匹配点云地图是否回环检测成功。由此,将待匹配点云地图的匹配结果是否能够持续一定时间作为回环检测是否成功的判定标准,可以保证回环检测的结果的准确性,避免因为目标对象所处环境部分相同而出现误检测的情况发生。
135.基于图2和图7所示的实施例,图8示出了根据本技术的一个实施例的图7的点云地图的回环检测方法中步骤s720的流程示意图。参照图8所示,步骤s720至少包括步骤s810至步骤s840,详细介绍如下:
136.在步骤s810中,根据所述待匹配点云地图以及与其对应的所述待检测子地图,确定所述待匹配点云地图与所述待检测子地图之间的匹配位置。
137.在本技术一示例性实施例中,服务器可以采用分支界定算法,计算待匹配点云地图与待检测子地图之间的匹配位置。应该理解的,在目标对象的移动过程中,由于目标对象的当前移动轨迹与之前历史移动轨迹存在一定的误差,所以所建立的点云地图的坐标信息与在先构建的历史点云地图也存在一定的误差。因此,服务器可以根据待匹配点云地图以及待检测子地图,采用分支界定算法计算待匹配点云地图与待检测子地图之间的最佳匹配位置,以使待匹配点云地图与待检测子地图之间能够更好的衔接,避免出现接缝或者重影。
138.根据该最佳匹配位置,服务器可以确定如何调整待匹配点云地图,以使该待匹配点云地图与待检测地图之间能够更好的衔接。在一示例中,对待匹配点云地图进行调整可以是对待匹配点云地图进行横向平移和/或纵向平移。
139.在步骤s820中,根据所述匹配位置,对所述目标对象对应于所述待匹配点云地图的当前移动轨迹进行修正。
140.在本技术一示例性实施例中,应该理解的,根据该最佳匹配位置,若需要对待匹配点云地图进行横向平移和/或纵向平移,则相应的,也需对对应于该待匹配点云地图的当前移动轨迹进行调整,从而使该当前移动轨迹能够与调整后的待匹配点云地图相匹配,例如待匹配点云地图需向x轴正方向平移5个单位长度,则当前移动轨迹所包含的坐标信息,也对应向x轴的正方向平移5个单位长度(即每个记录点的x坐标值加5)等。修正后的当前移动轨迹更接近于目标对象的真实移动轨迹,偏差更小。
141.在步骤s830中,根据所述目标对象对应于所述待检测子地图的历史移动轨迹以及修正后的所述当前移动轨迹,确定所述历史移动轨迹以及修正后的所述当前移动轨迹之间的轨迹相似度。
142.在本技术一示例性实施例中,修正后的当前移动轨迹相比于修正前的当前移动轨迹的偏差更小,因此,计算历史移动轨迹与修正后的当前移动轨迹之间的轨迹相似度,该轨迹相似度的可靠性更高。其中,计算轨迹相似度的方法可以参照上文所述,根据历史移动轨迹包含的坐标信息以及修正后的当前移动轨迹包含的坐标信息进行计算,在此不再赘述。
143.在步骤s840中,若在所述待匹配点云地图之后,存在连续的所述匹配度大于或等于所述第一阈值的当前点云地图的数量达到第一预定数量,且所述轨迹相似度大于或等于第二阈值,确定所述待匹配点云地图回环检测成功。
144.在本技术一示例性实施例中,为了保证回环检测结果的准确性,不仅需考虑待匹配点云地图的匹配结果是否可以保持一段时间,还应考虑目标对象的当前移动轨迹与历史移动轨迹之间的轨迹相似度是否达到一定阈值,即大于或等于第二阈值。其中,第二阈值可以是由本领域技术人员根据在先经验进行设定,应该理解的,当轨迹相似度大于或等于第二阈值时,即可以认为两条移动轨迹一致。
145.由此,结合考虑待匹配点云地图对应的匹配结果是否可以保持一段时间以及目标对象的当前移动轨迹是否与历史移动轨迹保持一致,从而确定回环检测是否成功,保证了回环检测结果的准确性。
146.基于图2所示的实施例,在本技术一示例性实施例中,所述根据所述目标对象的当前位置信息以及所述子地图的位置信息,若在所述当前位置信息的搜索范围内存在至少一个所述子地图,将所述子地图识别为待检测子地图之后,所述方法还包括:
147.若在所述待检测子地图的位置信息的所述搜索范围内存在至少一个子地图,将所
述子地图识别为待检测子地图。
148.在该实施例中,当服务器对以目标对象的当前位置信息为中心的搜索范围内进行搜索之后,若在该搜索范围内存在至少一个历史点云地图包含的子地图,则将该子地图识别为待检测子地图。考虑到目标对象在移动过程中可能出现的偏差,则服务器可以继续在确定的待检测子地图的搜索范围内进行查找,确定是否还存在其他的子地图,若有,则将该子地图也识别为待检测子地图,以做后续识别。例如搜索半径为15m,则服务器可以将以目标对象的当前位置信息为中心半径15m的范围内所存在子地图识别为待检测子地图,同时,服务器还可以把以各待检测子地图的中心位置为中心半径15m的范围内所存在的子地图识别为待检测子地图等。
149.需要说明的,本领域技术人员可以根据在先经验预先设定搜索次数,例如进行二次搜索,或者进行三次搜索等,其中,二次搜索可以是以目标对象的当前位置信息为中心进行第一次搜索,以第一次搜索结果所生成的待检测子地图为中心进行第二次搜索。三次搜索等则以此类推,由此,通过合理规划搜索次数,可以保证搜索的全面性,同时也可以避免搜索次数过多,造成许多不必要的待检测子地图生成。
150.由此,根据在待检测子地图的搜索范围内进行搜索,以确定是否有新的待检测子地图。既可以扩大搜索范围,提高点云地图的匹配成功率,同时也可以避免盲目扩大搜索范围,生成许多不必要的待检测子地图。
151.基于图2所示的实施例,图9示出了根据本技术的一个实施例的点云地图的回环检测方法还包括的对匹配度进行减分处理的流程示意图。参照图9所示,对匹配度进行减分处理至少包括步骤s910至步骤s930,详细介绍如下:
152.在步骤s910中,根据所述当前点云地图以及与其对应的待检测子地图,确定所述当前点云地图与所述待检测子地图之间的匹配位置。
153.在本技术一示例性实施例中,服务器在每次计算得到当前点云地图与待检测子地图之间的匹配度之后,可以采用分支界定算法,计算当前点云地图与待检测子地图之间的匹配位置。在一示例中,该匹配位置可以用调整后的当前点云地图的中心点的坐标信息进行表示;在另一示例中,该匹配位置也可以采用调整后的当前点云地图与待检测子地图之间相连接的位置信息进行表示。
154.在步骤s920中,根据所述当前点云地图对应的匹配位置以及上一匹配度大于或等于第一阈值的点云地图对应的匹配位置,确定二者之间的距离。
155.在本技术一示例性实施例中,由于服务器在计算得到当前点云地图与待检测地图之间的匹配度之后,都会计算当前点云地图与其对应的待检测子地图之间的匹配位置,因此,服务器可以从自身的存储位置中,获取匹配位置的计算结果,并将当前点云地图所对应的匹配位置与上一匹配度大于或等于第一阈值的点云地图对应的匹配位置进行比较,从而得到两个匹配位置之间的距离。
156.应该理解的,若当前点云地图为真实匹配的点云地图,则该匹配结果应该是连续的,不仅匹配度应该连续大于或等于第一阈值,同时点云地图的匹配位置也应该是连续的。若相邻两个匹配度大于或等于第一阈值的点云地图的匹配位置之间的距离较远,则表示两个点云地图之间并不连续,存在缝隙。因此,应对在后的当前点云地图所对应的匹配度进行减分处理,从而保证匹配度的准确性。
157.在步骤s930中,根据所述距离,对所述当前点云地图对应的匹配度进行减分处理。
158.在本技术一示例性实施例中,本领域技术人员可以预先设定减分策略,应该理解的,两个匹配位置之间的距离越远,则应该扣减的分数越高,反之,两个匹配位置之间的距离越近,则应该扣减的分数越低。
159.本领域技术人员可以预先设定减分比例,例如两个匹配位置之间的距离每满预定长度,则对在后的当前点云地图所对应的匹配度进行减5,如预定长度为5米,两个匹配位置之间的距离为10米,则在后的当前点云地图所对应的匹配度应该减去10(即10/5*5),等等。
160.由此,在图9所示的实施例中,通过根据当前点云地图对应的匹配位置与上一匹配度大于或等于第一阈值的点云地图对应的匹配位置,确定两个匹配位置之间的距离,并根据该距离,对在后的当前点云地图所对应的匹配度进行减分处理,由此可以对当前点云地图所对应的匹配度进行修正,保证了匹配度的准确性。
161.基于图2所示的实施例,图10示出了根据本技术的一个实施例的点云地图的回环检测方法中还包括的确定搜索范围的流程示意图。参照图10所示,确定搜索范围至少包括步骤s1010至步骤s1020,详细介绍如下:
162.在步骤s1010中,根据所述目标对象在所述子地图之间的移动距离以及预设的误差比例,确定所述目标对象在所述子地图之间的行程误差。
163.其中,误差比例可以是由本领域技术人员根据在先预先设定、用以确定目标对象在移动过程中所产生的误差的比例信息。根据该误差比例以及目标对象的移动距离,服务器可以确定目标对象在该移动距离中所产生的行程误差。例如误差比例为5%,若目标对象的移动距离为100米,则在该移动距离所产生的行程误差为5米(即100*5%),等等。
164.在本技术一示例性实施例中,服务器可以根据目标对象在历史点云地图中相邻两个子地图之间的移动距离以及误差比例,计算得到目标对象在相邻两个子地图之间可能产生的误差。例如误差比例为5%,历史点云地图中包含三个子地图,分别为子地图a、子地图b和子地图c,其中,子地图a和子地图b之间的移动距离为50米,子地图b和子地图c之间的移动距离为50米,则服务器可以计算得到目标对象对应于子地图a和子地图b之间的行程误差为50*5%=2.5米,目标对象对应于子地图b和子地图c之间的行程误差为50*5%=2.5米,等等。
165.在步骤s1020中,根据所述目标对象在所述子地图之间的行程误差,确定所述搜索范围。
166.在本技术一示例性实施例中,服务器在根据目标对象的当前位置信息进行搜索时,可以根据目标对象在当前位置信息之前的移动距离确定其搜索范围。例如如图11a所示,目标对象依次建立了子地图a、子地图b、子地图c以及子地图d,则目标对象在子地图b时,其搜索范围可以为目标对象对应于子地图a和子地图b之间的行程误差d1,若目标对象在子地图c时,则其搜索范围可以为目标对象在子地图a和子地图b之间的行程误差d1与目标对象在子地图b和子地图c之间的行程误差d2之和,即d1 d2。以此类推,则目标对象在子地图c的搜索范围可以为d1 d2 d3,其中d3为目标对象在子地图b和子地图c之间的行程误差,等等。
167.由此,根据目标对象在先的行驶路程,确定其搜索范围,使得搜索范围结合了目标对象在行驶过程中可能存在的行程误差,进而使该搜索范围与目标对象的移动距离相匹
配,保证了搜索范围确定的合理性,降低了待检测子地图的误检率。
168.基于图2和图10所示的实施例,在本技术一示例性实施例中,所述确定回环检测成功之后,还包括:
169.将在回环检测成功的所述当前点云地图之前的行程误差进行清零,并对所述搜索范围进行更新。
170.在该实施例中,当确定回环检测成功之后,服务器可以采用分支界定算法对在先建立的点云地图进行优化,从而使在先建立的点云地图之间能够更好的衔接,由此,可以消除目标对象在移动过程中所产生的的行程误差。因此,服务器可以将回环检测成功的当前点云地图之前的行程误差进行清零,并对搜索范围进行更新。
171.例如如图11b中所示,目标对象依次建立了目标对象依次建立了子地图a、子地图b、子地图c、子地图d以及子地图e,若目标对象在子地图d时,回环检测成功,则当目标对象在子地图e时的搜索范围即为目标对象对应于子地图d与子地图e之间的行程误差d4,而不用再考虑之前的行程误差。由此,根据回环检测结果实时对搜索范围进行更新,可以保证搜索范围与回环检测结果相匹配,减少了误检的情况发生,既能保证后续回环检测结果的准确性,同时也能够避免识别错误的待检测子地图,提高了处理效率。
172.基于上述实施例的技术方案,以下介绍本技术实施例的一个具体应用场景:
173.图12示出了根据本技术的一个实施例的点云地图的回环检测方法的流程框图。
174.参照图12所示,点云地图的回环检测方法中包括输入1210、算法1220以及输出1230。其中,输入1210可以包括目标对象(以检测车辆为例)建立的当前点云地图、车辆移动轨迹(包括当前移动轨迹以及历史移动轨迹)以及历史点云地图(包括至少一个子地图)。
175.在算法1220中,服务器可以根据目标对象的行程误差进行搜索范围的确定,若历史点云地图所包含的子地图位于目标对象的当前位置信息的搜索范围内,则将该子地图识别为待检测子地图。服务器可以根据待检测子地图与当前点云地图,计算二者之间的匹配度,并采用分支界定算法确定当前点云地图与待检测子地图之间的匹配位置,以得到匹配结果,该匹配结果可以包括匹配位置以及匹配度,例如匹配结果可以为(h,p),其中h为匹配位置,p为匹配度。
176.服务器可以将历史所得到的匹配结果分别作为一个假设进行存储,而在目标对象的移动过程中,可能生成多个假设。在输出1230中,服务器可以根据在先生成的多个假设进行回环检测判定,确定匹配结果是否可以持续一定时间,从而判定回环检测是否成功。例如根据是否存在预定数量连续的匹配度大于或等于第一阈值的假设,判定回环检测是否成功,并对应输出回环检测结果。
177.由此,通过合理界定搜索范围以及以匹配结果是否可以持续一定时间作为回环检测结果的判定依据,可以保证点云地图的匹配成功率,同时也可以降低点云地图的误检率,保证了回环检测结果的准确性。
178.图13示出了根据本技术的一个实施例的点云地图的回环检测结果的输出示意图。如图13所示,即使在较大范围内进行建图也无明显接缝以及重影,满足了对点云地图的构建要求。
179.以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的点云地图的回环检测方法。对于本技术装置实施例中未披露的细节,请参照本技术上述的点云地图的
回环检测方法的实施例。
180.图13示出了根据本技术的一个实施例的点云地图的回环检测装置的框图。
181.参照图13所示,根据本技术的一个实施例的点云地图的回环检测装置,包括:
182.获取模块1310,用于获取目标对象构建的历史点云地图,所述历史点云地图包括至少一个子地图;
183.搜索模块1320,用于根据所述目标对象的当前位置信息以及所述子地图的位置信息,若在所述当前位置信息的搜索范围内存在至少一个所述子地图,将所述子地图识别为待检测子地图;
184.确定模块1330,用于根据所述目标对象的当前点云地图以及所述待检测子地图,确定所述当前点云地图与所述待检测子地图之间的匹配度;
185.处理模块1340,用于若连续的所述匹配度大于或等于第一阈值的当前点云地图的数量达到第一预定数量,确定回环检测成功。
186.在本技术的一些实施例中,基于前述方案,确定模块1330被配置为:获取所述目标对象对应于所述待检测子地图的历史移动轨迹,以及所述目标对象对应于当前点云地图的当前移动轨迹;根据所述历史移动轨迹和所述当前移动轨迹,确定所述历史移动轨迹与所述当前移动轨迹之间的轨迹相似度;根据所述当前点云地图以及所述待检测子地图,确定所述当前点云地图与所述待检测子地图之间的点云相似度;根据所述轨迹相似度以及所述点云相似度,确定所述当前点云地图与所述待检测子地图之间的匹配度。
187.在本技术的一些实施例中,基于前述方案,所述历史移动轨迹和所述当前移动轨迹包括目标对象的坐标信息以及旋转角度;该确定模块1330被配置为:根据所述历史移动轨迹包含的坐标信息以及所述当前移动轨迹包含的坐标信息,确定所述历史移动轨迹与所述当前移动轨迹之间的线性运动量差值;根据所述历史移动轨迹包含的旋转角度以及所述当前移动轨迹包含的旋转角度,确定所述历史移动轨迹与所述当前移动轨迹之间的旋转角度差值;根据所述线性运动量差值以及所述旋转角度差值,确定所述历史移动轨迹与所述当前移动轨迹之间的轨迹相似度。
188.在本技术的一些实施例中,基于前述方案,该确定模块1330被配置为:获取所述目标对象对应于所述待检测子地图的历史定位信息,以及所述目标对象对应于所述当前点云地图的当前定位信息;根据所述历史定位信息确定所述目标对象的历史移动轨迹,以及根据所述当前定位信息确定所述目标对象的当前移动轨迹。
189.在本技术的一些实施例中,基于前述方案,该确定模块1330被配置为:根据所述当前点云地图中包含的点的坐标信息以及所述待检测子地图中包含的点的坐标信息,将所述当前点云地图以及所述待检测子地图中坐标信息相对应的点识别为匹配点;根据所述匹配点的数量以及所述当前点云地图中包含的点的数量,确定所述当前点云地图与所述待检测子地图之间的点云相似度。
190.在本技术的一些实施例中,基于前述方案,该处理模块1340被配置为:将所述匹配度大于或等于第一阈值的当前点云地图按照匹配度从大到小的顺序进行排列,将排列在第二预定数量前的当前点云地图识别为待匹配点云地图;若在所述待匹配点云地图之后,存在连续的所述匹配度大于或等于第一阈值的当前点云地图的数量达到第一预定数量,确定所述待匹配点云地图回环检测成功。
191.在本技术的一些实施例中,基于前述方案,该处理模块1340被配置为:根据所述待匹配点云地图以及与其对应的所述待检测子地图,确定所述待匹配点云地图与所述待检测子地图之间的匹配位置;根据所述匹配位置,对所述目标对象对应于所述待匹配点云地图的当前移动轨迹进行修正;根据所述目标对象对应于所述待检测子地图的历史移动轨迹以及修正后的所述当前移动轨迹,确定所述历史移动轨迹以及修正后的所述当前移动轨迹之间的轨迹相似度;若在所述待匹配点云地图之后,存在连续的所述匹配度大于或等于所述第一阈值的当前点云地图的数量达到第一预定数量,且所述轨迹相似度大于或等于第二阈值,确定所述待匹配点云地图回环检测成功。
192.在本技术的一些实施例中,基于前述方案,该搜索模块1320还被配置为:若在所述待检测子地图的位置信息的所述搜索范围内存在至少一个子地图,将所述子地图识别为待检测子地图。
193.在本技术的一些实施例中,基于前述方案,该确定模块1330还被配置为:根据所述当前点云地图以及与其对应的待检测子地图,确定所述当前点云地图与所述待检测子地图之间的匹配位置;根据所述当前点云地图对应的匹配位置以及上一匹配度大于或等于第一阈值的点云地图对应的匹配位置,确定二者之间的距离;根据所述距离,对所述当前点云地图对应的匹配度进行减分处理。
194.在本技术的一些实施例中,基于前述方案,该搜索模块1320还被配置为:根据所述目标对象在所述子地图之间的移动距离以及预设的误差比例,确定所述目标对象在所述子地图之间的行程误差;根据所述目标对象在所述子地图之间的行程误差,确定所述搜索范围。
195.在本技术的一些实施例中,基于前述方案,该搜索模块1320还被配置为:将在回环检测成功的所述当前点云地图之前的行程误差进行清零,并对所述搜索范围进行更新。
196.图14示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
197.需要说明的是,图14示出的电子设备的计算机系统仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
198.如图14所示,计算机系统包括中央处理单元(central processing unit,cpu)1401,其可以根据存储在只读存储器(read

only memory,rom)1402中的程序或者从储存部分1408加载到随机访问存储器(random access memory,ram)1403中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 1403中,还存储有系统操作所需的各种程序和数据。cpu 1401、rom 1402以及ram 1403通过总线1404彼此相连。输入/输出(input/output,i/o)接口1405也连接至总线1404。
199.以下部件连接至i/o接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1407;包括硬盘等的储存部分1408;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至i/o接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入储存部分1408。
200.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机
软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(cpu)1401执行时,执行本技术的系统中限定的各种功能。
201.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read

only memory,cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
202.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
203.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
204.作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
205.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多
模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
206.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
207.本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
208.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜