高精度地图的生成方法、装置及设备与流程

文档序号:31798059发布日期:2022-10-14 18:03阅读:103来源:国知局
高精度地图的生成方法、装置及设备与流程

1.本技术涉及高精度地图技术领域,尤其涉及高精度地图的生成方法、装置及设备。


背景技术:

2.高精度地图(hd map)是用于自动驾驶或辅助驾驶的高清地图,高精度地图通常包括道路形状、曲率、坡度,道路标记,交通标志和障碍物等地图要素,但现有的高精地图中不包括限高杆、跨线桥、隧道、标牌架、龙门架等障碍物对应的地图要素。这些障碍物通常都设立在道路的上方,对通过的车辆的高度和宽度有所限制。由于这些障碍物对应的地图要素的形状通常不规则,现有技术无法通过设立精确的几何模型对这些障碍物要素进行精确的描绘,即,现有技术无法在高精地图中精确地生成形状不规则的障碍物所对应的地图要素。


技术实现要素:

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.图1是本说明书实施例提供的一种高精度地图的生成方法整体流程示意图;
49.图2是本说明书实施例提供的一种高精度地图的生成方法流程图;
50.图3是本说明书实施例提供的龙门架的语义点云及矢量化结果示意图;
51.图4是本说明书实施例提供的龙门架矢量化结果示意图;
52.图5是卷帘快门型相机与全局快门相机成像效果图;
53.图6本说明书实施例提供的一种高精度地图的生成装置示意图;
54.图7是本说明书实施例提供的一种高精度地图的生成设备示意图。
具体实施方式
55.为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合
本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
56.以下结合附图,详细说明本说明书各实施例提供的技术方案。
57.现有技术中,高精度地图(hd map)是用于自动驾驶或辅助驾驶的高清地图,高精度地图通常包括道路形状、曲率、坡度,道路标记,交通标志和障碍物等地图要素,但现有的高精地图中不包括限高杆、跨线桥、隧道、标牌架、龙门架等障碍物对应的地图要素。这些障碍物通常都设立在道路的上方,对通过的车辆的高度和宽度有所限制。由于这些障碍物形状通常不规则,所以,现有技术无法通过设立精确的几何模型对障碍物进行精确的描绘,即,现有技术无法在高精地图中精确地生成形状不规则的障碍物所对应的地图要素。
58.为了解决现有技术中的缺陷,本方案给出了以下实施例:
59.图1为本说明书实施例提供的一种高精度地图的生成方法的流程示意图。从设备角度而言,流程的执行主体可以为服务器。
60.如图1所示,本说明书实施例通过对形状不规则的地图要素,例如,限高杆、跨线桥、隧道、标牌架、龙门架等地图要素生成语义稀疏点云,具体的,通过对包含目标要素的场景图像序列帧生成有尺度稀疏点云,即,包含位置信息的稀疏点云,并根据目标图像帧的分割结果和有尺度稀疏点云,生成语义稀疏点云,根据所述语义稀疏点云,对语义稀疏点云中感兴趣的目标要素的点云进行矢量化,得到矢量化地图要素,并将矢量化地图要素保存在地图文件中,从而在高精地图中精确生成形状不规则的障碍物所对应的矢量化地图要素。
61.如图2所示,该流程可以包括以下步骤:
62.s110:获取若干目标图像帧的分割结果;
63.通过拍摄装置对目标障碍物进行拍摄,以获取若干目标图像帧,分别对获取的目标图像帧进行实例分割和语义分割,得到若干目标图像帧的实例分割结果和语义分割结果,这里的目标障碍物指的是形状不规则的障碍物,如限高杆、跨线桥、隧道、标牌架、龙门架等障碍物。
64.s120:根据所述分割结果,生成包含目标要素的场景图像帧序列;所述目标要素不具有用于描述所述目标要素的几何模型。
65.根据目标障碍物的图像帧的实例分割结果,确定高精度地图中待生成的目标要素,并根据该目标要素的实例分割结果生成该目标要素对应的场景图像帧序列。
66.具体的:根据语义分割结果,遍历图像帧以及目标要素(例如隧道)语义分割序列,发现出现连续目标要素(例如隧道)时,保留[50,300]张图片,并记录图片文件名形成一个目标要素的场景图像帧序列,一个目标要素的场景图像帧序列代表了一个3d场景图像帧序列,一个3d场景的图像帧序列中包含了一个或多个目标要素。
[0067]
之后,遍历一个3d场景图像帧序列,对每个场景图像帧序列中的每张图像帧,根据相机参数,对原图、语义分割图、实例分割图分别进行校正,以实现去畸变的目的,从而生成该场景图像帧序列的校正图序列,该校正图序列包括原图的校正图、语义分割图的校正图和实例分割的校正图。
[0068]
s130:根据所述场景图像帧序列和所述目标图像帧的拍摄装置的位姿信息,生成
有尺度稀疏点云;其中,所述有尺度稀疏点云为包含位置信息的稀疏点云。
[0069]
s140:根据所述分割结果和所述有尺度稀疏点云,生成所述目标要素的对应的语义稀疏点云。
[0070]
这里的分割结果可以是语义分割结果,根据语义分割结果对场景图像帧序列对应的场景点云中包含的非目标要素对应的点云进行过滤,从而准确确定目标要素对应的点云。
[0071]
这里的分割结果也可以是实例分割结果,根据实例分割结果对场景图像帧序列对应的场景点云中包含的目标要素对应的点云进行过滤,从而确定该目标要素对应的点云。当然,也可以根据语义分割结果和实例分割结果对场景点云进行处理,以准确得到各目标要素所对应的点云。即,通过语义分割结果和实例分割结果建立点云与各目标要素之间的联系,生成各目标要素对应的语义稀疏点云。
[0072]
s150:根据所述语义稀疏点云,生成与所述目标要素对应的矢量化地图要素。
[0073]
本说明书实施例中,通过对形状不规则的障碍物要素生成语义稀疏点云,具体的,通过对包含目标要素的场景图像序列帧生成包含位置信息的有尺度稀疏点云,并根据目标图像帧的分割结果和有尺度稀疏点云,生成目标要素对应的语义稀疏点云,根据语义稀疏点云,生成形状不规则的障碍物对应的矢量化地图要素。
[0074]
图3-4为本说明书实施例中龙门架的矢量化结果示意图,如图3和图4所示,在生成的各目标要素对应的语义点云中,选择该目标要素的对应的点云集合,在目标要素对应的点云集合中选择或生成能够代表所述目标要素轮廓的一系列关键点,通过所述一系列关键点可以抽象表示该目标要素。例如,对于龙门架这个要素,对得到的龙门架对应的点云集合进行多次投影,得到能够代表龙门架轮廓的一系列关键点,并把这些点存储到json文件中。龙门架对应的一系列关键点,可以是龙门架面跟柱杆交汇区域的内点(即图4中a、b两点),对龙门架对应的语义稀疏点云矢量化的过程中,会对该点云做一系列的投影等操作,算出这两个点的位置信息和高程,根据这两个点的位置信息和高程在高精度地图中生成该龙门架所对应的地图要素。
[0075]
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
[0076]
图2中的方法,用于对形状不规则的障碍物的面要素生成对应的语义稀疏点云,具体的,通过对包含目标要素的场景图像序列帧生成有尺度稀疏点云,并根据目标图像帧的分割结果和有尺度稀疏点云,生成目标要素对应的语义稀疏点云,根据所述语义稀疏点云,生成形状不规则的障碍物所对应的矢量化地图要素。
[0077]
基于图2的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
[0078]
本说明书实施例中,所述根据所述场景图像帧序列和所述目标图像帧的拍摄装置的位姿信息,生成有尺度稀疏点云,具体包括:
[0079]
根据所述场景图像帧序列,生成与所述场景图像帧序列对应的无尺度稀疏点云;所述无尺度稀疏点云为不包含位置信息的稀疏点云;
[0080]
根据所述目标图像帧的拍摄装置的位姿信息以及所述无尺度稀疏点云,生成所述有尺度稀疏点云。
[0081]
将包含目标要素的场景图像帧序列输入dsm(direct sparse mapping,直接稀疏法建图)中进行初始化,以生成该目标要素的场景序列帧进行三维重建所需的尺度因子,后续,可根据该尺度因子对包含该目标要素的场景图像帧序列进行三维重建,从而得到包含该目标要素的场景图像帧序列所对应的无尺度稀疏点云,这里的无尺度稀疏点云不包含位置信息。
[0082]
由于三维重建得到的无尺度稀疏点云中各目标要素所对应的位置信息与拍摄该场景图像帧序列的拍摄装置的所在位置和姿态相关,所以,根据该场景图像帧序列的拍摄装置的位姿信息,确定场景图像帧序列中每个目标要素所对应的位置信息,从而生成有尺度稀疏点云;其中,所述有尺度稀疏点云为包含位置信息的稀疏点云。
[0083]
本说明书实施例中,
[0084]
所述根据所述目标图像帧的拍摄装置的位姿信息以及所述无尺度稀疏点云,生成有尺度稀疏点云之前,还包括:
[0085]
若由于采集所述目标图像帧时的光照变化导致生成所述无尺度稀疏点云失败,则对所述场景图像帧序列中的场景图像帧进行色调调节处理,以降低所述场景图像帧的亮度范围,得到色调调节处理后的场景图像帧序列;
[0086]
根据所述色调调节处理后的场景图像帧序列,生成与所述场景图像帧序列对应的无尺度稀疏点云。
[0087]
在实际中,由于建筑物的遮挡或者拍摄装置的转向等因素,导致拍摄装置采集到的视频中可能出现光照的剧烈变化。而剧烈的光照变化往往会导致在dsm初始化失败,以致于无法生成所述无尺度稀疏点云。
[0088]
本说明书实施例中,在生成有尺度稀疏点云之前,可以通过对场景图像帧进行色调调节处理,来调整场景图像帧的亮度域,以减小光照变化对视频帧的影响,从而提高dsm初始化的成功率。
[0089]
本说明书实施例中,所述对所述场景图像帧序列中的场景图像帧进行色调调节处理,具体包括:
[0090]
裁剪所述场景图像帧若干底部像素和/或若干顶部像素;
[0091]
和/或,
[0092]
对所述场景图像帧进行色调映射处理。
[0093]
在实际中,由于光照的剧烈变化,场景图像帧中目标对象对应的亮度可能会出现过亮或过暗的情况,过亮或过暗都会导致场景图像帧中目标对象的细节纹理丢失。根据当前的场景推算出该场景的平均亮度,再根据这个平均亮度选取一个合适的亮度域,再将整个场景映射到这个亮度域得到色调映射的场景图像帧;由于色调映射的场景图像帧能够显示目标对象更多的细节纹理,因此可以减小光照变化对视频帧的影响,从而提高dsm初始化的成功率。
[0094]
另外,场景图像帧的底部区域通常是载体的机盖部分的影像,场景图像帧的顶部则往往是天空部分的影像。而某些情况下,机盖或天空过亮或过暗,也会导致该场景的平均亮度的过亮或过暗。因此,裁剪所述场景图像帧若干底部像素和/或若干顶部像素后,在进行色调映射处理,可以使得根据当前的场景推算出该场景的平均亮度更加接近于目标对象的亮度,从而显示目标对象更多的细节纹理,因此可以减小光照变化对视频帧的影响,并提
高dsm初始化的成功率。
[0095]
本说明书实施例中,可以单独进行剪裁或者色调映射,也可以剪裁和色调映射共同进行。进一步的,裁剪由两个参数控制,具体的,一个裁剪参数用于表示控制图片底部区域裁剪的像素行数,另一个裁剪参数用于表示控制中间裁剪后保留的像素数,色调映射由一个参数控制,初始化开始时,通过动态调整上述三种参数组合去尝试初始化,直到初始化成功,如果所有参数组合都失败,则初始化失败。并且,可以使用统计的方法,找出成功率较高的参数组,按照成功率给参数组排序,有利于提高初始化成功的效率。
[0096]
本说明书实施例中,所述根据所述目标图像帧的拍摄装置的位姿信息以及所述无尺度稀疏点云,生成有尺度稀疏点云之前,还包括:
[0097]
获取所述目标图像帧对应的所述拍摄装置的初始位姿信息;
[0098]
根据所述目标图像帧的生成时间和所述拍摄装置生成一行像素的时间,在所述初始位姿信息的基础上,对每一行像素对应的所述位姿信息进行补偿。
[0099]
在实际中,拍摄装置分为全局快门型和卷帘快门型两种。全局快门型相机对所有的像素点同时进行曝光,而卷帘快门型相机在拍摄时逐行进行曝光,相邻两行像素的曝光时间具有固定的间隔。
[0100]
若卷帘快门型相机处于快速移动状态,采集到的目标图像帧将会出现图5所示的果冻效应,每一行像素的重建结果会相对上一行有所偏移,每一行的像素都对应着一个位姿状态,设每一行像素用ui表示,则其对应的位姿可表示为:其中分别是每一行像素的旋转平移量,考虑到运行状态,其旋转平移量分别可以表示为:
[0101][0102][0103]
其中,旋转是根据罗德里格斯公式得来,ω,n分别表示旋转角速度和旋转向量,d为当前帧所对应的平移速度,r0,t0分别是基准的旋转平移。由于每一行像素之间的姿态变化角度都很微小,所以可以将旋转作如下近似:
[0104][0105]
进而可以得出每一行像素所对应的位姿为:
[0106][0107]
由前后两帧之间的匹配点对之间的对极约束可知:
[0108][0109][0110]
其中,表示前后两帧某一像素点的真
实平移量(ui,u
′i分别为前后帧匹配好的像素点坐标为已知量,x
′i分别是前后帧匹配好的像素点在目标图像帧中的像素坐标,d1,d2分别是前后两帧对基准平移的偏移量),表示前后两帧某一像素点的真实旋转量(w1,w2分别是前后两帧之间的旋转量待求)。为本质矩阵,然后通过足够多的匹配点对就能够有解算出进而可以分解出我们需要的未知量。
[0111]
基于此,本说明书实施例首先假设拍摄装置是全局快门型相机,或者根据imu传感器的数据可以初步估计出某一帧图片的位姿t,然后根据相机逐行曝光一张图片的所需要的总时间,可以恢复出每一行像素的时间,最后,通过每一行像素的时间以及当前载体旋转和平移的速度,在初始估计的位姿的基础上对每一行像素对应的位姿进行差值计算,进而实现对整张图片的位姿进行矫正补偿。
[0112]
本说明书实施例中,所述根据所述分割结果和所述有尺度稀疏点云,生成所述目标要素的对应的语义稀疏点云,具体包括:
[0113]
根据所述有尺度稀疏点云和所述目标图像帧对应的包含语义信息的分割结果,生成所述目标要素对应的所述语义稀疏点云。
[0114]
本说明书实施例中,所述分割结果可以包括语义分割图、实例分割图和全景分割图。通过分割结果中的语义信息,标注所述有尺度稀疏点云中每个点的语义信息,建立目标图像帧中目标要素的实例分割结果与有尺度稀疏点云之间的对应关系,进而生成所述目标要素的对应的语义稀疏点云。
[0115]
本说明书实施例中,所述分割结果包括实例分割图;所述实例分割图中的颜色值与目标对象一一对应;所述目标对象包括所述目标要素;
[0116]
所述根据所述分割结果和所述有尺度稀疏点云,生成所述目标要素的对应的语义稀疏点云,具体包括:
[0117]
根据所述有尺度稀疏点云中各点对应的第一颜色值,对所述各点进行上色,得到第一点云集合;所述第一颜色值为所述有尺度稀疏点云中各点对应的实例分割图中的像素点的颜色值;
[0118]
对所述第一点云集合进行筛选,得到目标颜色的目标点云集合;所述目标颜色为所述目标要素在所述实例分割图中的颜色。
[0119]
本说明书实施例中,所述实例分割图是基于实例分割算法(instance segmentation)得到的。在所述实例分割图中前景对象(即目标对象)被赋予语义信息,语义信息可以通过所述实例分割图中的颜色值来表示;具体来说,所述实例分割图中的颜色值可以表示目标对象所属的类别和所属实例。
[0120]
本说明书实施例中,由于所述有尺度稀疏点云和所述实例分割图,都是基于所述场景图像帧得到的,因此所述有尺度稀疏点云中任一点根据其对应的场景图像帧中像素点的坐标,可以获取实例分割图中像素点的颜色值。
[0121]
本说明书实施例中,对所述有尺度稀疏点云进行上色得到语义稀疏点云,语义稀疏点云的颜色值可以表示其所属类别和所述实例。根据目标对象对应的颜色值进行筛选,
即可得到目标对象对应的目标点云集合。
[0122]
本说明书实施例中,所述分割结果包括语义分割图和实例分割图;所述语义分割图中颜色值和目标对象的类型一一对应;所述实例分割图中的颜色值与目标对象一一对应;所述目标对象包括所述目标要素;
[0123]
所述根据所述分割结果和所述有尺度稀疏点云,生成所述目标要素的对应的语义稀疏点云,具体包括:
[0124]
根据所述有尺度稀疏点云中各点对应的第二颜色值,对所述有尺度稀疏点云中各点进行上色,得到第二点云集合;所述第二颜色值为所述有尺度稀疏点云中各点对应的语义分割图中的像素点的颜色值;
[0125]
根据所述第二点云集合中的各点对应的第一颜色值,对所述第二点云集合中的各点进行上色,得到第一点云集合;所述第一颜色值为所述有尺度稀疏点云中各点对应的实例分割图中的像素点的颜色值;
[0126]
对所述第一点云集合进行筛选,得到目标颜色的目标点云集合;所述目标颜色为所述目标要素在所述实例分割图中的颜色。
[0127]
本说明书实施例中,所述语义分割图是基于语义分割算法(semantic segmentation)得到的。在所述语义分割图中前景对象(即目标对象)被赋予语义信息,语义信息可以通过所述实例分割图中的颜色值来表示;具体来说,所述语义分割图中的颜色值可以表示目标对象所属的类别。
[0128]
本说明书实施例中,由于所述语义分割图,也是基于所述场景图像帧得到的,因此所述有尺度稀疏点云中任一点根据其对应的场景图像帧中像素点的坐标,同样可以获取语义分割图中像素点的颜色值。
[0129]
本说明书实施例中,首先根据所述有尺度稀疏点云中各点对应的语义分割图中的像素点的颜色值,对所述有尺度稀疏点云进行第一次上色;对所述有尺度稀疏点云中第一上色后的各点,根据所述有尺度稀疏点云中各点对应的实例分割图中的像素点的颜色值进行第二次上色(覆盖第一颜色值),得到语义稀疏点云。语义稀疏点云的颜色值可以表示其所属类别和所述实例。根据目标对象对应的颜色值进行筛选,即可得到目标对象对应的目标点云集合。
[0130]
通过两次上色,即可实现利用语义分割图对实例分割图进行修正,从而提高了所述语义稀疏点云的语义信息的准确性。
[0131]
本说明书实施例中,所述根据所述语义稀疏点云,生成与所述目标要素对应的矢量化地图要素,具体包括:
[0132]
对所述目标点云集合进行投影,生成代表所述目标要素轮廓的一系列关键点;
[0133]
对所述一系列关键点进行拟合得到与所述目标要素对应的所述矢量化地图要素。
[0134]
具体的,以隧道的矢量化为例,首先对目标点云集合按照点与点之间的距离来进行点云的聚类,将距离较近的点聚在一起,挑选出点数量最多的一类,其他的点云都舍去,从而过滤掉一些干扰点;其次对数量最多的一类点云进行栅格化,对一些栅格中点密度比较小的部分点云又可以进一步滤除;对剩下的点云进行xoy面和yoz面上的投影,目的是为了确定隧道的“圆心点”,然后根据栅格化的点,计算栅格点云的中心点,计算出栅格中心点到“圆心点”的距离和角度,最后,以一定的角度区间来划分寻找距离最短的栅格中心点,即
可得到代表隧道轮廓的一系列关键点。对所述一系列关键点进行拟合得到隧道对应的矢量化地图要素。
[0135]
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图6为本说明书实施例提供的对应于图1的一种高精度地图的生成装置的结构示意图。如图6所示,该装置可以包括:
[0136]
获取模块601:用于获取若干目标图像帧的分割结果;
[0137]
图像帧序列生成模块602:用于根据所述分割结果,生成包含目标要素的场景图像帧序列;所述目标要素不具有用于描述所述目标要素的几何模型;
[0138]
有尺度点云生成模块603:用于根据所述场景图像帧序列和所述目标图像帧的拍摄装置的位姿信息,生成有尺度稀疏点云;其中,所述有尺度稀疏点云为包含位置信息的稀疏点云;
[0139]
语义点云生成模块604:用于根据所述分割结果和所述有尺度稀疏点云,生成所述目标要素的对应的语义稀疏点云;
[0140]
矢量化模块605:根据所述语义稀疏点云,生成与所述目标要素对应的矢量化地图要素。
[0141]
基于图6的装置,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
[0142]
可选的,有尺度点云生成模块603:具体用于:
[0143]
根据所述场景图像帧序列,生成与所述场景图像帧序列对应的无尺度稀疏点云;所述无尺度稀疏点云为不包含位置信息的稀疏点云;
[0144]
根据所述目标图像帧的拍摄装置的位姿信息以及所述无尺度稀疏点云,生成所述有尺度稀疏点云。
[0145]
可选的,所述装置还包括:色调调节模块,用于若由于采集所述目标图像帧时的光照变化导致生成所述无尺度稀疏点云失败,则对所述场景图像帧序列中的场景图像帧进行色调调节处理,以降低所述场景图像帧的亮度范围,得到色调调节处理后的场景图像帧序列;根据所述色调调节处理后的场景图像帧序列,生成与所述场景图像帧序列对应的无尺度稀疏点云。
[0146]
可选的,所述色调调节模块,具体用于:裁剪所述场景图像帧若干底部像素和/或若干顶部像素;和/或,对所述场景图像帧进行色调映射处理。
[0147]
可选的,所述装置还包括:点云矫正模块,用于获取所述目标图像帧对应的所述拍摄装置的初始位姿信息;根据所述目标图像帧的生成时间和所述拍摄装置生成一行像素的时间,在所述初始位姿信息的基础上,对每一行像素对应的所述位姿信息进行补偿。
[0148]
可选的,所述语义点云生成模块604,具体用于:根据所述有尺度稀疏点云和所述目标图像帧对应的包含语义信息的分割结果,生成所述目标要素对应的所述语义稀疏点云。
[0149]
可选的,所述分割结果包括实例分割图;所述实例分割图中的颜色值与目标对象一一对应;所述目标对象包括所述目标要素;
[0150]
所述语义点云生成模块604,具体用于:
[0151]
根据所述有尺度稀疏点云中各点对应的第一颜色值,对所述各点进行上色,得到
第一点云集合;所述第一颜色值为所述有尺度稀疏点云中各点对应的实例分割图中的像素点的颜色值;对所述第一点云集合进行筛选,得到目标颜色的目标点云集合;所述目标颜色为所述目标要素在所述实例分割图中的颜色。
[0152]
可选的,所述分割结果语义分割图和实例分割图;所述语义分割图中颜色值和目标对象的类型一一对应;所述实例分割图中的颜色值与目标对象一一对应;所述目标对象包括所述目标要素;
[0153]
所述语义点云生成模块604,具体用于:
[0154]
根据所述有尺度稀疏点云中各点对应的第二颜色值,对所述有尺度稀疏点云中各点进行上色,得到第二点云集合;所述第二颜色值为所述有尺度稀疏点云中各点对应的语义分割图中的像素点的颜色值;根据所述第二点云集合中的各点对应的第一颜色值,对所述第二点云集合中的各点进行上色,得到第一点云集合;所述第一颜色值为所述有尺度稀疏点云中各点对应的实例分割图中的像素点的颜色值;对所述第一点云集合进行筛选,得到目标颜色的目标点云集合;所述目标颜色为所述目标要素在所述实例分割图中的颜色。
[0155]
可选的,所述矢量化模块605,具体用于:
[0156]
对所述目标点云集合进行投影,生成代表所述目标要素轮廓的一系列关键点;对所述一系列关键点进行拟合得到与所述目标要素对应的所述矢量化地图要素。
[0157]
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
[0158]
图7为本说明书实施例提供的对应于图1的一种高精度地图的生成设备的结构示意图。
[0159]
如图7所示,设备700可以包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的高精度地图的生成方法。
[0160]
基于图7的设备,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。所述设备700,具体可以包括:
[0161]
至少一个处理器710;以及,
[0162]
与所述至少一个处理器通信连接的存储器730;其中,
[0163]
所述存储器730存储有可被所述至少一个处理器710执行的指令720,所述指令被所述至少一个处理器710执行,以使所述至少一个处理器710能够:
[0164]
获取若干目标图像帧的分割结果;
[0165]
根据所述分割结果,生成包含目标要素的场景图像帧序列;所述目标要素不具有用于描述所述目标要素的几何模型;
[0166]
根据所述场景图像帧序列和所述目标图像帧的拍摄装置的位姿信息,生成有尺度稀疏点云;其中,所述有尺度稀疏点云为包含位置信息的稀疏点云;
[0167]
根据所述分割结果和所述有尺度稀疏点云,生成所述目标要素的对应的语义稀疏点云;
[0168]
根据所述语义稀疏点云,生成与所述目标要素对应的矢量化地图要素。
[0169]
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的高精度地图的生成方法。
[0170]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图7所示的高精度地图的生成设备而言,由于其基本相似于方法实施例,所以,描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0171]
语义稀疏点云在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0172]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此,这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0173]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0174]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0175]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0176]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0177]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0178]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0179]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0180]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0181]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字符多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0182]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0183]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0184]
本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0185]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1