问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

网格(mesh)生成算法

创作时间:
作者:
@小白创作中心

网格(mesh)生成算法

引用
CSDN
1.
https://blog.csdn.net/YYY_77/article/details/137738947

网格(mesh)生成算法

1. 简介

基于3D视觉的新兴应用场景蓬勃发展,3D点云越来越受到人们的广泛关注。点云有着广泛的应用领域,包括机器人技术、3D图形、自动驾驶、虚拟现实(AR/VR/MR)等。为了跟上不断增长的应用需求,研究和开发有效存储、处理的相关算法来处理点云的意义正显著上升。

3D点云数据的表述形式一般分为以下四种:

  1. 点云(Point cloud):由N个D维的点组成,当这个D=3的时候一般代表着(x,y,z)的坐标,当然也可以包括一些法向量、强度等别的特征。与网格、体素等数据形式类似,点云也常用作描述三维模型,其表现非常直观,且具有无序性和不规则性。点云定义为目标表面特性的海量点集合,可简单理解为众多特征点的集合,是在获取物体表面每个采样点的空间坐标后得到的。

  2. 体素(Voxel):由三维栅格将物体用0和1表征。

  3. 网格(Mesh):由三角面片和正方形面片组成。

  4. 多角度(Multi-view)的RGB图像或者RGB-D图像

下图分别展示以上四种表述形式

3D视觉的建模领域中有多种技术和方法用于创建对象、环境或结构的数字表示。两种常见的方法是使用点云3D模型(point cloud 3d models)和3D网格模型(3d mesh models)。本文中先介绍下点云3D模型和3D网格模型之间的区别和应用,再对mesh生成算法进行一个大概的描述。

2. Points clouds Vs Meshes

点云3D模型是通过收集大量单独数据点创建的对象或场景的表示。这些数据点通常称为“点”,源自LiDAR(光检测和测距)或结构光扫描仪等3D扫描设备。

点云3D模型的主要目的是捕获3D空间中点的精确空间位置。这些点可以表示对象或环境的表面、边缘或其他特征。

点云3D模型的特点:

  1. 高精度:点云模型最显着的优势之一是高精度。它们可以准确地表示扫描对象,非常适合测量、建筑和工业设计等应用。

  2. 详细的几何形状:点云模型捕获物体的精细细节,低至毫米级。这使得它们对于需要精确测量和分析的任务很有价值。

  3. 缺乏连通性:点云模型由各个点组成,它们不具有固有的连通性或表面结构。

  4. 数据量大:由于数据点数量庞大,点云模型的数据量可能相当大,这可能需要专门的软件和硬件来处理。

点云3D模型一般应用:

  1. 测绘:点云模型对于测绘应用来说非常宝贵,其中准确的测量和空间数据至关重要。

  2. 考古学和文化遗产:它们用于高精度地记录考古遗址和历史文物。

  3. 逆向工程:工程师使用点云模型对复杂对象进行逆向工程,提取精确的几何数据。

与点云模型相比,3D网格模型是通过连接这些单独的点以形成连续的表面来构建的。此过程通常称为“网格划分”。

3D网格模型的特点:

  1. 表面表示:3D网格模型使用顶点、边和面表示对象的表面,同时我们可以在表面上贴精细的纹理。这使得它们适合渲染和可视化。

  2. 拓扑:网格模型具有明确定义的拓扑,这意味着它们具有清晰的结构,杂乱的错误点减少。这对于动画和游戏等应用程序至关重要。

  3. 减少数据大小:与点云模型相比,网格模型在数据大小方面通常更紧凑。这使得它们更容易处理和存储,且减少了渲染压力。

  4. 精度较低:虽然网格模型提供了对象的良好视觉表示,但在捕获精细细节方面它们可能不如点云模型精确。

应用上比如:

  1. 游戏和动画:网格模型广泛应用于游戏行业和3D动画,因为它们能够提供视觉吸引力和交互式表示。

  2. 产品设计:CAD软件通常使用网格模型来设计产品和创建原型。

  3. 3D打印:网格模型非常适合3D打印,因为它们可以轻松转换为物理对象。

3. 为什么要生成mesh网格以及生成mesh网格的难点

在三维重建中,通过深度传感器比如RGBD相机、雷达的方式,或者通过多张2D图片MVG的方式,都可以采集到大量稠密的点云数据。对于一个很复杂的目标物体,我们的精度要求不高,生成的点云可能就有几百万以至几千万个点,对于数据传输以及显示有比较大的困难,而且显示效果也比较差。

网格生成过程中有很多的难点,这些难点也是衡量网格生成算法的标准:

  1. 精度上:

A. 生成网格与原始点云的位置的差异性;

B. 对点云噪声的亢余度、点云分布不同密度的适应效果以及应对点云缺失的效果;

C. 对尖锐特征的保留效果,以及细节的保留效果

D. 网格三角面大小以及形状

  1. 硬件上:能够支持模型网格面积的大小

  2. 时间性能:网格生成速度

4. 常见的mesh网格生成算法

总的先说,目前网格生成算法可以分为两大类:连续曲面生成算法 和 非连续曲面生成算法(离散方法)

连续方法:利用点云去拟合某类分布函数,得到表面的函数表示,然后生成网格。

比如:TSDF、Wavelet(多用于医学图像)、Poisson、FSSR、SSD、GDMR、多级流式表面重建、marching cubes(严格说这并不是一个面生成算法,而是一个等值面提取算法)等

离散方法利用某些空间划分方法,直接从点云数据生成网格。

比如:PowerCrust、Greedy Projection、滚球法、alpha-shapes

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号