本发明涉及计算机,尤其涉及一种基于t-跨度图对高精度地图进行检查的方法、装置及介质。
背景技术:
1、自动驾驶所使用的高精度地图一般是由多个车次采集的数据构建而成。每一次数据采集是一辆车在一个连续的时间区间内对道路附近三维结构的观测数据包,以下简称“数据包”。一个数据包内包含了连续时间内的数据流,我们把数据流按照固定长度进行组合,每一个长度区间内的数据流组合后成为一个“关键帧”。一个数据包内包含多个连续的关键帧。一幅自动驾驶地图由多个数据包的信息构建而成。
2、高精度地图的质量往往受到多个数据包之间,以及同一个数据包之内的一致性问题所影响。如果出现一些关键帧之间互相错位,或者关键帧之间场景出现大量不一致,会导致高精度地图出现模糊,分层等质量问题。如何判断一幅高精度地图是否有质量问题是一个高精度地图自动生成算法中的重要问题。
技术实现思路
1、本发明提供一种基于t-跨度图对高精度地图进行检查的方法、装置及介质,用于解决如何判断一幅高精度地图是否有质量问题的问题。
2、本发明第一方面提供了一种基于t-跨度图对高精度地图进行检查的方法,包括:
3、根据待检查的高精度地图,确定关键帧对应的顶点和待检查的边;
4、基于所述关键帧对应的顶点、经过检查发现一致性达标的边的集合和所述待检查的边,构建t-跨度图;
5、基于构建的所述t-跨度图,根据所述待检查的边、所述经过检查发现一致性达标的边的集合、经过检查发现一致性不达标的边的集合和内存中加载的关键帧顶点集合,确定需要进行一致性检查的边的集合;
6、遍历所述需要进行一致性检查的边的集合中的每条边,基于遍历结果确定所述待检查的高精度地图的检查结果。
7、可选的,在本发明第一方面的第一种实现方式中,在所述基于所述构建的t-跨度图,根据所述待检查的边、经过检查发现一致性达标的边的集合、经过检查发现一致性不达标的边的集合和内存中加载的关键帧顶点集合,确定需要进行一致性检查的边的集合之前,所述方法还包括:
8、初始化变量,其中,所述变量包括:经过检查发现一致性达标的边的集合,经过检查发现一致性不达标的边的集合,剩余等待检查的边和内存中加载的关键帧顶点。
9、可选的,在本发明第一方面的第二种实现方式中,在所述基于所述构建的t-跨度图,根据所述待检查的边、经过检查发现一致性达标的边的集合、经过检查发现一致性不达标的边的集合和内存中加载的关键帧顶点集合,确定需要进行一致性检查的边的集合之后,所述方法还包括:
10、确定所述需要进行一致性检查的边的集合是否为空;
11、响应于确定所述需要进行一致性检查的边的集合为空,基于构建的t-跨度图,根据所述关键帧对应的顶点、所述待检查的边、所述经过检查发现一致性达标的边的集合和所述经过检查发现一致性不达标的边的集合,确定新的需要进行一致性检查的边的集合;
12、响应于确定所述内存中加载的关键帧顶点集合中的关键帧的数量小于内存中最大可持有的关键帧的数量,从所述新的需要进行一致性检查的边的集合中选取目标边加入所述需要进行一致性检查的边的集合中,并将所述目标边的两个顶点加入所述内存中加载的关键帧顶点集合中。
13、可选的,在本发明第一方面的第三种实现方式中,所述响应于确定所述内存中加载的关键帧顶点集合中的关键帧的数量小于内存中最大可持有的关键帧的数量,从所述新的需要进行一致性检查的边的集合中选取目标边加入所述需要进行一致性检查的边的集合中,并将所述目标边的两个顶点加入所述内存中加载的关键帧顶点集合中,包括:
14、将所述新的需要进行一致性检查的边的集合中的每条边根据其对应的两个顶点是否已经在所述内存中加载的关键帧顶点集合中分为三组,其中,第一组为没有顶点在集合中,第二组为有一个顶点在集合中,第三组为有两个顶点在集合中;
15、确定所述第三组是否为空;
16、响应于确定所述第三组不为空,选取所述第三组中最短边作为所述目标边;
17、将所述目标边加入所述需要进行一致性检查的边的集合中,并将所述目标边的两个顶点加入所述内存中加载的关键帧顶点集合中。
18、可选的,在本发明第一方面的第四种实现方式中,所述选取目标边,包括:
19、响应于确定所述第三组为空,确定所述第二组是否为空;
20、响应于确定所述第二组不为空,选取所述第二组中最短边作为所述目标边;
21、响应于确定所述第二组为空,选取所述第一组中最短边作为所述目标边。
22、可选的,在本发明第一方面的第五种实现方式中,所述遍历所述需要进行一致性检查的边的集合中的每条边,基于遍历结果确定所述待检查的高精度地图的检查结果,包括:
23、检测所述每条边的两个顶点对应的两个关键帧的一致性;
24、将一致性达标的边加入到所述经过检查发现一致性达标的边的集合中;
25、将一致性不达标的边加入到所述经过检查发现一致性不达标的边的集合中;
26、将所述需要进行一致性检查的边从所述待检查的边中移除;
27、确定移除后所述需要进行一致性检查的边或所述待检查的边是否为空;
28、响应于确定所述需要进行一致性检查的边或所述待检查的边为空,输出所述经过检查发现一致性达标的边的集合和所述经过检查发现一致性不达标的边的集合。
29、可选的,在本发明第一方面的第六种实现方式中,所述方法还包括:
30、设定最大检查距离、参数和内存中最大可持有的关键帧的数量;
31、根据设定的最大检查距离获取所述待检查的高精度地图;
32、根据所述参数构建所述t-跨度图;
33、基于所述最大可持有的关键帧的数量确定所述关键帧对应的顶点的数量。
34、本发明第二方面提供了一种基于t-跨度图对高精度地图进行检查的装置,包括:
35、第一确定模块,用于根据待检查的高精度地图,确定关键帧对应的顶点和待检查的边;
36、构建模块,用于基于所述关键帧对应的顶点、经过检查发现一致性达标的边的集合和所述待检查的边,构建t-跨度图;
37、第二确定模块,用于基于构建的所述t-跨度图,根据所述待检查的边、所述经过检查发现一致性达标的边的集合、经过检查发现一致性不达标的边的集合和内存中加载的关键帧顶点集合,确定需要进行一致性检查的边的集合;
38、遍历模块,用于遍历所述需要进行一致性检查的边的集合中的每条边,基于遍历结果确定所述待检查的高精度地图的检查结果。
39、可选的,在本发明第二方面的第一种实现方式中,在所述第二确定模块之前,所述装置包括:
40、初始化模块,用于初始化变量,其中,所述变量包括:经过检查发现一致性达标的边的集合,经过检查发现一致性不达标的边的集合,剩余等待检查的边和内存中加载的关键帧顶点。
41、可选的,在本发明第二方面的第二种实现方式中,在所述第二确定模块之后,所述装置包括:
42、第三确定单元,用于确定所述需要进行一致性检查的边的集合是否为空;
43、第四确定单元,用于响应于确定所述需要进行一致性检查的边的集合为空,基于构建的t-跨度图,根据所述关键帧对应的顶点、所述待检查的边、所述经过检查发现一致性达标的边的集合和所述经过检查发现一致性不达标的边的集合,确定新的需要进行一致性检查的边的集合;
44、选取单元,用于响应于确定所述内存中加载的关键帧顶点集合中的关键帧的数量小于内存中最大可持有的关键帧的数量,从所述新的需要进行一致性检查的边的集合中选取目标边加入所述需要进行一致性检查的边的集合中,并将所述目标边的两个顶点加入所述内存中加载的关键帧顶点集合中。
45、可选的,在本发明第二方面的第三种实现方式中,所述选取单元,用于:
46、将所述新的需要进行一致性检查的边的集合中的每条边根据其对应的两个顶点是否已经在所述内存中加载的关键帧顶点集合中分为三组,其中,第一组为没有顶点在集合中,第二组为有一个顶点在集合中,第三组为有两个顶点在集合中;
47、确定所述第三组是否为空;
48、响应于确定所述第三组不为空,选取所述第三组中最短边作为所述目标边;
49、将所述目标边加入所述需要进行一致性检查的边的集合中,并将所述目标边的两个顶点加入所述内存中加载的关键帧顶点集合中。
50、可选的,在本发明第二方面的第四种实现方式中,所述选取目标边,用于:
51、响应于确定所述第三组为空,确定所述第二组是否为空;
52、响应于确定所述第二组不为空,选取所述第二组中最短边作为所述目标边;
53、响应于确定所述第二组为空,选取所述第一组中最短边作为所述目标边。
54、可选的,在本发明第二方面的第五种实现方式中,所述遍历模块,用于:
55、检测所述每条边的两个顶点对应的两个关键帧的一致性;
56、将一致性达标的边加入到所述经过检查发现一致性达标的边的集合中;
57、将一致性不达标的边加入到所述经过检查发现一致性不达标的边的集合中;
58、将所述需要进行一致性检查的边从所述待检查的边中移除;
59、确定移除后所述需要进行一致性检查的边或所述待检查的边是否为空;
60、响应于确定所述需要进行一致性检查的边或所述待检查的边为空,输出所述经过检查发现一致性达标的边的集合和所述经过检查发现一致性不达标的边的集合。
61、可选的,在本发明第二方面的第六种实现方式中,所述装置还包括:
62、设定模块,用于设定最大检查距离、参数和内存中最大可持有的关键帧的数量;
63、获取模块,用于根据设定的最大检查距离获取所述待检查的高精度地图;
64、设定子模块,用于根据所述参数构建所述t-跨度图;
65、第五确定模块,用于基于所述最大可持有的关键帧的数量确定所述关键帧对应的顶点的数量。
66、本发明的第三方面提供了一种基于t-跨度图对高精度地图进行检查的设备,包括:存储器和至少一个处理器,所述存储器中存储有计算机程序;所述至少一个处理器调用所述存储器中的所述计算机程序,以使得所述基于t-跨度图对高精度地图进行检查的设备执行上述的基于t-跨度图对高精度地图进行检查的方法。
67、本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的基于t-跨度图对高精度地图进行检查的方法。
68、本发明提供的技术方案中,根据待检查的高精度地图,确定关键帧对应的顶点和待检查的边;基于所述关键帧对应的顶点、经过检查发现一致性达标的边的集合和所述待检查的边,构建t-跨度图;基于构建的所述t-跨度图,根据所述待检查的边、所述经过检查发现一致性达标的边的集合、经过检查发现一致性不达标的边的集合和内存中加载的关键帧顶点集合,确定需要进行一致性检查的边的集合;遍历所述需要进行一致性检查的边的集合中的每条边,基于遍历结果确定所述待检查的高精度地图的检查结果。本发明实施例实现了在有限的内存和时间内,对于高精度地图中必要的关键帧对进行一致性检查。从而免去需要枚举任意两个距离相近的关键帧对进行检查的时间成本。