人工智能
泼溅图像:超快速单视图 3D 重建
目录

使用卷积网络的单视图 3D 对象重建已展现出非凡的能力。单视图 3D 重建模型使用单个图像作为参考生成任何对象的 3D 模型,使其成为计算机视觉研究中最热门的主题之一。
例如,让我们考虑上图中的摩托车。生成其 3D 结构需要一个复杂的管道,该管道首先将低级图像的线索与高级语义信息以及有关零件结构排列的知识结合起来。
由于过程复杂,单视图 3D 重建一直是计算机视觉领域的一大挑战。为了提高单视图 3D 重建的效率,开发人员研究了 Splatter Image,这种方法旨在实现超快速的单视图 3D 形状和物体的 3D 外观构造。 Splatter Image 框架的核心是使用高斯 Splatting 方法来分析 3D 表示,充分利用其提供的速度和质量。
最近,高斯分布方法已被众多多视图重建模型实现,用于实时渲染、增强缩放和快速训练。话虽如此,Splatter Image 是第一个针对单视图重建任务实现高斯 Splatting 方法的框架。
在本文中,我们将探讨 Splatter Image 框架如何利用高斯 Splatting 来实现超快速的单视图 3D 重建。那么让我们开始吧。
泼溅图像:超快速单视图 3D 重建的尝试
如前所述,Splatter Image 是一种基于高斯 Splatting 方法的单视图 3D 对象重建超快速方法。 Splatter Image 是第一个实现单目 3D 对象生成高斯 Splatting 的计算机视觉框架,因为传统上,高斯 Splatting 一直为多视图 3D 对象重建框架提供支持。然而,Splatter Image 框架与现有方法的区别在于,它是一种基于学习的方法,测试中的重建只需要神经网络的前馈评估。
Splatter Image 从根本上依赖于 Gaussian Splatting 的渲染质量和高处理速度来生成 3D 重建。 Splatter Image 框架采用简单的设计:该框架使用 2D 图像到图像神经网络来预测每个输入图像像素的 3D 高斯分布,并将输入图像映射到每个像素的 3D 高斯分布。生成的 3D 高斯函数具有图像的形式,称为“泼溅图像”,并且它们的高斯函数还提供图像的 360 度表示。下图演示了该过程。
尽管该过程简单明了,但在使用 Gaussian Splatting 生成 3D 高斯函数时,Splatter Image 框架面临一些关键挑战 单视图 3D 表示。第一个主要障碍是设计一个神经网络,该网络接受对象的图像作为输入,并生成代表图像所有侧面的相应高斯混合作为输出。为了解决这个问题,Splatter Image 利用了这样一个事实:即使生成的高斯混合是一组或无序的项目集合,它仍然可以存储在有序的数据结构中。因此,该框架使用 2D 图像作为 3D 高斯的容器,因此容器中的每个像素都包含一个高斯的参数,包括其形状、不透明度和颜色等属性。
通过在图像中存储 3D 高斯集,Splatter Image 框架能够减少学习图像到图像神经网络时面临的重建障碍。通过使用这种方法,可以仅利用高效的2D算子而不是依赖3D算子来实现重建过程。此外,在 Splatter Image 框架中,3D 表示是 3D 高斯的混合,使其能够利用高斯 Splatting 提供的渲染速度和内存效率优势,从而提高训练和推理的效率。接下来,Splatter Image 框架不仅可以生成单视图 3D 表示,而且还表现出卓越的效率,因为它甚至可以在标准 3D 对象基准上的单个 GPU 上进行训练。此外,Splatter Image 框架可以扩展为采用多个图像作为输入。它可以通过将各个高斯混合注册到一个公共参考,然后通过采用从各个视图预测的高斯混合的组合来实现这一点。该框架还在其架构中注入了轻量级的交叉注意力层,允许不同的视图在预测过程中相互通信。
从经验的角度来看,值得注意的是,Splatter Image 框架即使只看到对象的一侧,也可以生成对象的 360 度重建。然后,该框架将 2D 邻域中的不同高斯分配给 3D 对象的不同部分,以对 360D 图像中生成的 2 度信息进行编码。此外,该框架将几个高斯的不透明度设置为零,从而停用它们,从而允许它们在后处理过程中被剔除。
总而言之,Splatter Image 框架是
- 一种通过移植 Gaussian Splatting 方法来生成单视图 3D 对象重建的新颖方法。
- 扩展了多视图 3D 对象重建方法。
- 以卓越的速度和质量在标准基准上实现最先进的 3D 对象重建性能。
泼溅图像:方法论和架构
高斯泼溅
如前所述,Gaussian Splatting 是 Splatter Image 框架实现的用于生成单视图 3D 对象重建的主要方法。简单来说,Gaussian Splatting 是一种用于重建 3D 图像并实时渲染具有多个视点的图像的光栅化方法。图像中的3D空间被称为高斯分布,并且采用机器学习技术来学习每个高斯分布的参数。 Gaussian Splatting 不需要在渲染过程中进行训练,从而加快渲染速度。下图总结了 3D Gaussian Splatting 的架构。
3D 高斯溅射首先使用一组输入图像来生成点云。然后,高斯溅射使用输入图像通过匹配图像之间的像素来估计相机的外部参数(例如倾斜和位置),然后使用这些参数来计算点云。使用不同的机器学习方法,Gaussian Splatting 然后优化每个高斯的四个参数,即:位置(位于何处)、协方差(在 3×3 矩阵中拉伸或缩放的程度)、颜色(RGB 配色方案是什么)和 Alpha(测量透明度)。优化过程渲染每个相机位置的图像,并使用它来确定更接近原始图像的参数。因此,最终的 3D 高斯泼溅输出是一个图像,称为泼溅图像,它与捕获它的相机位置处的原始图像最相似。
此外,高斯溅射中的不透明度函数和颜色函数给出了 3D 点观察方向的辐射场。然后,该框架通过整合沿穿过像素的光线观察到的颜色,将辐射场渲染到图像上。高斯分布将这些函数表示为彩色高斯的组合,其中高斯均值或中心以及高斯协方差有助于确定其形状和大小。每个高斯还具有不透明度属性和与视图相关的颜色属性,它们一起定义辐射场。
飞溅图像
渲染器组件将 3D 高斯集映射到图像。为了执行单视图 3D 重建,该框架会寻找 3D 高斯函数的反函数,从图像中重建 3D 高斯函数的混合。这里的关键内容是为反函数提出一种有效而简单的设计。具体来说,对于输入图像,该框架使用图像到图像神经网络架构来预测每个单独像素的高斯分布,以输出图像(Splatter Image)。该网络还预测形状、不透明度和颜色。
现在,可能有人会猜测 Splatter Image 框架如何 重建 3D 表示 一个对象,即使它只能访问它的一个视图? Splatter Image 框架实时学习使用一些可用的高斯函数来重建视图,并使用剩余的高斯函数自动重建图像中看不见的部分。为了最大限度地提高效率,该框架可以通过预测不透明度是否为零来自动关闭任何高斯函数。如果不透明度为零,则关闭高斯,并且框架不会渲染这些点,而是在后处理中被剔除。
图像水平损失
利用 Splatter Gaussian 方法提供的速度和效率的一个主要优点是,它有助于框架在每次迭代时渲染所有图像,即使对于批量大小相对较大的批次也是如此。此外,这意味着该框架不仅能够使用可分解的损失,还可以使用不分解为每像素损失的图像级损失。
尺度归一化
通过查看单个视图来估计对象的大小是一项具有挑战性的任务,并且在使用损失进行训练时解决这种模糊性也是一项具有挑战性的任务。在合成数据集中没有观察到相同的问题,因为所有对象都使用相同的相机内在属性进行渲染,并且对象与相机之间的距离固定,这最终有助于解决歧义。然而,在具有现实生活图像的数据集中,模糊性非常明显,并且 Splatter Image 框架采用了多种预处理方法来近似固定所有对象的比例。
视图相关颜色
为了表示与视图相关的颜色,Splatter Image 框架使用球谐函数来概括朗伯颜色模型之外的颜色。对于任何特定的高斯,模型定义由网络和球谐函数预测的系数。视点改变将相机源中的观看方向变换为其参考系中的相应观看方向。然后模型找到相应的系数来找到变换后的颜色函数。该模型之所以能够做到这一点,是因为在旋转时,球谐函数以及所有其他阶次都是闭合的。
神经网络架构
将输入图像映射到高斯组合的预测器的大部分架构与 SongUNet 框架中使用的过程相同。架构中的最后一层被 1×1 卷积层取代,颜色模型决定输出通道的宽度。给定输入图像,网络生成一个输出通道张量作为输出,并针对每个像素通道对参数进行编码,然后将其转换为偏移、不透明度、旋转、深度和颜色。然后该框架使用非线性函数来激活参数并获得高斯参数。
为了使用多视图重建 3D 表示,Splatter Image 框架将相同的网络应用于每个输入视图,然后使用视点方法来组合各个重建。此外,为了促进网络中视图之间的有效协调和信息交换,Splatter Image框架在网络中进行了两项修改。首先,框架用其各自的相机姿态来调节模型,并通过使用产生多个维度的正弦位置嵌入对每个条目进行编码来传递向量。其次,该框架添加了交叉注意层,以促进不同视图特征之间的交流。
飞溅图像:实验和结果
Splatter Image 框架通过评估新颖视图合成质量来衡量其重建质量,因为该框架使用源视图并渲染 3D 形状以瞄准看不见的视图来执行重建。该框架通过测量 SSIM 或结构相似性、峰值信噪比或 PSNR 以及感知质量或 LPIPS 分数来评估其性能。
单视图 3D 重建性能
下表展示了 Splatter Image 模型在 ShapeNet 基准上的单视图 3D 重建任务中的性能。
可以看出,Splatter Image 框架在 LPIPS 和 SSIM 分数上优于所有确定性重建方法。分数表明 Splatter Image 模型生成的图像具有更清晰的重建。此外,Splatter Image 模型在 PSNR 分数方面也优于所有确定性基线,这表明生成的重建也更准确。此外,除了优于所有确定性方法之外,Splatter Image 框架仅需要相对相机姿势即可提高其在训练和测试阶段的效率。
下图展示了 Splatter Image 框架的定性能力,可以看出,该模型生成了具有薄且有趣的几何形状的重建,并捕获了调节视图的细节。
下图显示,与之前的模型相比,Splatter Image 框架生成的重建不仅更清晰,而且具有更好的准确性,特别是在结构较薄且可见性有限的非常规条件下。
多视角3D重建
为了评估其多视图 3D 重建能力,Splatter Image 框架在 SpaneNet-SRN Cars 数据集上进行了训练,以进行两个视图预测。现有方法使用绝对相机姿态调节来执行多视图 3D 重建任务,这意味着模型学会主要依赖于对象在对象中的规范方向。尽管它完成了这项工作,但它限制了模型的适用性,因为对于物体的新图像来说,绝对相机姿势通常是未知的。
总结
在本文中,我们讨论了 Splatter Image,一种旨在实现超快速单视图 3D 形状和物体 3D 外观构建的方法。 Splatter Image 框架的核心是使用高斯 Splatting 方法来分析 3D 表示,充分利用其提供的速度和质量。 Splatter Image 框架使用现成的 2D CNN 架构处理图像,以预测每个像素包含一个彩色高斯的伪图像。通过使用 Gaussian Splatting 方法,Splatter Image 框架能够将快速渲染与快速推理相结合,从而实现对真实和合成基准的快速训练和快速评估。

