3D模型构建方法、装置和电子设备与流程
未命名
07-14
阅读:204
评论:0

3d模型构建方法、装置和电子设备
技术领域
1.本技术实施例涉及3d模型构建技术,尤其涉及一种3d模型构建方法、装置和电子设备。
背景技术:
2.3d地图相较于2d地图包含更丰富的信息,用户在查看3d地图时能够看到三维的物体,用户体验高。其中,构建3d地图的过程中需要构建准确、精细度高的3d模型,如构建城市中的建筑物的3d模型等。
3.目前,现有技术中构建3d模型存在精度低、构建效率低的问题。
技术实现要素:
4.本技术实施例提供一种3d模型构建方法、装置和电子设备,可以提高构建3d模型的精度和构建效率。
5.第一方面,本技术实施例提供一种3d模型构建方法,执行该方法的执行主体可以为电子设备或电子设备中的芯片,下述以电子设备为例进行说明。该方法中,电子设备可以从待处理数据中提取对象的多个平面。其中,所述对象为待构建3d模型的对象,所述待处理数据为rgb点云或mesh网格。在一种实施例中,该待处理数据为包含有对象的rgb点云或mesh网格,或者该待处理数据就为对象的rgb点云或mesh网格。
6.电子设备提取对象的多个平面后,可以对各平面进行两两空间相交计算,得到所述对象的多个候选表面,以及由所述多个候选表面构成的至少两个多面体。本技术实施例中,电子设备可以将所述待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体。
7.其中,所述第一数据包含于所述待处理数据,当所述待处理数据为所述rgb点云时,所述第一数据为第一rgb点云,第一rgb点云包含于所述rgb点云,其中将待处理数据投影至每个候选表面,即为将rgb点云投影至每个候选表面。当所述待处理数据为所述mesh网格时,所述第一数据为第一mesh网格,第一mesh网格包含于所述mesh网格,其中将待处理数据投影至每个候选表面,即为将mesh网格的顶点投影至每个候选表面。应理解的是,所述第一候选表面包含于所述多个候选表面,且所述第一候选表面为所述第一多面体的表面。
8.电子设备可以根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量,获取所述第一多面体的内外标签。其中,所述内外标签表征所述第一多面体为所述对象外部的多面体或内部的多面体。电子设备可以根据所述第一多面体的内外标签,构建所述对象的3d模型。在一种实施例中,电子设备在得到对象的3d模型后,可以输出对象的3d模型,以使得用户可以实时观看到构建的3d模型,使得3d模型实现可视化。
9.本技术实施例中,电子设备结合平面形状提取、空间相交计算、空间平面投影、多面体拓扑构建、表面优化计算生成模型等用于对对象进行模型简化重构,可以提高3d模型的精度,以得到lod3级别的模型,且自动化构建的方式可以提高3d模型的构建效率。
10.下述对电子设备进行平面形状提取的过程进行说明:
11.电子设备可以将共面的待处理数据所在的平面作为一个平面,以得到所述多个平面。其中,当所述待处理数据为所述rgb点云时,电子设备可以根据所述rgb点云的空间位置关系,将共面的rgb点云所在的平面作为一个平面。示例性的,电子设备可以采用区域生长算法或者随机抽样一致算法,将共面的rgb点云所在的平面作为一个平面。当所述待处理数据为所述mesh网格时,电子设备可以根据所述mesh网格的邻接拓扑关系,将共面的mesh网格所在的平面作为一个平面。示例性的,电子设备可以采用区域生长算法或者随机抽样一致算法,将共面的mesh网格所在的平面作为一个平面。
12.下述对电子设备进行空间相交计算的过程进行说明:
13.电子设备在得到对象的多个平面后,可以对所述各平面进行两两空间相交计算,得到多个相交线,进而以相交线作为边界,对相交线构成的每个空间平面进行约束三角化计算,得到所述多个候选表面,如此电子设备可以根据每个候选表面的邻接关系,得到所述至少两个多面体。
14.下述对电子设备进行空间平面投影的过程进行说明:
15.其中,电子设备可以将所述待处理数据投影至每个候选表面。当所述待处理数据为所述rgb点云时,电子设备可以将rgb点云投影至每个候选表面,即将每个rgb点云投影至每个候选表面。当所述待处理数据为所述mesh网格时,电子设备可以将mesh网格的顶点投影至每个候选表面。在投影之后,电子设备可以根据所述第一数据与每个所述候选表面的距离,以及所述第一数据的投影点与每个所述候选表面的位置关系,确定所述第一数据对应的第一候选表面。所述第一候选表面所属的多面体为所述第一多面体。
16.在一种可能的实现方式中,电子设备可以根据采用拓扑组合图的方式构建“点—点,点—面,面—面,面—体”之间的拓扑关系,进而得到第一候选表面所属的第一多面体。
17.在一种可能的实现方式中,电子设备可以将与所述第一数据距离最近的、以及所述第一数据的投影点落入的候选表面作为所述第一数据对应的第一候选表面。
18.下述对电子设备进行表面优化计算生成模型的过程进行说明:
19.在如上说明中,电子设备可以得到第一数据对应的第一候选表面、第一多面体,如第一rgb对应的第一候选表面、第一多面体,或者可以得到第一mesh网格对应的第一候选表面、第一多面体。
20.在一种实施例中,电子设备可以根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量的相关性,获取所述第一多面体的内外标签的权重,当所述第一数据为所述第一mesh网格时,所述第一多面体的中心点至所述第一数据的向量为所述第一多面体的中心点至所述第一mesh网格的中心点的向量。示例性的,电子设备可以获取每个第一数据的法向向量,以及所述第一多面体的中心点至所述第一多面体对应的每个第一数据的向量的相关性,进而根据正相关的数量和负相关的数量,获取所述第一多面体的内外标签的权重。示例性的,如正相关的数量越大,则第一多面体的内标签的权重越大,如负相关的数量越大,则第一多面体的外标签的权重越大。
21.进而,电子设备可以以所述对象中包含的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,获取所述第一多面体的内外标签。其中,在一种实施例中,电子设备可以以所述对象中的所有
的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,采用最大流算法或最小割算法,获取所述第一多面体的内外标签。
22.电子设备在获取对象的每个第一多面体的内外标签(即表征第一多面体属于对象的外多面体还是内多面体),可以将所述对象中的内部的多面体和外部的多面体的邻接面,作为所述对象的表面,进而将表面进行拼接,构建所述对象的3d模型。
23.在一种实施例中,当所述待处理数据为所述对象的rgb点云或mesh网格时,电子设备还需要在构建3d模型之前,从初始数据中获取所述待处理数据,所述初始数据包含有至少一种对象的初始rgb点云或初始mesh网格。
24.其中,电子设备可以对初始数据进行处理,以得到对象的rgb点云或mesh网格。具体的,电子设备可以对所述初始数据进行多尺度空间采样,得到至少两个尺度的采样结果。其中,当所述初始数据为初始rgb点云时,电子设备可以执行如下步骤a和步骤b:
25.a,采用第i尺度的栅格切分所述初始rgb点云,获取每个栅格中的第i中心点云,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i中心点云的三维坐标和颜色信息,所述第i中心点云为栅格中包含的点云的中心点,所述i为大于或等于1为小于n的整数,所述n为大于1的整数。
26.b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两个尺度的采样结果。
27.当所述初始数据为初始mesh网格时,电子设备可以执行如下步骤a和步骤b:
28.a,以所述初始mesh网格的顶点作为球心,以第i尺度的半径的球体切分所述初始mesh网格,获取每个球体中的一个第i顶点,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i顶点的三维坐标和颜色信息,所述i为大于或等于1为小于n的整数,所述n为大于1的整数。
29.b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两个尺度的采样结果。
30.如上,考虑到由于城市建筑物尺寸大且局部结构差异大,高分辨率采样可以保留精细的结构却损失物体全局信息,而低分辨率采样可以拥有更大感受野却使损失了小物体的几何细节(即局部信息),因此本技术实施例中为了有效提取建筑物的结构信息,可以采用多尺度空间采样,便可以获取全局信息和局部信息。
31.电子设备在获取至少两个尺度的采样结果后,可以结合所述初始数据所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得到处理后的至少两个尺度的采样结果。其中,所述地形信息包括:所述初始数据所属区域的多个地形栅格的位置范围,以及每个地形栅格的海拔高度值。电子设备将落入第一地形栅格的位置范围中的初始数据的z值,减去所述第一地形栅格的海拔高度值,以完成对所述落入所述第一地形栅格的位置范围中的初始数据的正则化处理,所述第一地形栅格包含于所述多个地形栅格。
32.本技术实施例中,对每个尺度的采样结果进行正则化处理,使得不同城市场景(或不同区域)的对象的垂直性特征具有一致性,避免因地形信息差异大而造成的神经网络模型拟合误差大的问题,提高准确性。
33.电子设备在得到处理后的至少两个尺度的采样结果后,可以将所述处理后的至少
两个尺度的采样结果输入预先训练好的神经网络模型,得到携带有所述对象的标签的数据。其中,示例性的,如对象为建筑物,则携带有所述对象的标签的数据如携带有建筑物标签的rgb点云或mesh网格。携带有建筑物标签的rgb点云或mesh网格中可以包含有多个对象(如建筑物),本技术实施例中,电子设备可以对所述携带有所述对象的标签的数据进行对象分割,得到所述待处理数据,如每个对象对应的rgb点云或mesh网格。如此得到每个对象对应的rgb点云或mesh网格,进行后续平面提取等步骤,可以避免将不同对象的平面建模在一起,可以提高3d建模的准确性。
34.第二方面,本技术实施例提供一种3d模型构建装置,该装置可以为如上第一方面中的电子设备或电子设备中的芯片,该装置可以包括:
35.平面特征提取模块,用于从待处理数据中提取对象的多个平面,所述对象为待构建3d模型的对象,所述待处理数据为rgb点云或mesh网格。
36.空间相交计算模块,用于对各平面进行两两空间相交计算,得到所述对象的多个候选表面,以及由所述多个候选表面构成的至少两个多面体。
37.多面体拓扑构建模块,用于将所述待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体,所述第一数据包含于所述待处理数据,当所述待处理数据为所述rgb点云时,所述第一数据为第一rgb点云,当所述待处理数据为所述mesh网格时,所述第一数据为第一mesh网格,所述第一候选表面包含于所述多个候选表面,且所述第一候选表面为所述第一多面体的表面。
38.表面优化生成模块,用于根据所述第一数据的法向向量和所述第一多面体的中心点至所述第一数据的向量,获取所述第一多面体的内外标签,以及根据所述第一多面体的内外标签,构建所述对象的3d模型。其中,所述内外标签表征所述第一多面体为所述对象外部的多面体或内部的多面体。
39.在一种可能的实现方式中,平面特征提取模块,具体用于将共面的待处理数据所在的平面作为一个平面,以得到所述多个平面。
40.当所述待处理数据为所述rgb点云时,在一种可能的实现方式中,平面特征提取模块,具体用于根据所述rgb点云的空间位置关系,将共面的rgb点云所在的平面作为一个平面。
41.当所述待处理数据为所述mesh网格时,在一种可能的实现方式中,平面特征提取模块,具体用于根据所述mesh网格的邻接拓扑关系,将共面的mesh网格所在的平面作为一个平面。
42.在一种可能的实现方式中,空间相交计算模块,具体用于对所述各平面进行两两空间相交计算,得到多个相交线;以相交线作为边界,对相交线构成的每个空间平面进行约束三角化计算,得到所述多个候选表面;根据每个候选表面的邻接关系,得到所述至少两个多面体。
43.在一种可能的实现方式中,多面体拓扑构建模块,具体用于将所述待处理数据投影至每个候选表面,当所述待处理数据为所述mesh网格时,进行投影的为所述mesh网格的顶点;根据所述第一数据与每个所述候选表面的距离,以及所述第一数据的投影点与每个所述候选表面的位置关系,确定所述第一数据对应的第一候选表面。
44.在一种可能的实现方式中,多面体拓扑构建模块,具体用于将与所述第一数据距
离最近的、以及所述第一数据的投影点落入的候选表面作为所述第一数据对应的第一候选表面。
45.在一种可能的实现方式中,表面优化生成模块,具体用于根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量的相关性,获取所述第一多面体的内外标签的权重,当所述第一数据为所述第一mesh网格时,所述第一多面体的中心点至所述第一数据的向量为所述第一多面体的中心点至所述第一mesh网格的中心点的向量;以所述对象中包含的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,获取所述第一多面体的内外标签。
46.在一种可能的实现方式中,所述第一多面体对应多个第一数据,所述相关性包括正相关和负相关。表面优化生成模块,具体用于获取每个第一数据的法向向量,以及所述第一多面体的中心点至所述第一多面体对应的每个第一数据的向量的相关性;根据正相关的数量和负相关的数量,获取所述第一多面体的内外标签的权重。
47.在一种可能的实现方式中,表面优化生成模块,具体用于以所述对象中的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,采用最大流算法或最小割算法,获取所述第一多面体的内外标签。
48.在一种可能的实现方式中,表面优化生成模块,具体用于将所述对象中的内部的多面体和外部的多面体的邻接面,作为所述对象的表面;根据所述对象的表面,构建所述对象的3d模型。
49.在一种可能的实现方式中,所述待处理数据包含所述对象的rgb点云或mesh网格,或者所述待处理数据为所述对象的rgb点云或mesh网格。
50.当所述待处理数据为所述对象的rgb点云或mesh网格时,在一种可能的实现方式中,3d语义分割模块和实例分割模块用于从初始数据中获取所述待处理数据,所述初始数据包含有至少一种对象的初始rgb点云或初始mesh网格。
51.在一种可能的实现方式中,3d语义分割模块,具体用于对所述初始数据进行多尺度空间采样,得到至少两个尺度的采样结果,结合所述初始数据所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得到处理后的至少两个尺度的采样结果,以及将所述处理后的至少两个尺度的采样结果输入预先训练好的神经网络模型,得到携带有所述对象的标签的数据。
52.实例分割模块,具体用于对所述携带有所述对象的标签的数据进行对象分割,得到所述待处理数据。
53.在一种可能的实现方式中,当所述初始数据为初始rgb点云时,3d语义分割模块,具体用于执行步骤a和步骤b:
54.a,采用第i尺度的栅格切分所述初始rgb点云,获取每个栅格中的第i中心点云,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i中心点云的三维坐标和颜色信息,所述第i中心点云为栅格中包含的点云的中心点,所述i为大于或等于1为小于n的整数,所述n为大于1的整数。
55.b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两
个尺度的采样结果。
56.在一种可能的实现方式中,当所述初始数据为初始mesh网格时,3d语义分割模块,具体用于执行步骤a和步骤b:
57.a,以所述初始mesh网格的顶点作为球心,以第i尺度的半径的球体切分所述初始mesh网格,获取每个球体中的一个第i顶点,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i顶点的三维坐标和颜色信息,所述i为大于或等于1为小于n的整数,所述n为大于1的整数。
58.b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两个尺度的采样结果。
59.在一种可能的实现方式中,所述地形信息包括:所述初始数据所属区域的多个地形栅格的位置范围,以及每个地形栅格的海拔高度值。
60.3d语义分割模块,具体用于将落入第一地形栅格的位置范围中的初始数据的z值,减去所述第一地形栅格的海拔高度值,以完成对所述落入所述第一地形栅格的位置范围中的初始数据的正则化处理,所述第一地形栅格包含于所述多个地形栅格。
61.在一种可能的实现方式中,表面优化生成模块,具体用于输出所述对象的3d模型。
62.第三方面,本技术实施例提供一种电子设备,该电子设备可以包括:处理器、存储器。存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面中的方法。
63.第四方面,本技术实施例提供一种电子设备,该电子设备可以为第二方面的3d模型构建装置或第一方面所述的电子设备。该电子设备可以包括用于执行以上第一方面所提供的方法的单元、模块或电路。
64.第五方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
65.第六方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
66.上述第二方面至第六方面的各可能的实现方式,其有益效果可以参见上述第一方面所带来的有益效果,在此不加赘述。
附图说明
67.图1为本技术实施例提供的3d模型构建方法的一种实施例的流程示意图;
68.图2为本技术实施例提供的3d模型构建方法的另一种实施例的流程示意图;
69.图3为本技术实施例提供的多尺度空间采样的示意图;
70.图4为本技术实施例提供的dtm中栅格的示意图;
71.图5为本技术实施例使用的u-net网络架构的示意图;
72.图6为本技术实施例提供采用举了算法对对象进行分割的示意图;
73.图7a为本技术实施例使用的区域生长算法处理点云的示意图;
74.图7b为本技术实施例提供的平面代理的示意图;
75.图7c为本技术实施例提供的利用mesh网格的拓扑关系判断mesh网格共面的示意图;
76.图8a为本技术实施例提供的平面进行两两空间相交计算的示意图;
77.图8b为本技术实施例提供的点云投影至候选表面的示意图;
78.图8c为本技术实施例提供的多面体1的拓扑关系的示意图;
79.图8d为本技术实施例提供的获取向量之间的相关性的示意图;
80.图9为本技术实施例提供的内多面体和外多面体的示意图;
81.图10为本技术实施例提供的内多面体和外多面体邻接的表面的示意图;
82.图11为本技术实施例提供的3d模型构建方法的另一种实施例的流程示意图;
83.图12为本技术实施例提供的训练神经网络模型的一种流程示意图;
84.图13为本技术实施例提供的3d模型构建方法的另一种实施例的流程示意图;
85.图14为本技术实施例提供的电子设备的一种结构示意图;
86.图15为本技术实施例提供的电子设备的另一种结构示意图。
具体实施方式
87.本技术说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
88.在本技术实施例中,“示例性的”或者“例如”等词用于表示作示例、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
89.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术,下面将结合附图对本技术的实施例进行详细描述。
90.构建3d地图需要构建准确、精细度高的3d模型,如构建城市中的建筑物的3d模型,来准确描述环境信息。细节层次(levels of detail,lod)模型是表达物体3d形状的一种方式,lod模型根据模型的细节度可以包括:lod0级别、lod1级别、lod2级别,以及lod3级别等,级别越高,lod模型的细节度越高。其中,以建筑物的lod模型为例,lod0级别的模型包括建筑物的2d平面轮廓,lod1级别的模型包括建筑物的轮廓和高度,lod2级别的模型在lod1级别的基础上增加了屋顶的结构,lod3级别的模型在lod2级别的基础上增加了建筑物外立面的结构。
91.lod模型主要应用于如下场景:
92.1、视觉定位技术中,可以根据lod模型实现快速定位。
93.2、增强现实(augmented reality,ar)技术中,可以根据lod模型中的空间可视关系获取物体的虚实效果、遮挡效果。
94.3、ar技术中的光影渲染效果需要与周围环境lod模型进行光线追踪计算。
95.目前,现有技术中构建lod模型的方法可以如下1-2所示,1-2为表征现有技术的缺点的示例说明:
96.1、基于建筑物水平轮廓线(footprint)和数字地表模型(digital surface model,dsm)构建建筑物的lod模型。
97.该技术中构建的lod模型的准确度和精细度差,如可以构建lod1级别、lod2级别的3d模型,但无法构建lod1级别的模型。示例性的,使用该技术构建建筑物的3d模型时,无法
准确表达建筑物不规则的屋顶以及外立面结构。
98.2、根据三维实景模型或者航拍影像,人工逐点逐面构建出建筑物结构轮廓,生成轻量化、高细节度的lod3模型。
99.该技术中,完全基于人工建模,建模的时间长、效率低,且人工建模依赖专业的计算机辅助设计(computer aided design,cad)建模软件,难以大规模快速推广和覆盖。
100.基于现有技术中3d模型构建的问题,本技术实施例提供一种3d模型构建方法,使用三维rgb点云,从自动化点云3d语义分割、建筑物实例分割,到自动化构建建筑物高准确度和高精度的lod3模型,能够1:1还原真实建筑物结构及地理位置,建模时间短、效率高。
101.在一种实施例中,本技术实施例中使用的三维rgb点云也可以替换为三维mesh网格模型(简称为mesh网格)或携带有纹理的mesh网格,下述实施例中先以rgb点云为例说明本技术实施例提供的3d模型构建方法,再以mesh网格为例说明本技术实施例提供的3d模型构建方法。在一种实施例中,本技术实施例提供的3d模型构建方法不仅可以应用于建筑物的3d模型构建,也可以应用于其他对象的3d模型构建。其他对象包括但不限于:物体、人体、数目、车辆等。下述实施例中的示例中以3d构建模型的对象为建筑物为例进行说明。
102.本技术实施例涉及的术语释义:
103.rgb点云:包含有颜色信息(rgb)的点云。应理解,本技术实施例中的rgb点云可以包括点云的三维坐标(x,y,z)和颜色信息。
104.在一种实施例中,本技术实施例使用的rgb点云为密集rgb点云。
105.在一种实施例中,以构建城市的3d地图为例,本技术实施例使用的rgb点云可以为:采用无人机、飞机等航空摄影采集方式获取城市上空多角度rgb影像,进而通过多视角立体重建(multi-view stereo,mvs)技术重建生成的rgb点云。在一种实施例中,本技术实施例使用的rgb点云可以为:采用航拍rgb影像与地面街景rgb图像融合重建生成的rgb点云。在该种实施例中,rgb点云中可以包括城市中的建筑物、植物等多种类型的对象的rgb点云。
106.在一种实施例中,当构建室内3d地图时,可以使用不限于如下的方式获取室内的rgb点云:采用手持式/背包式激光扫描仪、固定支架激光扫描仪扫描室内、或者使用深度相机、全景相机或普通rgb相机拍摄室内。其中,采用全景相机或普通rgb相机拍摄的方式,需要通过拍摄多位置、多视角影像并通过mvs技术重建生成三维rgb点云,其余方式可通过扫描或拍摄直接获得rgb点云。深度相机可以包括但不限于:结构光(structured-light)深度相机、双目视觉(stereo)深度相机,以及光飞行时间法(tof)深度相机。
107.mesh网格:是一种通过点、线、面组合方式表达物体的几何形状的方式,mesh网格如可以由三角形网格、四边形网格或多边形网格实现。示例性的,mesh网格中可以包括:网格的每个顶点的三维坐标、颜色信息,以及法线和切线。其中,网格的顶点信息可以由网格的纹理转换得到,本技术实施例对此不做赘述。
108.在一种实施例中,本技术实施例使用的mesh网格模型为密集mesh网格模型。
109.在一种实施例中,以构建城市的3d地图为例,本技术实施例使用的mesh网格模型为:采用无人机、飞机等航空摄影采集方式获取城市上空多角度rgb影像,进而通过多视角立体重建(multi-view stereo,mvs)技术重建生成的mesh网格模型。在一种实施例中,本技术实施例使用的mesh网格为:采用航拍rgb影像与地面街景rgb图像融合重建生成的mesh网
格模型。
110.在一种实施例中,当构建室内3d地图时,可以使用如上获取rgb点云的方法获取室内的mesh网格。
111.建筑物实例:即建筑物。
112.实例分割:如实例为建筑物,则实例分割为将建筑物进行分割,得到单栋的建筑物。示例性的,如实例包含有3栋建筑物,则实例分割用于区分每栋建筑物,得到单栋的建筑物。可以想到的是,点云实例分割,是对点云中的每栋建筑物的点云进行区分,得到每个单栋的建筑物对应的点云。
113.地形信息:地形信息中包括各位置的二维坐标(x,y),以及各位置处的海拔高度值。在一种实施例中,本技术实施例中使用的地形信息可以为数字地形模型(digital terrain model)或采用地形提取算法计算生成的dtm地形信息等。
114.对象:待构建3d模型的物体,如建筑物、人体、数目、车辆等。
115.在一种实施例中,执行本技术实施例提供的3d模型构建方法的执行主体可以为电子设备,该电子设备可以包括但不限于为:3d模型构建计算机、服务器、服务器集群等,本技术实施例中对电子设备的形态不做具体限定,下述实施例中以电子设备为例进行说明。
116.下面结合具体的实施例对本技术实施例提供的3d模型构建方法进行说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。图1为本技术实施例提供的3d模型构建方法的一种实施例的流程示意图。参照图1,本技术实施例提供的3d模型构建方法可以包括:
117.s101,响应于3d模型的构建指令,对待构建3d模型的rgb点云进行多尺度空间采样,得到至少两个尺度的采样结果。
118.在一种实施例中,本技术实施例中提供一种3d模型构建平台,该平台部署在电子设备中,用户可以向3d模型构建平台中导入待构建3d模型的rgb点云。或者,3d模型构建平台可以使用本地存储的待构建3d模型的rgb点云。
119.在一种实施例中,假设待构建3d模型的为城市中目标区域的建筑物,则本技术实施例中使用的rgb点云为该目标区域的点云。目标区域可以理解为待构建3d模型的区域,目标区域示例性的可以为:a建筑物周围1千米范围内,或者b道路所在的区域等,本技术实施例对城市中目标区域如何划分不做限制。
120.在一种实施例中,3d模型构建平台可以提供用户输入构建指令或用户进行其他操作的界面。示例性的,如3d模型构建平台的界面上包含有“构建3d模型”的控件,用户点击该“构建3d模型”的控件,可以向电子设备输入构建指令。相应的,电子设备响应于接收3d模型的构建指令,可以开始构建3d模型。
121.其中,电子设备响应于接收3d模型的构建指令,可以对待构建3d模型的rgb点云(简称为rgb点云或点云)进行多尺度空间采样,得到至少两个尺度的采样结果。考虑到由于城市建筑物尺寸大且局部结构差异大,高分辨率采样可以保留精细的结构却损失物体全局信息,而低分辨率采样可以拥有更大感受野却使损失了小物体的几何细节(即局部信息),因此本技术实施例中为了有效提取建筑物的结构信息,可以采用多尺度空间采样rgb点云。
122.在一种实施例中,该待构建3d模型的rgb点云可以称为初始rgb点云。电子设备可以采用大小不同的栅格分别切分rgb点云,进而得到不同大小栅格切分的结果。在一种实施
例中,可以将栅格理解为立方体。下述对电子设备对待构建3d模型的rgb点云进行多尺度空间采样的过程进行说明:
123.1、采用第一尺度的栅格切分rgb点云。参照图3所示,rgb点云在三维立体空间中排布,第一尺度的栅格为2cm
×
2cm
×
2cm,可以将采用2cm
×
2cm
×
2cm的栅格将rgb点云进行切分,rgb点云落入不同的栅格中。在一种实施例中,每个栅格中可以采样一个点云,该点云的三维坐标可以为该栅格中落入所有点云的三维坐标的均值,该点云的颜色信息(即rgb值)可以为该栅格中落入所有点云的rgb值的均值。在一种实施例中,可以称每个栅格中采样的点云为第一中心点云,如图中每个栅格中黑色圆点所示。
124.如此,电子设备可以得到第一尺度的采样结果。该第一尺度的采样结果中可以包括:每个栅格中的第一中心点云(包括第一中心点云的三维坐标和颜色信息)。
125.2、采用第二尺度的栅格切分rgb点云。第二尺度大于第一尺度,示例性的,第二尺度的栅格为4cm
×
4cm
×
4cm,电子设备可以将采用4cm
×
4cm
×
4cm的栅格将rgb点云进行切分,rgb点云落入不同的栅格中。在一种实施例中,每个栅格中可以采样一个点云,该点云的三维坐标可以为该栅格中落入所有点云的三维坐标的均值,该点云的颜色信息(即rgb值)可以为该栅格中落入所有点云的rgb值的均值。在一种实施例中,可以称每个栅格中采样的点云为第二中心点云。
126.如此,电子设备可以得到第二尺度的采样结果。该第二尺度的采样结果中可以包括:每个栅格中的第二中心点云(包括第二中心点云的三维坐标和颜色信息)。
127.3、以此类推,直至采用第n尺度的栅格切分rgb点云,可以参照上述“采用第一尺度的栅格切分rgb点云”和“采用第二尺度的栅格切分rgb点云”中的相关描述。如此,电子设备可以得到第n尺度的采样结果。该第n尺度的采样结果中可以包括:每个栅格中的第n中心点云(包括第n中心点云的三维坐标和颜色信息)。n为大于1的整数,在一种实施例中,n的取值取决于对象,示例性的,n可以为3-5。
128.如此,电子设备可以获取n个尺度的采样结果。
129.在一种实施例中,如上1-3可以总结为步骤a-步骤b:
130.a,采用第i尺度的栅格切分初始rgb点云,获取每个栅格中的第i中心点云,以得到第i尺度的采样结果,第i尺度的采样结果中包括第i中心点云的三维坐标和颜色信息,第i中心点云为栅格中包含的点云的中心点,i为大于或等于1为小于n的整数,n为大于1的整数。示例性的,如i为1时,第i尺度为第一尺度,栅格为2cm
×
2cm
×
2cm。
131.b,判断i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到至少两个尺度的采样结果。
132.s102,结合待构建3d模型的rgb点云所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得到处理后的至少两个尺度的采样结果。
133.地形起伏显著地影响rgb点云的空间垂直性特征,而空间垂直性特征是区分建筑物与非建筑物的重要特征之一,而由地形起伏引起的点云空间垂直性特征差异,会导致无法正确区分建筑物与非建筑物。如此,本技术实施例中结合待构建3d模型的rgb点云所属区域的地形信息,对每个尺度的采样结果进行正则化(regularization)处理,使得不同城市场景(或不同区域)的建筑物的rgb点云垂直性特征具有一致性,避免因地形信息差异大而造成的神经网络模型拟合误差大的问题(神经网络模型可以参照下述图12中的相关描述)。
134.示例性的,如区域1的平均海拔高度值为akm,区域2的平均海拔高度值为bkm,因为海拔高度值不同,会造成具有相同高度的建筑物的点云的z值不同。本技术实施例中为了避免因为地形不同造成的rgb点云垂直性特征的不一致的问题,电子设备可以结合rgb点云所属区域的地形信息,对每个尺度的采样结果进行正则化处理,进而使得不同区域的rgb点云的基线相同,以消除地形信息造成的误差。
135.在一种实施例中,以区域1为例,区域1的地形信息中可以包括:区域1各位置处的二位坐标(x,y),以及对应位置处的海拔高度值。在一种实施例,区域1的地形信息可以以栅格化的形式存储。示例性的,参照图4所示,区域1的地形有起有伏,区域1可以划分为多个栅格(四边形),每个栅格对应一个二维坐标的范围以及一个海拔高度值。示例性的,如一个栅格对应的二维坐标的范围为:(x1,y1)、(x2,y2)至(x3,y3)、(x4,y4),本技术实施例中,电子设备可以将二维坐标落入该栅格对应的二维坐标的范围的rgb点云的z值,减去该栅格对应的海拔高度值,即完成对落入该栅格对应的二维坐标的范围的rgb点云的正则化处理。在一种实施例中,为了便于将地形信息中的栅格与上述多尺度采样中的栅格进行区分,可以将地形信息中的栅格称为“地形栅格”。
136.示例性的,栅格对应的二维坐标的范围为:(x1,y1)、(x2,y2)至(x3,y3)、(x4,y4),该栅格对应的海拔高度值为z
h1
,第一尺度的采样结果中,落入该“二维坐标的范围”的rgb点云包括点云1和点云2,点云1的z值为z1,点云2的z值为z2。电子设备可以将z1减去z
h1
作为点云1正则处理化后rgb点云的z值,将z2减去z
h1
作为点云2正则处理化后rgb点云的z值。
137.如上介绍了第一尺度的采样结果的点云的正则化处理方式,应理解的是,不同尺度的采样结果的正则化处理方式可以参照第一尺度的采样结果的点云的正则化处理方式的相关描述。如此,电子设备可以得到处理后的至少两个尺度的采样结果。
138.s103,将处理后的至少两个尺度的采样结果输入预先训练好的神经网络模型中,得到携带有对象标签的rgb点云。
139.神经网络模型用于对rgb点云进行分类,得到属于对象的rgb点云。示例性的,对象为建筑物,神经网络模型用于区分建筑物和非建筑物的rgb点云,进而将属于建筑物的rgb点云打上“建筑物”的标签,即神经网络模型可以输出携带有“建筑物”标签的rgb点云。神经网络模型的训练过程可以参照图12中的相关描述。在一种实施例中,神经网络模型输出的“携带有对象标签的rgb点云”也可以称为带有语义标签的全量rgb点云。语义标签可以理解为标识为“对象”的标签。
140.在一种实施例中,本技术实施例中使用的神经网络模型是基于u-net网络架构得到的。图5为u-net网络的一种结构示意图。参照图5,u-net网络架构包括:编码器和解码器。编码器用于提取rgb点云的特征,解码器用于基于rgb点云的特征进行语义分割。本技术实施例中对u-net网络架构不做赘述,可以参照现有的u-net网络架构的描述。
141.在一种实施例中,u-net网络架构包采样随机下采样的方式,对rgb点云逐层下采样,可以提高神经网络模型泛化能力和rgb点云语义分割(即区分建筑物和非建筑物的rgb点云)的速度。应理解,图5中的n表征一次处理点云的数量,示例性的,n为10240。如n/4表征点云下采样的数量为2560。tf(transformer)表征一种点云类别注意力机制,通过计算目标点云与邻近点云的语义特征的相似性表达邻近点的权重。us(up sampling)表征上采样。ds(down sampling)表征下采样。mlp(multi-layer perception)可以理解为多层感知机或点
云的多尺度特征融合。
142.本技术实施例中关注编码器提取rgb点云的特征的方式,下述对本技术实施例中编码器提取rgb点云的特征的过程以及现有技术中编码器提取rgb点云的特征的过程进行对比介绍:
143.现有技术中,以编码器提取rgb点云1的特征为例进行说明,编码器可以获取点云1预设空间范围内的多个点云。距离点云1预设空间范围可以理解为:以点云1为球心,以预设距离为半径的球体的范围内。编码器可以提取点云1,以及点云1预设空间范围内的每个点云的特征,进而将点云1的特征和点云1预设空间范围内的每个点云的特征进行融合,得到点云1的特征。
144.点云的特征可以包括但不限于为:空间几何特征、光谱特征。空间几何特征可以包括但不限于为:平面性、球面性、直线性、垂直性等。光谱特征可以包括但不限于:色度、亮度、饱和度。如以特征向量1(如a1)表征点云1的特征,以特征向量2(如a2)表征点云1预设空间范围内的每个点云的特征,则点云1的特征和该每个点云的特征进行融合可以理解为:融合特征向量1和特征向量2的特征向量,如融合后的特征向量为(a1,a2)。
145.与现有技术不同的是,以编码器提取rgb点云1的特征为例进行说明,编码器可以在不同尺度的采样结果中,获取点云1预设空间范围内的多个点云。示例性的,如编码器可以在第一尺度的采样结果中,获取点云1预设空间范围内的多个点云,且在第二尺度的采样结果中,获取点云1预设空间范围内的多个点云,
…
,以及在第n尺度的采样结果中,获取点云1预设空间范围内的多个点云。编码器可以提取点云1,以及在不同尺度的采样结果中点云1预设空间范围内的每个点云的特征,进而将点云1的特征和不同尺度的采样结果每个点云的特征进行融合,得到点云1的特征。
146.本技术实施例中,因为在对rgb点云进行预处理的过程中,可以对rgb点云进行多尺度空间采样,因此在编码器提取点云的特征时,可以将该点云与在不同尺度的采样结果中的点云的特征进行融合,得到该点云的特征。因为本技术实施例中结合了不同尺度的点云的特征,因此点云的特征相较于现有技术中的点云的特征更为丰富,实现了依据空间关系构建局部特征与全局特征的融合,可以提高神经网络模型分类的准确度,即可以提高区分建筑物和非建筑物的准确性。
147.s104,根据携带有对象标签的rgb点云,对对象进行分割,得到单独每个对象对应的rgb点云。
148.在一种实施例中,单独每个对象对应的rgb点云可以称为待处理数据。
149.以对象为建筑物为例,点云分割可以简单理解为:对点云中的每栋建筑物的点云进行区分,得到单栋的建筑物对应的点云。其中,携带有对象标签的rgb点云中包括多个单独对象的rgb点云。
150.示例性的,由于属于同栋建筑物的点云彼此之间的空间距离,远小于属于不同栋建筑的点云之间的空间距离。依据该原理,在一种实施例中,电子设备可以采用以空间距离为阈值的无监督方法,对携带有对象标签的rgb点云进行聚类分析,以将属于同栋建筑物的点云聚类在一起,得到每个单独对象对应的rgb点云。本技术实施例中,对聚类的原理和过程不做赘述,可以参照现有技术中聚类的原理和过程的描述。
151.在一种实施例中,属于不同栋建筑物的点云因为空间距离大,因此属于不同栋建
筑物的点云的密度,相较于属于同栋建筑物的点云的密度要小,因此在一种实施例中,电子设备可以采用以空间距离为阈值,以及密度为阈值的无监督方法,对携带有对象标签的rgb点云进行聚类分析,以将属于同栋建筑物的点云聚类在一起,便得到单独每个对象对应的rgb点云。
152.参照图6所示,以空间距离为阈值(或者添加密度为阈值)的无监督聚类分析,可以将属于同栋建筑物的点云聚类在一起,如图6中每个阴影圆圈中的点云属于同一建筑物的点云。如此,电子设备可以得到单独每个对象(如建筑物)对应的rgb点云。
153.在得到单独每个对象(如建筑物)对应的rgb点云之后,电子设备可以根据单独每个对象对应的rgb点云,分别对每个对象进行建筑物模型简化重构,以得到每个对象的3d模型。应理解,下述实施例中将每个单独对象可以称为第一对象,下述s105-s115为对第一对象对应的rgb点云的处理过程,即每个对象(如每个建筑物)对应的rgb点云可以按照s105-s115的处理方式得到对象的3d模型。
154.示例性的,以第一对象为建筑物为例,任意建筑物的几何结构均可用平面化的形状进行近似表达,因此本技术实施例中采用提取建筑物的平面,并进行几何拼接的方式来重建建筑物的3d模型。3d模型构建的流程中,平面形状提取是第一个环节,即电子设备执行s105。
155.s105,根据第一对象的rgb点云,获取第一对象的平面信息。
156.在一种实施例中,以第一对象表征单独每个对象,第一对象的rgb点云即单独每个对象的点云。第一对象的平面信息可以理解为:第一对象中包含的平面的信息。
157.在一种实施例中,对于第一对象的rgb点云来说,电子设备可以利用rgb点云之间的空间距离作为邻近判断,以确定哪些rgb点云共面。示例性的,电子设备可以采用区域生长(region growing)算法或高效随机抽样一致(efficient random sample consensus,efficientransac)算法,利用rgb点云之间的空间距离作为邻近判断,以确定哪些rgb点云共面。即电子设备可以采用区域生长算法或efficient ransac算法,基于第一对象的rgb点云,获取第一对象的平面信息。下述以电子设备采用区域生长算法为例进行说明:
158.电子设备可以在第一对象的rgb点云选择种子点(即种子点云),以计算种子点与周围的邻近点(即种子点云周围的点云)的空间位置关系,以近似拟合平面的方式来判断该种子点是否和周围的邻近点是否共面,以对共面的点云聚类形成一个平面。
159.示例性的,参照图7a所示,电子设备在第一对象的rgb点云选择种子点1,计算距离种子点1第一预设空间范围内的点云是否与种子点1共面,若共面,则将该种子点1和距离种子点1第一预设空间范围内的点云作为一个平面1。电子设备还可以计算种子点1第二预设空间范围内的点云是否与种子点1共面,若共面,则电子设备可以平面1的范围扩大至距离种子点云第二预设空间范围。依次类推,直至种子点云与距离种子点1第m预设空间范围内的点云不共面,得到平面1。
160.在该实施例中,电子设备采用区域生长算法处理第一对象的rgb点云,可以得到第一对象的平面信息。示例性的,第一对象的平面信息可以包括:至少一个平面代理(planar proxy)的平面参数、每个平面代理的面积范围,以及每个平面代理的第一索引。平面代理可以理解为一个平面,平面代理的平面参数包括:平面代理的中心点的三维坐标,以及平面代理的法向向量。如图7b所示,平面1的中心点为p,平面1的法向向量为n。平面代理的面积范
围可以理解为:平面代理的面积(即构成该平面代理的点云的范围)。
161.平面代理的第一索引中包括:平面代理中包含的点云的索引(可以简称为第一点索引),以及平面的索引(可以简称为第一面索引)。在一种实施例中,电子设备在得到第一对象的多个平面(即平面代理)后,可以为平面代理进行索引编号,以得到平面的索引,另外电子设备还可以为平面代理中包含的点云进行索引编号,得到该平面代理中包含的点云的索引。
162.在一种实施例中,电子设备得到第一对象的平面信息后,还需进行平面优化投影计算,即将属于同一平面内所有点云投影至该平面上,并根据第一对象的平面之间的空间距离,合并所有空间共面的平面。也就是说,电子设备可以将所有共面的平面代理进行合并成一个平面。
163.在一种实施例中,在采用mesh网格模型进行3d模型构建的示例中,对于mesh网格来说,电子设备可以利用mesh网格的拓扑关系进行判断,以确定哪些mesh网格共面。在该种实施例中,示例性的,参照图7c所示,电子设备在第一对象的mesh网格选择一mesh网格1,利用mesh网格1的拓扑关系计算mesh网格1周围的mesh网格是否与该mesh网格1共面,若共面,则将该mesh网格1和mesh网格周围的mesh网格作为一个平面1。其中,以mesh网格1和mesh网格周围的mesh网格作为一个mesh网格2为例,电子设备还继续利用mesh网格2的拓扑关系,计算mesh网格2周围的mesh网格是否与该mesh网格2共面,若共面,则将该mesh网格2和mesh网格周围的mesh网格作为一个平面2。依次类推,直至mesh网格与周围的mesh网格不共面,得到一平面代理。
164.在提取第一对象的平面后,为了实现平面几何拼接,需要对第一对象的所有平面代理进行空间相交计算,以获得对象的候选表面,即电子设备执行s106-s107。
165.s106,对第一对象的各平面代理进行两两空间相交计算,得到多个相交线。
166.平面代理可以理解为平面,上述s105中可以获取第一对象的各平面,本技术实施例中,电子设备可以对第一对象的各平面代理进行两两空间相交计算,两个平面相交后可以得到一个相交线,因此第一对象中各平面两两相交后,可以得到多个相交线。示例性的,参照图8a所示,六个平面进行两两空间相交计算,得到12个相交线,即一个立方体的12个边。如图8a所示,六个平面包括三组两两平行的平面,如相互平行的平面1和平面2,相互平行的平面3和平面4,以及相互平行的平面5和平面6平行。
167.在一种实施例中,本技术实施例采用的两两空间相交计算方法包括但不限于:全量两两相交算法、最小二分空间法(binary space partitioning,bsp)、动态分割法(kinetic partition)。
168.在一种实施例中,电子设备在采用bsp算法对第一对象的各平面代理进行两两空间相交计算时,电子设备可以基于上述s105中得到的第一对象的平面代理的第一索引,获取第一对象的各平面代理的优先级,进而基于该优先级决定进行两两空间相交计算的先后顺序。示例性的,平面代理的第一索引中包括:第一点索引,本技术实施例中,可以以平面代理中包括点云的索引的数量(即落入该平面的点云的数量)表征平面代理的优先级,如平面代理中包括点云的索引的数量(即落入该平面的点云的数量)越多,则平面代理的优先级越高。
169.示例性的,电子设备可以按照平面代理的优先级,将优先级位于第一位和第二位
的平面代理先进行两两空间相交计算,得到一个相交线,再将优先级位于第一位和第三位的平面代理先进行两两空间相交计算,得到一个相交线。依次类推,电子设备可以得到各平面代理进行两两空间相交计算的多个相交线。
170.s107,以相交线作为边界,对相交线构成的每个空间平面进行约束三角化计算,得到候选表面。
171.三个相交的相交线可以构成一个三角面片,本技术实施例中,电子设备可以以相交线作为边界,对相交线构成的每个空间平面进行约束三角化(constrained triangulation)计算,得到候选表面。
172.在一种实施例中,候选表面的形状为三角形,本技术实施例对候选表面的形状不做限制。在一种实施例中,以候选表面的形状为三角形为例,电子设备得到的候选表面后,可以以构成该候选表面的三个顶点(即相交线的交点)表征该候选表面。也就是说,电子设备在存储该候选表面时,可以存储该候选表面的三个顶点的坐标。示例性的,电子设备可以将该三个顶点进行索引编号,即以三个顶点索引表征该候选表面,在该实施例中,三个顶点的索引可以称为第二点索引。
173.在一种实施例中,还可以以三个顶点构成的三个边表征该候选表面。也就是说,电子设备在存储该候选表面时,可以存储该候选表面的三个边。示例性的,电子设备可以将该三个边进行索引编号,即以三个边索引表征该候选表面,在该实施例中,三个边的索引可以称为第二边索引。
174.在一种实施例中,电子设备还可以对候选表面进行面索引编号,称为第二面索引。因为每个候选表面可以由至少三个边构成,因此一个第二面索引对应至少三个第二边索引,至少三个边的交点为该候选表面的顶点,因此一个第二面索引对应至少三个第二点索引。也就是说,电子设备在得到候选表面后,可以存储每个候选表面的第二面索引,以及该第二面索引对应的至少三个第二边索引、至少三个第二点索引。
175.在得到第一对象的候选表面后,为了确定第一对象的rgb点云与计算得到的第一对象的候选表面的空间关系,本技术实施例中可以采用空间平面投影的方式,将第一对象的rgb点云投影至第一对象的候选表面,即电子设备执行s108。
176.s108,将第一对象的rgb点云投影至第一对象的候选表面,得到第一对象的rgb点云对应的候选表面。
177.在一种实施例中,电子设备可以将第一对象的rgb点云投影至第一对象的各候选表面,进而基于rgb点云至每个候选表面的距离,以及是否落入各候选表面这两个条件,判断rgb点云投影对应的候选表面。其中,电子设备可以将与点云距离最小的,且点云可以投影落入的候选表面的该点云对应的候选表面。
178.示例性的,参照图8b所示,候选表面为表面1和表面2,电子设备将点云1分别投影至表面1、表面2,电子设备可以将投影落入的表面1作为点云1对应的候选表面。在一种实施例中,若点云1的投影均落入的表面1、表面2的范围内,则电子设备可以将与点云1的距离最小的表面作为点云1对应的候选表面。
179.如此,基于s108中的投影方法,电子设备可以获取第一对象的每个rgb点云对应的候选表面。在一种实施例中,电子设备可以存储第一对象的每个rgb点云与候选表面的第二面索引的对应关系。
180.在一种实施例中,若直接将所有候选表面作为优化变量,通过下述公式一进行求解,解空间将会变得非常大,模型求解的复杂度将非常高,并且很多时候难以收敛。因此,本技术实施例中可以先升维优化变量,使得解空间减小,提升优化求解的效率,即电子设备执行s109-s111。
181.s109,构建拓扑关系,拓扑关系包括:点与点、点与面、面与面、面与体之间的拓扑关系。
182.应理解,s108和s109没有先后顺序的区分,二者可以同时执行。
183.在一种实施例中,基于s107中的描述,以及点构成边、边构成面、面构成体的原理,电子设备还可以获取每个候选表面的邻接面,进而基于候选表面的邻接面,得到候选表面和邻接面构成的多面体。在该实施例中,电子设备可以将多面体进行索引编号,得到第二体索引。应理解,第二体索引可以对应构成该多面体的多个候选面的第二面索引、第二边索引,以及第二点索引。在一种实施例中,电子设备可以基于共面的多面体,获取每个多面体的邻接关系。
184.在该实施例中,电子设备可以根据第二体索引对应的第二面索引、第二边索引,以及第二点索引,基于每个多面体索引所有构建的面,每个面索引所有构建的边,每个边索引所有构建的点,以构建包含有“点与点,点与面,面与面,面与体”之间的拓扑关系。示例性的,参照图8c,对于多面体1来说,电子设备可以多面体1的第二体索引,如多面体1的第二体索引所有构建的面(面1、面2,面3等),每个面索引所有构建的边(如面1索引的边1、边2,边3和边4),每个边索引所有构建的点(如边1多引的点1和点2)。示例性的,拓扑关系即为“多面体1”、“面1、面2,面3等”、“边1、边2,边3和边4等”,以及“点1和点2等”构件的拓扑关系。
185.如图8c所示,与多面体1邻接的多面体包括多面体2。
186.在一种实施例中,电子室内可以基于空间相交后切割的平面多边形,采用拓扑组合图(combinatorial maps)的方式构建“点—点,点—面,面—面,面—体”之间的拓扑关系。
187.s110,根据拓扑关系,获取第一对象中包含的所有最小多面体。
188.拓扑关系中包含有“点与点,点与面,面与面,面与体”之间的拓扑关系,本技术实施例中,可以根据该拓扑关系,判断哪些面构成的为空间最小多面体,如电子设备可以通过全局计算获取第一对象中包含的所有最小多面体(linear cell complex),即下述所述的第一多面体,对象中的第一多面体可以为多个。
189.s111,根据第一对象的rgb点云对应的候选表面,以及第一对象中每个多面体中的候选表面,得到第一对象的rgb点云对应的多面体。
190.根据s108中的描述,电子设备可以获取rgb点云对应的候选表面,根据s109-s110中的描述,电子设备可以获取多面体和候选表面之间的拓扑关系,因此s108-s111,电子设备可以得到rgb点云对应的多面体,即电子设备可以构建rgb点云和多面体的映射关系。
191.在一种实施例中,以rgb点云中的点云包括第一rgb点云为例,第一rgb点云对应的候选表面可以称为第一候选表面,第一rgb点云对应的多面体可以称为第一多面体。在一种实施例中,第一rgb点云可以称为第一数据,第一数据包含于待处理数据,即第一rgb点云包含于rgb点云。示例性的,如rgb点云对应的候选表面为表面1,而表面1为多面体1中的表面,因此rgb点云对应的多面体为多面体1。
192.综上,电子设备可以得到第一对象的rgb点云对应的多面体,但就一个建筑物而言,本技术实施例中将一个建筑物划分成多个多面体,多面体可以为建筑物内部的多面体或外部的多面体,在3d建模时,构建的建筑物的3d模型用户看到的为建筑物的外部的多面体的集合。因此本技术实施例中电子设备还需要区分多面体为建筑物内部的多面体或外部的多面体,以构建建筑物的3d模型。也就是说,电子设备需要执行s112-s115。
193.应理解,第一对象是由多个多面体构成的,下述实施例中以第一多面体代表每个多面体的处理步骤为例进行说明:
194.s112,获取第一多面体对应的rgb点云的法向向量,以及第一多面体的中心点至rgb点云的向量的相关性。
195.如上s111中得到第一对象的rgb点云对应的多面体,那么对象中可以包括多个第一多面体,相应的,一个第一多面体可以对应多个rgb点云。下述以一个第一多面体,以及第一多面体获取第一多面体中一个rgb点云的法向向量,以及第一多面体的中心点至该rgb点云的向量的相关性为例进行说明:
196.参照图8d,如第一多面体对应的rgb点云为点云p1和p2,如电子设备可以获取点云p1的法向向量n1,以及第一多面体的中心点c(即第一多面体的中心所在位置)至点云p1的向量m1,进而获取法向向量n1与向量m1的相关性。对于点云p2来说,如电子设备可以获取点云p2的法向向量n2,以及第一多面体的中心点(即第一多面体的中心所在位置)至点云p2的向量m2,进而获取法向向量n2与向量m2的相关性。
197.相关性可以包括正相关和负相关。示例性的,如法向向量n1与向量m1正相关,法向向量n2与向量m2负相关。
198.s113,根据第一多面体对应的rgb点云的法向向量,以及第一多面体的中心点至rgb点云的向量的相关性,获取第一多面体属于内多面体或外多面体的权重。
199.如上图8d中以第一多面体对应点云p1和p2为例说明s112的步骤。因为第一多面体可以对应多个点云,因此电子设备可以获取第一多面体的多个相关性(即第一多面体对应的每个rgb点云的法向向量和第一多面体的中心点至每个rgb点云的向量的相关性)。本技术实施例中,电子设备可以根据第一多面体对应的rgb点云的法向向量和第一多面体至rgb点云的向量的相关性(即第一多面体对应的每个rgb点云的法向向量和第一多面体的中心点至每个rgb点云的向量的相关性),获取第一多面体属于内多面体(即对象的内部的多面体)或外多面体(即对象的外部的多面体)的权重。
200.下述以第一多面体对应的每个rgb点云的法向向量为第一法向,以第一多面体的中心点至每个rgb点云的向量为第二法向为例进行说明:
201.应理解的是,第一多面体属于内多面体或外多面体的权重,与第一法向和第二法向的相关性的正负个数(数量)相关。示例性的,正相关表征第一多面体属于内多面体,负相关表征第一多面体属于外多面体。其中,若第一法向和第二法向的正相关的个数越大,则第一多面体属于内多面体的权重越高,若第一法向和第二法向的负相关的个数越大,则第一多面体属于外多面体的权重越高。
202.示例性的,第一多面体对应m个点云,则电子设备可以获取第一多面体的n个相关性。如正相关的个数为a个,负相关的个数为(m-a)个,在一种实施例中,电子设备可以确定第一多面体属于外多面体的权重为(m-a)/m,第一候选表面属于内多面体的权重为a/m。
203.在一种实施例中,第一多面体属于内多面体或外多面体的权重可以称为第一多面体的内外标签的权重。如第一多面体属于内多面体的权重可以表征第一多面体的内标签的权重,第一多面体属于外多面体的权重可以表征第一多面体的外标签的权重。参照图9所示,图9中以白色区域表征内多面体,以阴影区域表征外多面体,以圆点表征第一多面体对应的点云,以箭头表征第一多面体对应的点云的法向向量。
204.s114,根据第一多面体属于内多面体或外多面体的权重,以及第一多面体与第一多面体邻接的多面体之间的邻接面积,确定第一多面体的内外标签,内外标签表征第一多面体为外多面体或内多面体。
205.本技术实施例中,电子设备可以以第一多面体属于内多面体或外多面体的权重作为图结构的节点,以第一多面体与第一多面体邻接的多面体之间的邻接面积作为所述图结构的边,进行图结构求解,获取所述第一多面体的内外标签。应理解,图结构需要保持耗损最小能量。在一种实施例中,可以以第一多面体属于内多面体或外多面体的权重作为图结构的节点,以第一多面体与第一多面体邻接的多面体之间的邻接面积作为所述图结构的边,采用图割(graph-cut)方法,进行图结构求解,以获取所述第一多面体的内外标签。
206.在一种实施例中,本技术实施例中,电子设备可以以所述对象中的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,采用最大流算法或最小割算法,采用图割(graph-cut)方法,进行图结构求解,以获取所述第一多面体的内外标签。
207.在一种实施例中,电子设备可以采用如下公式一进行图结构求解:
208.e=∑d(x)+λ
·
∑s(x,y)
ꢀꢀꢀ
公式一
209.其中,∑d(x)是data term,表征第一多面体被分为内多面体或外多面体的代价函数,λ
·
∑s(x,y)是smoothness term,表征每两个相邻第一多面体之间的表面面积代价函数,e代表能量之和。图结构求解的最终的优化目标是求解使e最小的多面体标记(即标记为内外标签方案)。本专利根据图结构优化理论,采用最大流/最小割的方法对上述公式一求解。
210.其中,内外标签表征第一多面体为对象的外部的多面体(即外多面体)或内部的多面体(即内多面体)。示例性的,若第一多面体的内外标签为内标签,表征第一多面体为第一对象内部的多面体,若第一多面体的内外标签为外标签,表征第一多面体为第一对象外部的多面体。
211.s115,根据第一对象中的所有第一多面体的内外标签,将内多面体和外多面体邻接的表面作为第一对象的3d模型表面,构建第一对象的3d模型。
212.在一种实施例中,电子设备在获取第一对象中所有的第一多面体的内外标签后,可以将内多面体和外多面体邻接的表面作为第一对象的3d模型表面,进而基于内多面体和外多面体邻接的表面,构建第一对象的3d模型。参照图10,第一对象中包括的内多面体以白色区域表征,外多面体以阴影区域表征,电子设备可以将内多面体和外多面体邻接的表面作为第一对象的3d模型表面(如图10中的粗实线),对第一对象的3d模型的表面进行拼接,以构建3d模型。
213.在一种实施例中,电子设备得到第一对象的3d模型后,还可以执行s116:
214.s116,电子设备输出第一对象的3d模型。
215.示例性的,电子设备在得到目标区域内所有的第一对象的3d模型后,可以在电子设备的界面上输出第一对象的3d模型,以使用户可以在电子设备上看到构建的目标区域的第一对象的3d模型。或者,在一种实施例中,电子设备可以输出第一对象的3d封闭表面几何模型数据文件,以及3d模型轮廓结构线文件。在一种实施例中,3d封闭表面几何模型数据文件中包括:3d模型中所有的表面信息,以及表面的顶点的信息。3d模型轮廓结构线文件中包括:3d模型的轮廓结构的点和线的信息。
216.本技术实施例中,在对rgb点云进行分类之前,一方面可以对rgb点云进行多尺度空间采样,可以保证采样得到rgb点云的全局信息以及局部信息,进而提高了rgb点云的语义分割的准确性,另一方面,还可以结合rgb点云所属区域的地形信息,对每个尺度的采样结果进行正则化处理,避免因地形信息差异大而造成的神经网络模型拟合误差大的问题,提高神经网络模型的语义分割的准确性。
217.另外,本技术实施例中结合平面形状提取、空间相交计算、空间平面投影、多面体拓扑构建、表面优化计算生成模型等用于对第一对象进行模型简化重构,可以提高3d模型的精度,以得到lod3级别的模型。
218.上述图1中以rgb点云为例说明本技术实施例提供的3d模型构建方法,下述以mesh网格为例说明本技术实施例提供的3d模型构建方法。参照图2,本技术实施例提供的3d模型构建方法可以包括:
219.s201,响应于3d模型的构建指令,对待构建3d模型的mesh网格进行多尺度空间采样,得到至少两个尺度的采样结果。
220.在一种实施例中,该待构建3d模型的mesh网格可以称为初始mesh网格。
221.在一种实施例中,电子设备可以以mesh网格中的顶点为球心,以不同大小的半径画球体切分mesh网格,进而得到不同大小球体切分的结果。下述对电子设备对待构建3d模型的mesh网格进行多尺度空间采样的过程进行说明:
222.1、采用第一尺度的球体切分mesh网格。mesh网格的顶点在三维立体空间中排布,采用第一尺度的球体切分mesh网格,每个球体中包含有多个顶点。在一种实施例中,每个球体中可以采样一个顶点(可以称为中心顶点),该中心顶点可以为该球体中包含的所有顶点的中心顶点,如该中心顶点的三维坐标可以为该球体中所有顶点的三维坐标的均值,该中心顶点的颜色信息(即rgb值)可以为该球体中所有顶点的rgb值的均值。在一种实施例中,可以称每个球体中采样的点云为第一中心顶点。
223.如此,电子设备可以得到第一尺度的采样结果。该第一尺度的采样结果中可以包括:每个栅格中的第一中心顶点(包括第一中心点云的三维坐标和颜色信息)。
224.2、采用第二尺度的球体切分mesh网格。第二尺度大于第一尺度,在该实施例中,每个球体中可以采样一个顶点,该顶点的三维坐标可以为该球体中所有顶点的三维坐标的均值,该顶点的颜色信息(即rgb值)可以为该球体中所有顶点的rgb值的均值。在一种实施例中,可以称每个球体中采样的顶点为第二中心顶点。
225.如此,电子设备可以得到第二尺度的采样结果。该第二尺度的采样结果中可以包括:每个球体中的第二中心顶点(包括第二中心顶点的三维坐标和颜色信息)。
226.3、以此类推,直至采用第n尺度的球体切分mesh网格,可以参照上述“采用第一尺度的球体切分mesh网格”和“采用第二尺度的球体切分mesh网格”中的相关描述。如此,电子
设备可以得到第n尺度的采样结果。该第n尺度的采样结果中可以包括:每个球体中的第n中心顶点(包括第n中心顶点的三维坐标和颜色信息)。
227.如此,电子设备可以获取n个尺度的采样结果。
228.在一种实施例中,如上1-3可以总结为步骤a-步骤b:
229.a,以所述初始网格的顶点作为球心,以第i尺度的半径的球体切分所述初始mesh网格,获取每个球体中的一个第i顶点,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i顶点的三维坐标和颜色信息,所述i为大于或等于1为小于n的整数,所述n为大于1的整数。
230.b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两个尺度的采样结果。
231.s202,结合待构建3d模型的mesh网格所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得到处理后的至少两个尺度的采样结果。
232.在一种实施例中,以mesh网格所区域为区域1为例,示例性的,参照图4所示,区域1的地形有起有伏,区域1可以划分为多个栅格,每个栅格对应一个二维坐标的范围以及一个海拔高度值。示如一个栅格对应的二维坐标的范围为:(x1,y1)、(x2,y2)至(x3,y3)、(x4,y4),本技术实施例中,电子设备可以将二维坐标落入该栅格对应的二维坐标的范围的mesh网格的顶点的z值,减去该栅格对应的海拔高度值,即完成对落入该栅格的mesh网格的正则化处理。
233.示例性的,栅格对应的二维坐标的范围为:(x1,y1)、(x2,y2)至(x3,y3)、(x4,y4),该栅格对应的海拔高度值为z
h1
,第一尺度的采样结果中,落入该“二维坐标的范围”的顶点包括mesh网格1的顶点和mesh网格2的顶点。电子设备可以mesh网格1的顶点和mesh网格2的顶点均减去z
h1
作为正则处理化后mesh网格1的顶点和mesh网格2的顶点的z值。在一种实施例中,若一个mesh网格的顶点落入两个栅格中,则可以将mesh网格的顶点的z值减去对应栅格的海拔高度值即可。
234.s203,将处理后的至少两个尺度的采样结果输入预先训练好的神经网络模型中,得到携带有对象标签的mesh网格。
235.应理解的是,s203中使用的神经网络模型与s103中使用的神经网络模型不同,s203中使用的神经网络模型可以对不同种类的对象的mesh网格进行区分。s203中使用的神经网络模型的训练过程可以参照s103中使用的神经网络模的过程,本技术实施例对此不做赘述。s203中的神经网络模型用于对mesh网格进行分类,得到属于对象的mesh网格。示例性的,对象为建筑物,神经网络模型用于区分建筑物和非建筑物的mesh网格,进而将属于建筑物的mesh网格打上“建筑物”的标签,
236.s204,根据携带有对象标签的mesh网格,对对象进行分割,得到单独每个对象对应的mesh网格。
237.在一种实施例中,s204中得到的对象对应的mesh网格可以称为待处理数据。
238.与s104不同的是,s204中电子设备可以采用以空间距离为阈值的无监督方法,对携带有对象标签的mesh网格的顶点(对应mesh网格)进行聚类分析,以将属于同栋建筑物的点云聚类在一起,得到每个单独对象对应的mesh网格。
239.或者,在一种实施例中,因此在一种实施例中,电子设备可以采用以空间距离为阈
值,以及密度为阈值的无监督方法,对携带有对象标签的mesh网格的顶点(对应mesh网格)进行聚类分析,以将属于同栋建筑物的点云聚类在一起,便得到单独每个对象对应的mesh网格。
240.s205,根据第一对象的mesh网格,获取第一对象的平面信息。
241.本技术实施例中,电子设备可以根据所述mesh网格的邻接拓扑关系,将共面的mesh网格所在的平面作为一个平面,以获取第一对象的平面信息。
242.s205可以参照s105中图7c中的相关描述。
243.s206,对第一对象的各平面代理进行两两空间相交计算,得到多个相交线。
244.s207,以相交线作为边界,对相交线构成的每个空间平面进行约束三角化计算,得到候选表面。
245.s206-s207可以参照s106-s107的相关描述。
246.s208,将第一对象的mesh网格的顶点投影至第一对象的候选表面,得到第一对象的mesh网格对应的候选表面。
247.s208中的具体实施方式可以参照s108的相关描述,可以将第一对象的mesh网格的顶点看做第一对象的rgb点云。
248.s209,构建拓扑关系,拓扑关系包括:点与点、点与面、面与面、面与体之间的拓扑关系。
249.s210,根据拓扑关系,获取第一对象中包含的所有最小多面体。
250.s211,根据第一对象的mesh网格对应的候选表面,以及第一对象中每个多面体中的候选表面,得到第一对象的mesh网格对应的多面体。
251.s209-s211可以参照s109-s111中的相关描述,如可以将第一对象的mesh网格的顶点看做第一对象的rgb点云。
252.在一种实施例中,以第一对象的mesh网格中包括第一mesh网格为例,第一mesh网格对应的候选表面可以称为第一候选表面,第一mesh网格对应的多面体可以称为第一多面体。在一种实施例中,第一mesh网格可以称为第一数据,第一数据包含于待处理数据,即第一mesh网格包含于第一对象的mesh网格。
253.s212,获取第一多面体对应的mesh网格的法向向量,以及第一多面体的中心点至mesh网格的向量的相关性。
254.在一种实施例中,因为mesh网格为一多边形,因此mesh网格的法向向量可以为多边形的法向向量。第一多面体的中心点至mesh网格的向量可以为:第一多面体的中心点至mesh网格的中心点的向量,该向量可以参照“第一多面体的中心点至rgb点云”的描述。或者,在一种实施例中,第一多面体的中心点至mesh网格的向量可以为:第一多面体的中心点至mesh网格的任意顶点的向量。
255.s213,根据第一多面体对应的mesh网格的法向向量,以及第一多面体的中心点至mesh网格的向量的相关性,获取第一多面体属于内多面体或外多面体的权重。
256.s214,根据第一多面体属于内多面体或外多面体的权重,以及第一多面体与第一多面体邻接的多面体之间的邻接面积,确定第一多面体的内外标签,内外标签表征第一多面体为外多面体或内多面体。
257.s215,根据第一对象中的所有第一多面体的内外标签,将内多面体和外多面体邻
接的表面作为第一对象的3d模型表面,构建第一对象的3d模型。
258.s213-s215可以参照s113-s115中的相关描述。电子设备执行s215后,可以执行上述s116。
259.如此,本技术实施例中可以基于初始mesh网格,构建3d模型,也能够达到上述图1描述的技术效果,技术效果具体可以参照图1的相关描述,在此不做赘述。
260.根据如上图1和图2的实施例的描述,图1和图2所示的流程可以简化为图11所示,应理解,图11为以rgb点云的梳理过程为例进行说明。参照图11,本技术实施例提供的构建3d模型的方法可以包括:语义分割、实例分割、平面形状提取、空间相交计算、空间平面投影、多面体拓扑构建、表面优化计算生成模型等步骤。其中,如上s101-s103、s201-s203为“语义分割”的过程,s104、s204为“实例分割”的过程,s105、s205为“平面形状提取”的过程,s106-s107、s206-s207为“空间相交计算”的过程,s108、s208为“空间平面投影”的过程,s109-s111、s209-s211为“多面体拓扑构建”的过程,s112-s115、s212-s215为“表面优化计算生成模型”的过程。
261.在一种实施例中,s105-s115、s205-s215可以称为“模型简化重构”的过程。
262.图12为本技术实施例提供的训练神经网络模型的示意图。在一种实施例中,训练神经网络模型的设备可以称为训练设备,该训练设备可以为计算机、专用的神经网络模型训练机器等,本技术实施例对训练设备的形态不做限制。训练设备训练得到神经网络模型后,可以将神经网络模型的预置在电子设备中。
263.下面以训练设备依据u-net网络架构训练得到神经网络模型为例进行简要说明,u-net网络架构包括输入层、至少一个隐含层和输出层。输入层用于接收训练数据,且将训练数据分发至隐含层的神经元。隐含层的神经元用于根据数据进行计算,且将计算结果输出至输出层。输出层用于输出运算结果。
264.参照图12,训练设备训练神经网络模型的过程可以包括:
265.s1201,初始化u-net网络架构中各隐含层的神经元的权重值。
266.示例性的,训练设备可以将各隐含层的神经元的权重值初始化成服从高斯分布的随机权重值。
267.s1202,将训练数据分成n个批次。
268.训练数据为包含有对象的标签的rgb点云。
269.训练设备可以将训练数据分成n个批次,以采用该n个批次的数据对u-net网络架构进行迭代训练。如训练设备可以将训练数据平均分成n个批次。其中,n为大于1的整数。
270.s1203,将第i个批次的数据输入u-net网络架构,得到第i个批次的数据的交叉熵损失。
271.示例性的,训练开始时,即当i为1时,训练设备将第1个批次的数据输入至u-net网络架构中,u-net网络架构可以输出第1个批次的数据的交叉熵损失(cross entropy loss)。应理解,交叉熵损失用于表征训练设备采用u-net网络架构预测的rgb点云所属的对象与rgb点云所属的对象的相似度。该交叉熵损失越小,表征u-net网络架构中各隐含层的神经元的权重值越准确。其中,i为大于或等于1且小于或等于n的整数。
272.s1204,根据第i个批次的数据的交叉熵损失,更新u-net网络架构中各隐含层的神经元的权重值。
273.示例性的,训练设备可以根据第1个批次的数据的交叉熵损失,更新各隐含层的神经元的初始权重值。训练设备可以根据第1个批次的数据的交叉熵损失,确定采用u-net网络架构预测的rgb点云所属的对象与rgb点云所属的对象的相似度与100%之间的误差,进而根据该误差更新各隐含层的神经元的权重值。示例性的,训练设备可以采用梯度下降法(gradient decent)或随机梯度下降法(stochastic gradient decent)更新各隐含层的神经元的权重值。
274.s1205,判断i是否小于n。若是,则将i加1,执行s1203。若否,执行s1206。
275.训练设备可以判断i是否小于n,以确定训练数据的n个批次的数据是否训练完成。其中,若i小于n,训练设备可以将i加1,继续执行s1203。如,当i为1,n为10时,训练设备确定i小于n,进而将第2个批次的数据输入至更新权重值的u-net网络架构中,得到第2个批次的数据的交叉熵损失。同理的,训练设备可以根据该第2个批次的数据的交叉熵损失,采用梯度下降法或随机梯度下降法更新各隐含层的神经元的权重值。如此不断迭代,直至i等于n时,训练设备将第n个批次的数据输入至u-net网络架构中,且训练设备根据该第n个批次的数据的交叉熵损失更新各隐含层的神经元的权重值。其中,当i等于n时,训练设备可以执行下述s1206。
276.s1206,根据目标交叉熵损失和第n个批次的数据的交叉熵损失,确定训练是否收敛。若训练收敛,则执行s1207,若训练未收敛,则返回执行s1202。
277.用户可以预先设置目标交叉熵损失作为训练的收敛依据。训练设备在得到第n个批次的数据的交叉熵损失时,可以根据第n个批次的数据的交叉熵损失和目标交叉熵损失,确定训练是否收敛。其中,若第n个批次的数据的交叉熵损失小于或等于目标交叉熵损失,则表征依据采用u-net网络架构预测的rgb点云所属的对象接近rgb点云所属的对象,则训练设备可以确定训练收敛。若u-net网络架构输出的第n个批次的数据的交叉熵损失大于目标交叉熵损失,则确定训练未收敛。当训练未收敛时,训练设备返回执行s102,即继续将预处理后的训练数据分成n个批次,采用n个批次的数据对u-net网络架构继续训练,直至训练收敛。
278.s1207,训练结束。
279.若训练设备确定训练收敛,则结束训练,即可得到神经网络模型。该神经网络模型可以为:训练设备根据第n个批次的数据的交叉熵损失,更新各隐含层的神经元的权重值后的u-net网络架构。
280.在一种实施例中,训练设备可以对训练数据进行预处理后,输入至u-net网络架构中,训练设备对训练数据的预处理过程可以参照s101-s102中的描述,应注意的是,训练设备在训练得到神经网络模型的过程中,可以提取训练数据的特征,提取训练数据的特征可以参照s103中的相关描述,在此不做赘述。
281.在一种实施例中,本技术实施例提供的3d模型构建方法可以应用于园区(如工厂园区)的3d模型构建场景中,在该场景中,由于园区级的应用场景的面积相比城市级的场景较小,相应的地形起伏变化不大,因此电子设备在执行如上s101-s115(或s201-s215)的步骤时,可以不执行s102(或s202),即无需结合待构建3d模型的rgb点云所属区域的地形信息,对每个尺度的采样结果进行正则化处理。
282.在一种实施例中,本技术实施例提供的3d模型构建方法可以应用于室内场景的3d
模型构建场景中。由于室内应用场景相比城市级场景的物体类别更加复杂,而室内的几何结构特征相比城市级室外场景却相对更简单,因此本技术实施例中,因此电子设备在执行如上s101-s115(或s201-s215)的步骤时,可以不执行s101-s104(s201-s204),而是直接执行s105-s115(或s205-s215),以构建室内结构化3d建模。
283.应理解的是,本技术实施例提供的3d模型构建方法还可以应用于其他场景中,在其他场景中,电子设备可以适用性地执行s101-s115(或s201-s215)中的部分或者全部步骤,均属于本技术实施例的保护范围。
284.综上,在一种实施例中,参照图13所示,本技术实施例提供的3d模型构建方法可以包括:
285.s1301,从待处理数据中提取对象的多个平面,对象为待构建3d模型的对象,待处理数据为rgb点云或mesh网格。
286.待处理数据为rgb点云或mesh网格,如s104和s204中得到的对象的rgb点云或mesh网格为待处理数据。从待处理数据中提取对象的多个平面的过程可以参照s105和s205中的相关描述。
287.s1302,对各平面进行两两空间相交计算,得到对象的多个候选表面,以及由多个候选表面构成的至少两个多面体。
288.s1303,将待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体,第一数据包含于待处理数据,当待处理数据为rgb点云时,第一数据为第一rgb点云,当待处理数据为mesh网格时,第一数据为第一mesh网格,第一候选表面包含于多个候选表面,且第一候选表面为第一多面体的表面。
289.s1304,根据第一数据的法向向量,以及第一多面体的中心点至第一数据的向量,获取第一多面体的内外标签,内外标签表征第一多面体为对象外部的多面体或内部的多面体。
290.s1302-s1302可以参照s106-s114和s206-s214中的相关描述。
291.s1305,根据第一多面体的内外标签,构建对象的3d模型。
292.在一种实施例中,电子设备在构建对象的3d模型后,可以输出对象的3d模型。
293.s1302-s1302可以参照s115和s215中的相关描述。
294.在一种实施例中,待处理设备是电子设备对初始数据进行处理后获取的。其中,初始数据包含有至少一种对象的初始rgb点云或初始mesh网格,对初始数据可以包括:对初始数据进行多尺度空间采样,得到至少两个尺度的采样结果,以及结合初始数据所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得到处理后的至少两个尺度的采样结果。电子设备可以将处理后的至少两个尺度的采样结果输入预先训练好的神经网络模型,得到携带有对象的标签的数据,以及对携带有对象的标签的数据进行对象分割,得到待处理数据。
295.在一种实施例中,电子设备对初始数据进行处理的过程可以参照s101-s104,以及s201-s204中的相关描述。
296.如此,本技术实施例中可以基于初始mesh网格或初始rgb点云,构建3d模型,也能够达到上述图1描述的技术效果,技术效果具体可以参照图1的相关描述,在此不做赘述。
297.图14为本技术实施例提供的电子设备的一种结构示意图。参照图14,电子设备
1400中可以包括:3d语义分割模块1401、实例分割模块1402、平面特征提取模块1403、空间相交计算模块1404、多面体拓扑构建模块1405,以及表面优化生成模块1406。
298.其中,3d语义分割模块1401,用于识别和提取不同类别的点云,比如可以识别和提取建筑物、道路、植被等的点云。具体的,3d语义分割模块用于执行如上实施例中的s101-s103(或s201-s203)。
299.实例分割模块1402,用于从已有单类别点云中提取单个对象的点云或mesh网格。具体的,实例分割模块用于执行如上实施例中的s104或s204。
300.平面特征提取模块1403,用于从建筑物点云或mesh网格据中提取平面形状。具体的,平面特征提取模块可以执行如上实施例中的s105或s205。
301.空间相交计算模块1404,用于利用提取的平面形状进行3d空间相交计算,生成平面多边形。具体的,空间相交计算模块可以执行如上实施例中的s106-s108(或s206-s208)。
302.多面体拓扑构建模块1405,用于利用平面多边形,生成空间最小多面体。具体的,多面体拓扑构建模块可以执行如上实施例中的s109-s111(或s209-s211)。
303.表面优化生成模块1406,用于从多面体中提取简化模型表面,以构建3d模型。具体的,表面优化生成模块可以执行如上实施例中的s112-s115(或s212-s215)。
304.在一种实施例中,平面特征提取模块、空间相交计算模块、多面体拓扑构建模块,以及表面优化生成模块可以集成为一体,如集成为建筑物模型简化重构模块,建筑物模型简化重构模块用于执行如上实施例中的s105-s115(或s205-s215)。
305.具体的,在一种实施例中,平面特征提取模块1403,用于从待处理数据中提取对象的多个平面,对象为待构建3d模型的对象,待处理数据为rgb点云或mesh网格。
306.空间相交计算模块1404,用于对各平面进行两两空间相交计算,得到对象的多个候选表面,以及由多个候选表面构成的至少两个多面体。
307.多面体拓扑构建模块1405,用于将待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体,第一数据包含于待处理数据,当待处理数据为rgb点云时,第一数据为第一rgb点云,当待处理数据为mesh网格时,第一数据为第一mesh网格,第一候选表面包含于多个候选表面,且第一候选表面为第一多面体的表面。
308.表面优化生成模块1406,用于根据第一数据的法向向量和第一多面体的中心点至第一数据的向量,获取第一多面体的内外标签,以及根据第一多面体的内外标签,构建对象的3d模型。其中,内外标签表征第一多面体为对象外部的多面体或内部的多面体。
309.在一种可能的实现方式中,平面特征提取模块1403,具体用于将共面的待处理数据所在的平面作为一个平面,以得到多个平面。
310.当待处理数据为rgb点云时,在一种可能的实现方式中,平面特征提取模块1403,具体用于根据rgb点云的空间位置关系,将共面的rgb点云所在的平面作为一个平面。
311.当待处理数据为mesh网格时,在一种可能的实现方式中,平面特征提取模块1403,具体用于根据mesh网格的邻接拓扑关系,将共面的mesh网格所在的平面作为一个平面。
312.在一种可能的实现方式中,空间相交计算模块1404,具体用于对各平面进行两两空间相交计算,得到多个相交线;以相交线作为边界,对相交线构成的每个空间平面进行约束三角化计算,得到多个候选表面;根据每个候选表面的邻接关系,得到至少两个多面体。
313.在一种可能的实现方式中,多面体拓扑构建模块1405,具体用于将待处理数据投
影至每个候选表面,当待处理数据为mesh网格时,进行投影的为mesh网格的顶点;根据第一数据与每个候选表面的距离,以及第一数据的投影点与每个候选表面的位置关系,确定第一数据对应的第一候选表面。
314.在一种可能的实现方式中,多面体拓扑构建模块1405,具体用于将与第一数据距离最近的、以及第一数据的投影点落入的候选表面作为第一数据对应的第一候选表面。
315.在一种可能的实现方式中,表面优化生成模块1406,具体用于根据第一数据的法向向量,以及第一多面体的中心点至第一数据的向量的相关性,获取第一多面体的内外标签的权重,当第一数据为第一mesh网格时,第一多面体的中心点至第一数据的向量为第一多面体的中心点至第一mesh网格的中心点的向量;以对象中包含的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为图结构的边,获取第一多面体的内外标签。
316.在一种可能的实现方式中,第一多面体对应多个第一数据,相关性包括正相关和负相关。表面优化生成模块1406,具体用于获取每个第一数据的法向向量,以及第一多面体的中心点至第一多面体对应的每个第一数据的向量的相关性;根据正相关的数量和负相关的数量,获取第一多面体的内外标签的权重。
317.在一种可能的实现方式中,表面优化生成模块1406,具体用于以对象中的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为图结构的边,采用最大流算法或最小割算法,获取第一多面体的内外标签。
318.在一种可能的实现方式中,表面优化生成模块1406,具体用于将对象中的内部的多面体和外部的多面体的邻接面,作为对象的表面;根据对象的表面,构建对象的3d模型。
319.在一种可能的实现方式中,待处理数据包含对象的rgb点云或mesh网格,或者待处理数据为对象的rgb点云或mesh网格。
320.当待处理数据为对象的rgb点云或mesh网格时,在一种可能的实现方式中,3d语义分割模块1401和实例分割模块1402用于从初始数据中获取待处理数据,初始数据包含有至少一种对象的初始rgb点云或初始mesh网格。
321.在一种可能的实现方式中,3d语义分割模块1401,具体用于对初始数据进行多尺度空间采样,得到至少两个尺度的采样结果,结合初始数据所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得到处理后的至少两个尺度的采样结果,以及将处理后的至少两个尺度的采样结果输入预先训练好的神经网络模型,得到携带有对象的标签的数据。
322.实例分割模块1402,具体用于对携带有对象的标签的数据进行对象分割,得到待处理数据。
323.在一种可能的实现方式中,当初始数据为初始rgb点云时,3d语义分割模块1401,具体用于执行步骤a和步骤b:
324.a,采用第i尺度的栅格切分初始rgb点云,获取每个栅格中的第i中心点云,以得到第i尺度的采样结果,第i尺度的采样结果中包括第i中心点云的三维坐标和颜色信息,第i中心点云为栅格中包含的点云的中心点,i为大于或等于1为小于n的整数,n为大于1的整数。
325.b,判断i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到至少两个尺度的
采样结果。
326.在一种可能的实现方式中,当初始数据为初始mesh网格时,3d语义分割模块1401,具体用于执行步骤a和步骤b:
327.a,以初始mesh网格的顶点作为球心,以第i尺度的半径的球体切分初始mesh网格,获取每个球体中的一个第i顶点,以得到第i尺度的采样结果,第i尺度的采样结果中包括第i顶点的三维坐标和颜色信息,i为大于或等于1为小于n的整数,n为大于1的整数。
328.b,判断i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到至少两个尺度的采样结果。
329.在一种可能的实现方式中,地形信息包括:初始数据所属区域的多个地形栅格的位置范围,以及每个地形栅格的海拔高度值。
330.3d语义分割模块1401,具体用于将落入第一地形栅格的位置范围中的初始数据的z值,减去第一地形栅格的海拔高度值,以完成对落入第一地形栅格的位置范围中的初始数据的正则化处理,第一地形栅格包含于多个地形栅格。
331.在一种可能的实现方式中,表面优化生成模块1406,具体用于输出对象的3d模型。
332.本技术实施例提供的电子设备可以实现如上图1、图2以及图13中的实施例,可以参照如上图1、图2以及图13中的实施例中的相关描述。
333.在一种实施例中,参照图15,本技术实施例还提供一种电子设备,该电子设备可以为上述实施例中所述的电子设备,该电子设备中可以包括:处理器1501(例如cpu)、存储器1502。存储器1502可能包含高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器,存储器1502中可以存储各种指令,以用于完成各种处理功能以及实现本技术的方法步骤。
334.可选的,本技术涉及的电子设备还可以包括:电源1503、通信总线1504以及通信端口1505。上述通信端口1505用于实现电子设备与其他外设之间进行连接通信。在本技术实施例中,存储器1502用于存储计算机可执行程序代码,程序代码包括指令;当处理器1501执行指令时,指令使电子设备的处理器1501执行上述方法实施例中的动作,其实现原理和技术效果类似,在此不再赘述。
335.需要说明的是,上述实施例中所述的模块或部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器如控制器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
336.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、
计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
337.本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。另外,需要理解的是,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
338.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
339.可以理解的是,在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
技术特征:
1.一种3d模型构建方法,其特征在于,包括:从待处理数据中提取对象的多个平面,所述对象为待构建3d模型的对象,所述待处理数据为rgb点云或mesh网格;对各平面进行两两空间相交计算,得到所述对象的多个候选表面,以及由所述多个候选表面构成的至少两个多面体;将所述待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体,所述第一数据包含于所述待处理数据,当所述待处理数据为所述rgb点云时,所述第一数据为第一rgb点云,当所述待处理数据为所述mesh网格时,所述第一数据为第一mesh网格,所述第一候选表面包含于所述多个候选表面,且所述第一候选表面为所述第一多面体的表面;根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量,获取所述第一多面体的内外标签,所述内外标签表征所述第一多面体为所述对象外部的多面体或内部的多面体;根据所述第一多面体的内外标签,构建所述对象的3d模型。2.根据权利要求1所述的方法,其特征在于,所述从待处理数据中提取对象的多个平面,包括:将共面的待处理数据所在的平面作为一个平面,以得到所述多个平面。3.根据权利要求2所述的方法,其特征在于,当所述待处理数据为所述rgb点云时,所述将共面的待处理数据所在的平面作为一个平面,包括:根据所述rgb点云的空间位置关系,将共面的rgb点云所在的平面作为一个平面。4.根据权利要求2所述的方法,其特征在于,当所述待处理数据为所述mesh网格时,所述将共面的待处理数据所在的平面作为一个平面,包括:根据所述mesh网格的邻接拓扑关系,将共面的mesh网格所在的平面作为一个平面。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述对各平面进行两两空间相交计算,得到所述对象的多个候选表面,以及由所述多个候选表面构成的至少两个多面体,包括:对所述各平面进行两两空间相交计算,得到多个相交线;以相交线作为边界,对相交线构成的每个空间平面进行约束三角化计算,得到所述多个候选表面;根据每个候选表面的邻接关系,得到所述至少两个多面体。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述将所述待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体,包括:将所述待处理数据投影至每个候选表面,当所述待处理数据为所述mesh网格时,进行投影的为所述mesh网格的顶点;根据所述第一数据与每个所述候选表面的距离,以及所述第一数据的投影点与每个所述候选表面的位置关系,确定所述第一数据对应的第一候选表面,所述第一候选表面所属的多面体为所述第一多面体。7.根据权利要求6所述的方法,其特征在于,所述根据所述第一数据与每个所述候选表面的距离,以及所述第一数据的投影点与每个所述候选表面的位置关系,确定所述第一数
据对应的第一候选表面,包括:将与所述第一数据距离最近的、以及所述第一数据的投影点落入的候选表面作为所述第一数据对应的第一候选表面。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量,获取所述第一多面体的内外标签,包括:根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量的相关性,获取所述第一多面体的内外标签的权重,当所述第一数据为所述第一mesh网格时,所述第一多面体的中心点至所述第一数据的向量为所述第一多面体的中心点至所述第一mesh网格的中心点的向量;以所述对象中包含的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,获取所述第一多面体的内外标签。9.根据权利要求8所述的方法,其特征在于,所述第一多面体对应多个第一数据,所述相关性包括正相关和负相关;所述根据所述第一数据的法向向量,以及所述第一多面体的中心点至所述第一数据的向量的相关性,获取所述第一多面体的内外标签的权重,包括:获取每个第一数据的法向向量,以及所述第一多面体的中心点至所述第一多面体对应的每个第一数据的向量的相关性;根据正相关的数量和负相关的数量,获取所述第一多面体的内外标签的权重。10.根据权利要求8或9所述的方法,其特征在于,所述以所述对象中包含的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,获取所述第一多面体的内外标签,包括:以所述对象中的所有的第一多面体的内外标签的权重作为图结构的节点,以第一多面体与邻接的多面体之间的邻接面积作为所述图结构的边,采用最大流算法或最小割算法,获取所述第一多面体的内外标签。11.根据权利要求1-10中任一项所述的方法,其特征在于,所述根据所述第一多面体的内外标签,构建所述对象的3d模型,包括:将所述对象中的内部的多面体和外部的多面体的邻接面,作为所述对象的表面;根据所述对象的表面,构建所述对象的3d模型。12.根据权利要求1-11中任一项所述的方法,其特征在于,所述待处理数据包含所述对象的rgb点云或mesh网格,或者所述待处理数据为所述对象的rgb点云或mesh网格。13.根据权利要求1-12中任一项所述的方法,其特征在于,当所述待处理数据为所述对象的rgb点云或mesh网格时,所述从待处理数据中提取对象的多个平面之前,还包括:从初始数据中获取所述待处理数据,所述初始数据包含有至少一种对象的初始rgb点云或初始mesh网格。14.根据权利要求13所述的方法,其特征在于,所述从初始数据中获取所述待处理数据,包括:对所述初始数据进行多尺度空间采样,得到至少两个尺度的采样结果;结合所述初始数据所属区域的地形信息,对每个尺度的采样结果进行正则化处理,得
到处理后的至少两个尺度的采样结果;将所述处理后的至少两个尺度的采样结果输入预先训练好的神经网络模型,得到携带有所述对象的标签的数据;对所述携带有所述对象的标签的数据进行对象分割,得到所述待处理数据。15.根据权利要求14所述的方法,其特征在于,当所述初始数据为初始rgb点云时,对所述初始rgb点云进行多尺度空间采样,得到至少两个尺度的采样结果,包括:a,采用第i尺度的栅格切分所述初始rgb点云,获取每个栅格中的第i中心点云,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i中心点云的三维坐标和颜色信息,所述第i中心点云为栅格中包含的点云的中心点,所述i为大于或等于1为小于n的整数,所述n为大于1的整数;b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两个尺度的采样结果。16.根据权利要求14所述的方法,其特征在于,当所述初始数据为初始mesh网格时,对所述初始mesh网格进行多尺度空间采样,得到至少两个尺度的采样结果,包括:a,以所述初始mesh网格的顶点作为球心,以第i尺度的半径的球体切分所述初始mesh网格,获取每个球体中的一个第i顶点,以得到第i尺度的采样结果,所述第i尺度的采样结果中包括所述第i顶点的三维坐标和颜色信息,所述i为大于或等于1为小于n的整数,所述n为大于1的整数;b,判断所述i是否小于n;若是,则将i+1,继续执行步骤a,若否,则得到所述至少两个尺度的采样结果。17.根据权利要求14-16中任一项所述的方法,其特征在于,所述地形信息包括:所述初始数据所属区域的多个地形栅格的位置范围,以及每个地形栅格的海拔高度值;所述结合所述初始数据所属区域的地形信息,对每个尺度的采样结果进行正则化处理,包括:将落入第一地形栅格的位置范围中的初始数据的z值,减去所述第一地形栅格的海拔高度值,以完成对所述落入所述第一地形栅格的位置范围中的初始数据的正则化处理,所述第一地形栅格包含于所述多个地形栅格。18.根据权利要求1-17中任一项所述的方法,其特征在于,所述根据所述第一多面体的内外标签,构建所述对象的3d模型之后,还包括:输出所述对象的3d模型。19.一种3d模型构建装置,其特征在于,包括:平面特征提取模块,用于从待处理数据中提取对象的多个平面,所述对象为待构建3d模型的对象,所述待处理数据为rgb点云或mesh网格;空间相交计算模块,用于对各平面进行两两空间相交计算,得到所述对象的多个候选表面,以及由所述多个候选表面构成的至少两个多面体;多面体拓扑构建模块,用于将所述待处理数据投影至每个候选表面,得到第一数据对应的第一候选表面、第一多面体,所述第一数据包含于所述待处理数据,当所述待处理数据为所述rgb点云时,所述第一数据为第一rgb点云,当所述待处理数据为所述mesh网格时,所述第一数据为第一mesh网格,所述第一候选表面包含于所述多个候选表面,且所述第一候
选表面为所述第一多面体的表面;表面优化生成模块,用于根据所述第一数据的法向向量和所述第一多面体的中心点至所述第一数据的向量,获取所述第一多面体的内外标签,以及根据所述第一多面体的内外标签,构建所述对象的3d模型,所述内外标签表征所述第一多面体为所述对象外部的多面体或内部的多面体。20.一种电子设备,其特征在于,包括:处理器和存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-18中任一项所述的方法。21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-18中任一项所述的方法。22.一种计算机程序产品,其特征在于,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1-18中任一项所述的方法。
技术总结
本申请实施例提供了一种3D模型构建方法、装置和电子设备,该方法中结合平面形状提取、空间相交计算、空间平面投影、多面体拓扑构建、表面优化计算生成模型等用于对对象进行模型简化重构,可以提高构建的3D模型的精度,以得到LOD3级别的模型,且自动化构建的方式可以提高3D模型的构建效率。高3D模型的构建效率。高3D模型的构建效率。
技术研发人员:张津维 刘海强 李凌云
受保护的技术使用者:华为技术有限公司
技术研发日:2021.12.30
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:鞋柜的制作方法 下一篇:波束赋形方法、波束扫描方法及相关设备与流程