目录
一、概述
该论文提出了一种利用稀疏输入图像高效预测3D高斯原语的方法,也是第一个基于Transformer架构以及大量数据集生成通用,可扩展的,高效的3DGS大型重建模型的方法GS-LRM,他的前身是LRM。
(1)将输入图像分块为patch tokens,并且通过自注意力和MLP层的transformer来处理,最终回归3DGS原语参数。
(2)可以应用于不同数据集上训练处理物体和场景捕获,并且达到SOTA水平。
二、相关工作
1、多视图的三维重建
以往的三维重建包括稀疏视角下的重建SfM和密集场景下的重建MVS,都是基于点云的且渲染效果不佳。
近期深度学习发展,也诞生了基于深度学习的MVS,并且运用前馈的方式达到高质量渲染。
对于该论文,最重要的点就是通过多视角的transformer来生成3DGS原语,在保证渲染质量的同时,满足更大的数据量,这也是以往使用成本体积方法的一大挑战。
2、前馈重建
以往的前馈重建考虑基于CNN的方法使用point splatting或者不透明度生成的方式来估计点或者多视角图像(MPIs),而我们采用GS splatting的方式,相当于结合了这两种方法,并且进行又一次创新。
LRM方法基于三平面NeRF作为场景表示,存在分辨率受限和渲染效率低问题。
PixelSplat使用epipolar-based的方法,更加关注场景级别重建,LGM使用U-Net的方法更加关注对象的生成。
该论文直接用一个通用的Transformer来回归3DGS原语,密集的自注意力层更为有效的学习多视角和一般的重建先验(深度,光追),渲染效果也优于epipolar-based和U-Net-based的并行工作。
三、LRM
LRM网络架构分为三个部分:编码器(单图像->图像特征),解码器(图像特征->三维三平面空间表示),NeRF渲染(三平面表示->渲染神经辐射场)
1、编码器
编码器使用一个自蒸馏训练的模型DINO,用来学习图像中显著内容的结构和纹理,相比于ResNet,DINO能够表示更为精细的结构和纹理信息;相比于使用普通的ViT或者CLIP一类聚合特征的方法,LRM使用了整个特征序列,保留序列信息。
DINO模型采用ViT-B/16架构,将图像编码为1025个token,每个token为32*32*768,图像特征为。
2、解码器
首先我们处理相机特征为,相机特征为一个20维参数向量,包括4*4相机外参矩阵flatten后的16维,相机焦距2维,相机主点2维。之后将相机特征引入一个MLP中映射为一个高维相机嵌入。
然后将相机嵌入与图像特征进行concat,得到三平面隐藏特征,或者叫可学习的嵌入,通道为1024维。
将输入到解码器,解码器由三部分构成,交叉注意力、自注意力、MLP三部分,其中交叉注意力与原始图像特征进行交叉注意运算,经过每一个部分都要使用高维相机嵌入对隐藏特征进行自适应归一化操作,来调制隐藏特征。最终保证输出编码器的特征为1024维特征。
3、NeRF渲染
将编码器的输出经过反卷积+上采样,得到三平面特征,并通过MLP回归得到NeRF渲染参数,通过体渲染得到3D模型。
四、GS-LRM
GS-LRM相较于LRM最大的提高在于,不再使用原有的encoder-decoder框架,而是使用完全基于transformer的架构。
1、输入处理
对于同一物体,每次使用多视角图片叠加Plucker光线作为输入(一般是四视角),对于图片的处理类似于ViT,将图片进行进行9通道的拆分,然后将9通道进行concat后放入线性层升维到高维特征。
2、Transformer
对于输入图像张量引入L层的Transformer模块,不断重复Transformer模块,输出特征。
将特征输入到线性层,回归输出每个像素的12个高斯参数,包括3维RGB,3维尺度变化,4维旋转四元数、1维不透明度、1维光线距离。
利用12个高斯参数对每个像素进行渲染,得到Merged Gaussians完整的3DGS模型。
3、损失函数
损失函数使用MSE和基于VGG的LPIPS。
五、实验
对于场景数据论文使用Objaverse数据集训练,并使用Amazon Barkeley数据集和Google数据集进行推理,对于对象数据集完全依赖于Realstate10K。
在场景数据集(ABO和GSO数据集)和对象数据集(RealState10k)上都取得了SOTA性能。
六、局限
局限包括三个部分:分辨率限制,相机参数已知,无法估计不可见部分而出现重建幻觉。
参考1:LRM: Large Reconstruction Model for Single Image to 3D
参考2:GS-LRM: Large Reconstruction Model for 3D Gaussian Splatting