本发明涉及三维重建,具体涉及确定路面高度的方法、装置、计算机设备及存储介质。
背景技术:
1、在三维场景重建技术领域,对整个场景进行重建时,一般会将三维场景重建算法进行解耦,分为地上物重建和地面重建。
2、在进行地面重建时,地面重建算法一般会假设地面是平的。但实际上,大多数地面都是有起伏的。因此,通过该地面重建算法进行地面重建,得到的路面三维模型的准确性较低。
技术实现思路
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、具体地,由于图像中每个像素的色彩值就是实际的色彩值,而图像中每个像素的语义类别是通过语义分割算法确定出的,即像素的语义类别与现实也存在一定误差。因此,对于第三损失值来说,可以根据语义分割的质量来确定语义类别权重值。这样,可以确定出较为准确的损失值。
38、在一种可选的实施方式中,所述第三损失函数采用如下表达式:
39、l=loss_rgb +w2·loss_sem……(1)
40、其中,l为所述第一损失值,loss_rgb为所述第二损失值,w2为所述语义类别权重值,loss_sem为所述第三损失值。
41、具体地,由于图像中每个像素的语义类别是通过语义分割算法确定出的,即像素的语义类别与现实也存在一定误差。因此,在计算损失值的时候,以语义类别权重值指示该误差,可以确定出较为准确的损失值。
42、在一种可选的实施方式中,所述方法还包括:
43、获取目标语义类别;
44、从所述路面重建范围对应的多个网格中,选取语义类别为所述目标语义类别的网格顶点,构成首轮稠密操作对应的目标网格顶点集合;
45、基于所述首轮稠密操作对应的目标网格顶点集合中每个网格顶点的路面坐标和路面高度,对所述首轮稠密操作对应的目标网格顶点集合中每个网格顶点分别进行稠密操作,获取首轮稠密操作对应的稠密网格顶点集合;
46、对所述首轮稠密操作对应的目标网格顶点集合和所述稠密网格顶点集合进行融合,得到首轮稠密操作对应的第一采样点集合;
47、基于首轮稠密操作对应的预设采样数量,对所述第一采样集合中的网格顶点进行采样,得到下一轮稠密操作对应的网格顶点集合;
48、在非首轮稠密操作中,基于上一轮的目标网格顶点集合中每个网格顶点对应的路面坐标和路面高度,对上一轮的所述目标网格顶点集合中的每个网格顶点进行稠密操作,得到本轮对应的稠密网格顶点集合;
49、对所述本轮稠密操作对应的目标网格顶点集合和所述本轮对应的所述稠密网格顶点集合进行融合,得到本轮稠密操作对应的采样点集合;
50、当本轮稠密操作对应的操作次数等于预设操作次数时,对本轮稠密操作对应的采样点集合进行采样操作,获取目标网格顶点集合;
51、将所述目标网格顶点集合与所述路面重建范围对应的多个网格进行合并,再进行三角化处理,得到稠密化后的所述路面重建范围对应的多个网格,稠密化后的所述路面重建范围对应的多个网格构成所述目标路面的三维重建模型。
52、具体地,由于有些语义类别需要重点关注(即目标语义类别),相应的网格顶点需要更多,以构建更精细的网格。因此,通过对目标语义类别的网格顶点进行多轮稠密操作,可以精细化目标语义类别的网格。进一步,使得构建的路面的三维重建模型准确性更高。
53、第二方面,本发明提供了一种确定路面高度的装置,所述装置包括:
54、获取模块,用于获取目标车辆在目标路面行驶过程中拍摄的多帧图像,以及预设路面宽度;基于所述多帧图像,获取目标轨迹,其中,所述目标轨迹中包括多个轨迹点分别对应的轨迹坐标以及多个轨迹点分别对应的路面高度,所述轨迹坐标用以指示所述目标车辆在与所述目标路面对应的参考坐标系中的路面坐标;
55、确定模块,用于基于所述预设路面宽度和所述目标轨迹中每个轨迹点对应的路面坐标,确定与所述目标路面对应的路面重建范围;
56、网格化模块,用于基于预配置的网格大小,对所述路面重建范围对应的三维空间进行网格化,得到所述路面重建范围对应的多个网格;
57、所述确定模块,用于基于所述目标轨迹中每个轨迹点对应的所述路面坐标,确定每两个相邻轨迹点之间的距离;基于所述每两个相邻轨迹点之间的距离和所述预设路面宽度,确定每两个相邻轨迹点之间的覆盖路面范围;
58、选取模块,用于在所述路面重建范围对应的多个网格中选取所述覆盖路面范围所涵盖的多个网格;
59、所述确定模块,用于将第一组相邻的两个轨迹点中目标轨迹点对应的路面高度确定为第一组相邻的两个轨迹点所对应的覆盖路面范围涵盖的多个网格中每个网格顶点的路面高度,其中,所述第一组相邻的两个轨迹点为所述目标轨迹中任一组相邻的两个轨迹点,所述目标轨迹点为所述第一组相邻的两个轨迹点中的第一个轨迹点。
60、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的确定路面高度的方法。
61、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的确定路面高度的方法。