本技术涉及人工智能,特别涉及一种获取底图的方法。
背景技术:
1、随着人工智能技术的发展,无人驾驶逐渐受到广泛关注,无人驾驶也称为自动驾驶。其中,无人驾驶的实现依赖于高精地图,而高精地图的获取又依赖于底图(base map)。底图基于点云生成,在该底图的基础上标注出车道线、路口、路灯等交通设施,可以得到高精地图。因此,如何获取底图,成为获取高精地图乃至实现无人驾驶的关键。
技术实现思路
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、综上所述,本技术实施例基于目标时段之前采集的点云获得第一底图,基于第一底图更新至少两帧第二点云之间的第一相对位姿,且该至少两帧第二点云从目标时段内采集的第一点云中选择得到,从而基于更新得到的第二相对位姿生成第二底图。因此,本技术实施例无需直接使用目标时段之前采集的点云,而是使用第一底图,实现了增量式的生成第二底图,不仅保证了第二底图的准确性,还提高了获取第二底图的效率。