本公开涉及数据处理,具体而言,涉及一种网格数据生成方法、计算机设备及程序产品。
背景技术:
1、占用网络(occupancy networks,occ)是一种用于三维场景建模和分割的神经网络技术,其能够从单个或多个视角的输入数据中推断出空间中的物体边界和占用情况,从而给自动驾驶做出指导。
2、一般的,occ识别模型在训练时,训练的样本数据需要包括occ网格的真值数据,具体包括将三维空间划分后的各个网格的占用情况、所述类别或者运动情况等其他信息。由于occ网格数据在标注时一般是基于采集的点云数据进行人工标注,数据量较少,且标注较为繁琐。
技术实现思路
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、对所述待加密点云数据进行增密处理,并基于增密处理后的点云数据,确定所述融合点云数据。
40、一种可能的实施方式中,在所述稠密度检测结果为不通过的情况下,所述稠密度检测结果还包括所述待加密点云数据中稀疏点云的区域信息;
41、所述对所述待加密点云数据进行增密处理,包括:
42、基于所述稀疏点云的区域信息,确定所述稀疏点云在所述待加密点云数据对应的目标深度图像中的稀疏区域;
43、对所述目标深度图像中的稀疏区域进行上采样,基于上采样后的目标深度图像确定所述增密处理后的点云数据。
44、一种可能的实施方式中,在所述第一点云数据和所述第二点云数据包含道路点云数据的情况下,所述融合点云数据包括融合道路点云数据;
45、所述方法还包括根据以下方法确定所述融合道路点云数据:
46、将所述第一点云数据中的道路点云数据和所述第二点云数据中的道路点云数据进行融合,得到中间点云数据;
47、基于所述中间点云数据在图像平面上进行平面拟合,得到拟合后的道路平面;
48、按照预设间隔在所述道路平面上进行采样,并将采样得到的点作为所述融合道路点云数据中的点云点。
49、第二方面,本公开实施例还提供一种计算机设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
50、第三方面,本公开实施例还提供一种计算机程序产品,包括计算机程序,当所述计算机程序被执行时实现上述第一方面,或第一方面中任一种可能的实施方式中所述的方法。
51、本公开所提供的网格数据生成方法、计算机设备及程序产品中,可以在获取初始图像之后,确定初始图像对应的目标深度图像以及语义图像,并基于目标深度图像和语义图像,生成初始图像对应的语义点云数据,再基于语义点云数据,生成占用网格数据。通过这种方法,可以直接基于初始图像对应的目标深度图像和语义图像,自动生成带有语义信息的语义点云数据,避免了在直接采集的点云数据上进行语义标注的过程,并且可以基于自动生成的语义点云数据,生成占用网格数据,无需人工进行网格划分和标注,提高了占用网格数据的生产效率。
52、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。