新闻  |   论坛  |   博客  |   在线研讨会
ICLR2023 | 阿卜杜拉国王科技大学最新发布,3D表示新网络:多视图+点云!(2)
计算机视觉工坊 | 2023-08-22 19:56:20    阅读:1110   发布文章

引言

3D 计算机视觉和计算机图形学的一个基本问题是如何表示 3D 数据。鉴于深度学习在 2D 计算机视觉领域的成功推动了深度学习在 3D 视觉和图形领域的广泛采用,这个问题变得尤为重要。

事实上,深度网络已经在 3D 分类、3D 分割、3D 检测、3D 重建和新颖的视图合成。计算机视觉网络依赖于直接 3D 表示、图像上的间接 2D 投影或两者的混合。

  • 直接方法对通常以点云、网格或体素表示的 3D 数据进行操作。
  • 相比之下,间接方法通常渲染对象或场景的多个 2D 视图,并使用传统的基于 2D 图像的架构处理每个图像。人类视觉系统更接近这种用于 3D 理解的多视图间接方法,因为它接收渲染图像流而不是显式 3D 数据。

使用间接方法处理 3D 视觉任务具有三个主要优势:

  • (i) 成熟且可迁移的 2D 计算机视觉模型(CNN、Transformers 等);
  • (ii) 用于预训练的大型和多样化标记图像数据集(例如 ImageNet);
  • (iii) 多视图图像根据视角提供丰富的上下文特征,这与几何 3D 邻域特征不同。

多视图方法在 3D 形状分类和分割方面取得了令人印象深刻的性能。然而,多视图表示(尤其是密集预测)的挑战在于将每个视图的特征与 3D 点云正确聚合。需要进行适当的聚合以获得具有代表性的 3D 点云,每个点具有适用于典型点云处理管道的单个特征。

以前的多视图工作依赖于将像素映射到点后的启发式方法(例如平均或标签模式池化),或与体素的多视图融合。由于某些原因,此类设置可能不是最佳设置。

  • (i) 这种启发式方法可能会汇总从中获得的误导性预测信息任意观点。例如,从底部看一个对象并独立处理该视图,当与其他视图结合时,可能会携带有关该对象内容的错误信息。
  • (ii) 视图缺少几何 3D 信息。

为此,本文提出了一种新的混合 3D 数据结构,它继承了点云的优点(即紧凑性、灵活性和 3D 描述性),并利用了多视图投影丰富的感知特征的优势。将这种新表示称为多视图点云(或 Voint cloud),并在图 1 中进行了说明。

Voint cloud是一组 Voint,其中每个 Voint 是一组与视图相关的特征(视图特征),对应于3D 点云中的相同点。这些视图特征的基数可能因一个 Voint 而异。在表1 中,比较了一些广泛使用的 3D 表示和我们的 Voint cloud表示。

Voint cloud继承了显式 3D 点云的特征,这有助于学习用于各种视觉应用(例如点云分类和分割)的 Voint 表示。为了在新的 Voint 空间上部署深度学习,定义了 Voint 上的基本操作,例如池化和卷积。

基于这些操作,定义了一种构建 Voint 神经网络的实用方法,称之为 VointNet

  • VointNet 采用 Voint 云并输出点云特征以进行 3D 点云处理。
  • 本文展示了学习这种 Voint 云表示如何在 ScanObjectNN 和 ShapeNet。
Contributions 主要贡献

(i) 本文提出了一种新颖的多视图3D点云表示方法,称为Voint cloud。在这种表示方法中,每个点(即Voint)由来自不同视角的一组特征表示。

(ii) 本文在Voint级别定义了池化和卷积运算,用于构建Voint神经网络(VointNet )。VointNet 能够学习从Voint空间中的多个视图聚合信息。

(iii) 本文的VointNet 在多个3D理解任务上取得了最好的性能,包括3D形状分类、检索和稳健的部分分割。此外,VointNet 还实现了对遮挡和旋转的鲁棒性改进。通过引入Voint cloud表示和VointNet 网络,在处理3D点云数据时取得了显著的改进,并在多个任务中取得了优越的性能,提高了对复杂3D场景的理解和分析能力。

相关背景3D 点云的学习

3D点云学习是计算机视觉中广泛应用的一种方法,而点云由于其紧凑、灵活性以及可以通过LiDAR和RGB-D相机等传感器自然获取的特点,在3D表示中被广泛使用。

  • PointNet是第一个能够直接在3D点云上进行深度学习的算法,为后续的研究奠定了基础。它独立地计算点的特征,并使用顺序不变函数(例如最大池化)对这些特征进行聚合。随后的研究工作主要集中在寻找点的邻域来定义点卷积运算。
  • 近期的研究工作将点云表示与其他3D模态进行了结合,例如体素或多视图图像。

在这项研究中,本文提出了一种新颖的表示方法,称为Voint cloud,用于3D形状表示,并研究了一种新颖的架构,用于在3D点级别聚合视图相关的特征。通过引入Voint cloud表示和相关架构,对3D点云的学习和表示提出了新的方法,进一步推动了这一领域的发展。

3D 多视图

多视图应用最初是于1994年提出的,使用2D图像来理解3D世界。这种直观的多视图方法与MVCNN(Multi-View Convolutional Neural Networks)中的3D理解深度学习相结合。随后,一系列工作通过改进每个图像视图的视图特征的聚合,继续开发用于分类和检索的多视图方法。

在本文中,将多视图的概念融合到3D结构本身中,使每个3D点根据可用的视点具有一组独立的视图特征。Voints与采样的3D点云对齐,提供紧凑的表示形式,既能高效计算和节省内存,又保持了视图相关的组件,促进了基于视图的视觉学习。

3D数据的多视图混合

在一些3D语义分割任务中,也有一些方法尝试采用多视图方法。然而,当组合视图特征以表示局部点或体素并保留局部几何特征时,会遇到问题。这些方法往往会对视图特征进行平均、仅标签、从邻域中的重建点学习、对单个网格上的点进行排序,或将多视图特征与3D体素特征相结合。

因此,本文提出的VointNet 在Voint cloud空间中运行,同时保留了原始点云的紧凑性和3D描述性。VointNet 利用多视图功能的强大能力,并学习将视图特征独立应用于每个点并进行聚合。这样的设计使得VointNet 在多视图任务上取得了良好的性能表现。

Method 方法Pipeline

研究工作中的主要假设是表面 3D 点是球面函数,即它们的表示取决于观察它们的视角。这种情况与大多数假设 3D 点云的视图独立表示的 3D 点云处理Pipeline形成对比。完整的Pipeline如下图所示。

图片

图2:从 Voint cloud中学习。

  • 为了构建 3D Voint cloud ,渲染器  从视点  渲染点云 ,并通过 2D 主干   从生成的图像中提取图像特征。
  • 然后,图像特征通过   投影到 Voint 云并通过到VointNet 。
  • 为了学习  和  ,输出点上的 3D 损失与  上可选的辅助 2D 损失一起使用。
从点云到 Voint cloud —— From Point Clouds to Voint clouds

3D点云是由3D对象或场景表面上的采样点组成的紧凑3D表示,可以通过不同的传感器获取,如LiDAR或重建结果。

  • 将曲面  的坐标函数定义为连续欧氏空间中的符号距离函数(SDF),然后将3D等值面定义为满足   条件的所有点   的集合。
  • 将表面3D点云  定义为一组   个3D点,其中每个点  由其3D坐标  表示,并满足等值面条件  。

在本文中,目标是将视图依赖性融合到3D点中。受到NeRFs(Neural Radiance Fields)的启发,假设表面点的特征也取决于观察它们的视角方向。

  • 具体而言,引入一个连续的隐式球函数  ,它根据视角方向u定义每个点x的特征。
  • 给定一组M个视角方向  ,Voint   是一组M个与视角相关的特征,用于描述以点x为中心的球体。

  • 点云  表示父点云X中每个点   的集合。
  • 需要注意的是,通常我们无法直接访问底层的隐式函数,因此通过以下三个步骤对其进行近似。
三步骤   Three steps1、多视投影 ——  Multi-View Projection

Voint 将同一个 3D 点的多个视图特征结合在一起。这些视图特征来自于点云渲染器  对点云  进行多视图投影的结果:。

  • 它将来自多个视点  的点云  渲染为大小为  的  个图像,每个像素包含三维信息。
  • 除了将点云投影到图像空间,渲染器  还定义了每个像素与其对应的  个点和背景之间的索引映射 。

此外,渲染器 R 还为每个视图的每个点输出可见性二元矩阵 。

  • 由于像素的离散化,不是所有的点都会在所有的视图中出现,因此可见性分数  定义了 Voint  在视图  中是否可见。
  • 矩阵  对于非投影操作至关重要,而矩阵  是定义 Voints 上有意义的操作所必需的。
2、多视特征提取 ——  Multi-View Feature Extraction

渲染图像通过函数  进行处理:,提取图像特征,具体示意如图2所示。

  • 如果函数  是恒等函数,那么所有视图特征通常对应于点的 RGB 值。
  • 然而,函数  可以是专门针对下游任务的2D网络,它可以提取关于每个视图的有用的全局和局部特征。
3、多视 Unprojection —— Multi-View Unprojection

本文提出了一个模块 ,用于将每个像素的2D特征反投影为相应点的3D视图特征。利用由渲染器创建的映射, 形成Voint云特征 。

总之,输出的Voint云可以用方程(1)描述,其中   ,当  时,特征仅对Voint  的视图  定义。

图片

表 1:不同 3D 表示的比较。

  • 将一些广泛使用的3D 表示与本文提出的 Voint 云进行了比较。
  • 请注意, Voint 云共享 NeRF 的视图依赖性,同时继承了 3D 点云的优点。
3D Voint clouds 上的操作  —— Operations on 3D Voint clouds

在附录中,展示了一组角度的最大池化单个视图特征的函数形式可以近似球坐标中的任何函数。

本文提供了一个定理,该定理扩展了 PointNet 的点云函数组合定理及其对 Voints 基础球函数的通用逼近。

接下来,在 Voint 上定义一组操作作为 Voint 神经网络 (VointNet ) 的构建块。

池化—— VointMax

将 VointMax 定义为沿 voint  的视图维度在可见视图特征上的最大池化。对于所有   和 ,


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客