一种三维网格后处理方法及装置与流程
本发明涉及三维生成,尤其涉及一种三维网格后处理方法及装置。
背景技术:
1、ai三维(3d)生成算法近年来发展迅速,生成质量和泛化性得到极大提升并逐步落地到各种产业。基于扩散模型(diffusion model,dm)的三维生成算法在不同形态的物体生成上都表现出很好的生成效果以及极高的通用性。
2、现有的三维生成模型在预测并生成使用o-体素(o-voxel)的表征后,需要将其转换为初始三维网格(intial mesh)以供后续使用。这一转换过程通常涉及以下步骤:首先将o-体素解码为空间中的点集,然后通过表面重建算法生成三角面片结构。
3、然而,由于o-体素本身不记录sdf(signed distance function,带符号距离)信息或者三角面的法向信息,转换后的三角面朝向具有随机性,即相邻三角面的法向(normal)方向可能不一致;同时,由于o-体素的稀疏属性,在经过slat模型和decoder模型预测后,生成的o-体素往往存在部分缺失,导致转换后的网格存在破洞(hole)。
4、而在三维打印(3d printing)、物理仿真(physics simulation)等应用场景中,要求生成的三维网格是水密状态(watertight),即网格表面必须是完全封闭的,没有破洞,且法向量统一朝外,因此,o-体素转换后的三维网络需要进一步的后处理(post-processing)。
5、目前主流的网格后处理技术包括直接修复和基于udf-dc(unsigned distancefunction-dual contouring,无符号距离场-双轮廓法)的重网格化两种。然而这两种方法都无法在统一法向的同时修复孔洞,因此无法生成水密、法向统一、适合三维打印和物理仿真的高质量三维网格。
技术实现思路
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、剔除所述内部漂浮物,得到去漂浮物网格。
53、可选地,所述将所述水密网格简化至目标面数,得到后处理网格的步骤,包括:
54、判断所述水密网格的面数是否超过目标面数;
55、若是,采用二次误差度量进行边折叠,得到后处理网格;
56、若否,对所述水密网格各三角面进行中点细化,得到细化网格;
57、对所述细化网格采用二次误差度量进行边折叠,得到后处理网格。
58、本发明还提供了一种三维网格后处理装置,包括:
59、初始三维网格获取模块,用于获取由o-体素转换得到的初始三维网格;
60、无符号距离计算模块,用于构建所述初始三维网格的稀疏体素网格,并计算所述稀疏体素网格各体素中心点到所述初始三维网格的无符号距离;
61、带符号距离生成模块,用于根据预设光线追踪策略、所述无符号距离生成所述稀疏体素网格的待判断体素顶点的带符号距离;
62、新网格顶点生成模块,用于基于所述带符号距离,采用双轮廓法提取新网格顶点,并根据所述新网格顶点生成新网格;
63、重建与后处理模块,用于将所述新网格顶点投影到所述初始三维网格,得到重建网格,并对所述重建网格进行后处理,得到后处理网格。
64、从以上技术方案可以看出,本发明具有以下优点:本发明通过光线追踪确定sdf符号,结合双轮廓法提取的网格具有统一的法向朝向,并通过网格重建和后处理来修复孔洞,从而满足三维打印和物理仿真的需求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com