当前位置: 华文世界 > 科学

3D数据的表示方法

2024-01-08科学

3D数据表示是计算机图形学、机器人技术、可视化和许多其他技术的基础。

1. 原数据(Raw data)

原始3D数据可以通过不同的扫描设备获得,如双目模组、结构光模组等。一些流行的3D数据表示属于这一组是点云(Point Cloud),RGB-D和3D投影(3D Data Projections)。

1.1 点云(Point Cloud)

点云是一组3D数据点,每个点由笛卡尔坐标系或其他坐标系中的一个三维坐标表示,它被认为是一组非结构化的三维点,象征着三维物体的几何形状,并被用于许多计算机视觉任务。如分类与分割、目标识别、重建等。

点云由于其不规则的结构而成为一种特殊的三维数据表示形式。点云是一种简单、完整的数据结构,消除了网格数据的复杂性。

尽管可以轻松获得点云,但由于点云中缺乏连接信息,并且在采集设置中从环境中捕获点云,因此处理点云可能具有挑战性。得到的点云有时是不完整的,由于传感器和其他环境因素的影响,会产生噪声和数据缺失。

图1:Point Cloud

1.2 RGB-D

双目模组、结构光模组等3D传感器可用于将3D数据表征为RGB-D数据。通过给出深度图(D)和颜色信息(RGB),获得的三维物体的2.5D数据。

许多RGB-D数据集可用,如RGB-D对象数据集,SUN 3D等等。RGB-D数据被证明在姿态回归、对应和字符识别中是有效的。但是,平面2D数据的深度和颜色不足以表示3D物体的完整几何形状。

图2:RGB-D

1.3 3D投影(3D DATA PROJECTIONS)

3D投影是一种将3D点映射到2D平面的方法。它是用虚投影来实现的,虚投影赋予了投影数据原始三维物体的关键特征。许多投影方法将3D模型转换为具有关键属性的2D网格。球面投影使投影的数据不受旋转的影响。然而,在复杂的计算机视觉任务中,由于投影中的信息丢失。该方法并不是最优的。

图3:3D Data Projections

2. 实体(solid)

三维模型的实体表示实际上是给定对象的空间控制信息。通常信息是二进制的,这意味着空间可以被对象占用,也可以不被对象占用。

2.1 八叉树(OCTREE)

八叉树是一种简化的数据结构,可以有效地存储三维数据。它是二维四叉树的扩展。八叉树中的单个节点包含八个子节点。八叉树只是一个波动大小的体素,它被认为是最分散的体素表示之一。它具有内存利用率高的优点,可用于生成高分辨率体素。然而,它有一个主要的缺点,那就是它无法保持一些3D的几何形状物体喜欢光滑的表面。

图4:OCTREE

2.2 体素(Voxels)

体素通过描述3D对象在场景的三维空间中分配的方式来表示3D数据。通过对三维形状的视图信息进行编码,可以将被占用的体素划分为可见块或自遮挡体素。体素的主要限制是由于表示已占用和未占用场景而需要不必要的存储,对内存存储的巨大需求使得它不足以满足高分辨率数据。

图5:Voxels

3. 表面多边形(surface)

表面多边形通常用于三维物体的边界表示,它包围着物体的内部部分。这些多边形的集合通常存储用于物体的描述,由于所有的表面都可以用线性方程来表征,因此具有简单和快速的表面渲染和物体显示的优点。三维物体的表面表示有很多方法,如多边形网格、细分、参数化和隐式等,但在这些表示中,多边形网格(polygon mesh)是最常用的表面表示方式。

3D网格(3D Mesh)由顶点、边缘和面组成,主要用于计算机图形应用程序的3D对象存储和渲染目的。顶点包含连接列表,描述每个顶点如何相互连接。网格数据的主要挑战是不规则和非常复杂。

图6:3D Mesh

4. High-Level Structures

在3D形状检索和分类中,需要对3D对象进行简洁、丰富的表示,以便将一个对象描述为某个类别的代表。三维形状可以以高级三维形状描述符的形式表示,它是包含三维物体几何特征的简化表示。除了三维描述符外,图形(Graph)还可以以高级结构的形式表示。

4.1 3D描述符(3D Descriptors)

三维形状描述符在三维形状检索和其他形状分析任务中起着重要作用。3D形状检索可以描述为从包含许多3D模型的数据库中查询一个3D对象以发现最接近的匹配,为了保持海量的3D数据并快速查询以找到最接近的匹配,需要将形状转换为特征描述符。三维形状描述符可以分为全局描述符和局部描述符。三维形状描述符的其他类别还有基于扩散的和非基于扩散的[如统计矩、光场描述符和傅立叶描述符。

图7:3D Descriptors

4.2图形(Graph)

图形三维数据表示通过图形连接不同形状的部件,收集三维对象的几何本质。图方法通常根据所使用的图的类别分为三种,如模型图、reeb图和骨架图。

图8:Graph

5.多视图数据(Multi View Data)

3D数据表示的另一种形式是从视图的真实性中渲染一组图像,并将这组图像作为CNN(卷积神经网络)的输入,用于形状分析任务。这些方法的主要优点是它们可以处理高分辨率的输入,以及利用基于完整图像的CNN进行3D形状分析任务。然而,这些方法的主要缺点是确定视图数量和自遮挡,如果视图数量很大,则会导致巨大的计算成本。

图9:Multi View Data

参考资料:

1. ABUBAKAR SULAIMAN GEZAWA, YAN ZHANG 【A Review on Deep Learning Approaches for 3D Data Representations in Retrieval and classifications】

2.【视觉深度学习的三维重建方法综述_李明阳】

3.【3D目标检测方法研究综述_黄哲】