新型 Transformer 层提升GPU效率,LaRa 方法优化批处理与体积分辨率 !

点击下方卡片,关注 「AI视界引擎」 公众号

( 添加时备注:方向+学校/公司+昵称/姓名 )

picture.image

picture.image

辐射场方法已经在实现照片级真实的新视角合成和几何重建方面取得了成果。但它们大多应用于针对单个场景的优化或小 Baseline 设置中。

尽管有几项近期研究通过利用 Transformer 来进行具有大 Baseline 的正向重建,但它们都采用标准的全局注意力机制,因此忽略了3D重建的局部特性。

作者提出了一种方法,在 Transformer 层中统一局部和全局推理,从而提高了质量和加快了收敛速度。

作者的模型将场景表示为高斯体积,并将其与图像编码器和组注意力层结合,以实现有效的正向重建。

实验结果表明,作者的模型在四块 GPU 上训练了两天,在重建辐射场方面具有高保真度,并且在零样本和跨领域测试中表现出鲁棒性。

1 Introduction

从多视角图像中重建物体形状和外观的能力一直是计算机视觉和图形学核心挑战之一。现代 3D 重建技术在不同领域取得了令人印象深刻的结果,包括视觉特效、电子商务、虚拟现实和增强现实以及机器人技术。然而,它们仅限于小 Baseline 或密集图像捕获。近年来,计算机视觉界在高质量场景重建方面取得了重大进展。特别是,Structure-from-Motion(SfM)和多视角立体(MVS)成为强大的3D重建方法。它们通过聚合来自源图像 Query 的点特征之间的相似性来识别表面点,并能够重建高度精确的表面和纹理图。

尽管取得了这些成功,但在3D重建应用中,具有视图一致性的几何纹理并不是唯一需要考虑的方面。重建过程还应能够恢复依赖于视图的外观。为此,神经辐射场(NeRF)和神经隐式表面研究了可以从多视角捕获中学习到的体积表示,而无需显式特征匹配。它们的后续工作提高了效率和品质,但大多数需要每个场景的优化和密集的多视角监督。

因此,一些近期的研究放宽了对密集输入视图的要求,研究用于辐射场重建的前馈模型。尽管前馈设计各不相同,但它们通常利用局部特征匹配,这限制了它们仅用于小 Baseline 重建,因为特征匹配通常依赖于大量的图像重叠和相当相似的视角。将几何感知的 Transformer 也应用于解决大 Baseline 问题,但它们常常因缺乏3D感应偏置而导致重建模糊。最近的大型重建模型通过上下文注意力学习内部透视关系,使大 Baseline 重建成为可能。但是, Transformer 没有意识到极线约束,而是需要隐式学习空间关系,这需要大量的数据和 GPU 资源。

在这项工作中,作者提出了 LaRa,一个无需重型训练资源的前馈重建模型,用于从非结构化的少数几个视图进行360受限辐射场重建。作者工作的核心思想是逐步通过一种新颖的体积 Transformer 隐式执行特征匹配。作者提出了高斯体积作为3D表示,其中每个 Voxel 包含一组可学习的高斯基元。为了从图像条件获取高斯体积,作者通过在3D中 Query 特征逐步更新可学习的嵌入体积。具体来说,作者利用DINO图像特征编码器获取图像标记,并通过将它们投射到共享的规范空间来将2D标记提升到3D。接下来,作者提出了一种新颖的组注意力层架构,以实现局部和全局特征聚合。具体来说,作者将密集体积划分为局部组,并仅在每组内应用注意力,受到标准特征点匹配的启发。分组特征和嵌入被输入到交叉注意力子层,以隐式匹配特征体积和嵌入体积的特征组之间,之后是一个3D CNN层,以在相邻组之间高效共享信息。通过所有的注意力层后,体积 Transformer 输出高斯体积,然后通过从粗到细的解码过程将其解码为2D高斯参数。通过结合有效的栅格化,作者的方法实现了高分辨率渲染。

作者证明了仅使用四个输入图像,作者的方法在提供逼真的360新视角合成结果方面的效率和鲁棒性。作者发现,作者的模型实现了对分布外输入的零样本泛化。此外,作者重建的辐射场允许使用现成的深度图融合算法进行高质量的网格重建。最后,作者的模型仅使用 4 个 A100-40G GPU 在 2 天内就实现了高质量的重建结果。

2 Related Work

多视角立体声。多视角立体声重建旨在通过推理从多个视角捕获的图像来生成详细的3D模型,这一课题已经被研究了几十年。近年来,提出了多视角立体网络来解决MVS问题。MVSNet[72]利用一个3D卷积神经网络来处理一个代价体积。这个代价体积是通过从一组相邻视图聚合特征创建的,采用从参考视角的平面扫描技术,促进深度估计并使能更优的3D重建。后续研究在此基础上构建,融入了迭代平面扫描[73]、点云增强、置信度驱动融合以及使用多个代价体积等策略以进一步细化重建精度。然而,所有这些工作都需要大的图像重叠以实现忠实的特征匹配。

少样本辐射场。辐射场表示[42]彻底改变了重建领域,成为传统重建方法的有力替代。尽管在每场景稀疏视图重建方面取得了令人鼓舞的成就,但训练前馈辐射场预测器[8, 13, 66, 76]已变得流行。MVSNeRF[8]提出将代价体积与体积渲染相结合,仅使用光度损失即可实现外观和几何重建。后续工作旨在提高重建质量和效率。与标准MVS方法类似,它们仅限于小的相机 Baseline 。

最近,一些研究通过利用大规模训练数据集和模型大小,探索了针对少样本输入的前馈模型。它们利用跨视角注意力全局推理3D场景,并输出用于辐射场重建的3D表示(例如,三平面,IB-平面)。与此同时,LGM 和 GRM 的工作引入了少样本3D重建模型,这些模型使用 Transformer 框架产生高分辨率的3D高斯分布。尽管这些方法取得了令人印象深刻的视觉效果,但训练变得昂贵,对于学术界来说不太实用。与一些最近的单视图重建方法不同,作者的工作专注于少样本(>1)重建,因为单视图输入可以通过多视图生成模型有效地提升到多视图。

3 LaRa: Large-baseline Radiance Fields

作者的目标是使用有限的输入视角和训练资源重建有界场景的几何形状和视相关外观。给定 M 张图像 及其相机参数 ,作者的方法将辐射场重建为二维高斯分布的集合,用于合成新视角并提取网格。作者的模型是一个函数 ,它将 Voxel 位置的离散辐射场 作为输入,并输出高斯体

其中 表示 个 Voxel 内的基元, 是 个基元的索引。输出高斯体 可用于解码为辐射场。作者的工作考虑了稀疏输入视角,其中相机围绕半球内一个有界区域旋转。作者的方法旨在处理非结构化视图,并且灵活地适应不同数量的视图(见补充材料)。图1展示了作者方法的总览。

picture.image

接下来,作者首先介绍如何使用高斯体来建模目标,其中每个 Voxel 存储多个高斯基元(第3.1节)。然后,作者介绍如何从多视角输入推理基元参数(第3.2节)。对于渲染,作者探索了一种由粗到细的解码过程,以实现具有丰富纹理细节的高效渲染(第3.3节)。最后,作者讨论如何从大规模图像集合中训练作者的模型(第3.4节)。

3D Representation

作者使用3D Voxel 网格作为作者的3D表示,由3个体积组成:一个图像特征体积 用于模拟图像条件,一个嵌入体积 描述从数据中学到的3D先验,以及一个高斯体积 表示辐射场。

图像特征体积。作者通过将2D图像特征提升到场景中心的规范体积来构建每个输入视图的特征体积。作者使用DINO [3]图像编码器提取每个视图的图像特征,并通过自适应层归一化[48]将Plucker射线方向注入特征中。与之前的工作不同,这些工作使用外在与内在矩阵将相机姿态调制到图像特征[26, 38],Plucker射线由相机位置与射线方向的叉乘定义,提供了一个独特的射线参数化,独立于物体尺度、相机位置和焦距。调制后,作者获得个视图的图像特征图。作者进一步将这些2D图提升到3D,通过将特征图回投到规范体积,从而得到个特征体积 ,具有个通道。

嵌入体积。受到先前工作的启发[26, 31, 45],作者构建了一个可学习的嵌入体积 用于建模先验知识。在稀疏视图设置中,3D重建通常是欠约束的,因此先验知识对忠实重建至关重要。作者 Proposal 利用3D嵌入体积跨目标建模和学习先验信息,它作为一个3D目标模板,极大地减少了求解空间。嵌入体积与图像特征体积对齐,便于高效地进行跨注意力(见第3.2节)。

高斯体积。为了实现高效渲染,作者 Proposal 使用密集原语作为目标表示,从图像特征体积和嵌入体积输出一组2D高斯分布。然而,在没有3D监督的情况下,预测一组密集无序点集对神经网络来说总是个挑战。为此,作者引入了一种密集高斯体积表示,它可以有效地在靠近目标表面的区域密集建模点,同时适合现代网络架构,便于预测和生成。

具体来说,作者的高斯体积每个 Voxel 包含个可学习的高斯原语,其中每个原语可以在以 Voxel 中心为中心的受约束球形区域内自由移动。对于原语建模,作者从2D高斯溅射[27]借用形状和外观参数化,以更好地进行表面建模。每个高斯具有不透明度,切向量,控制2D高斯形状的缩放向量,以及用于依赖视图的外观的球面谐波系数。此外,作者用偏移向量替换原语的位置,并引入了缩放型Sigmoid激活函数。因此, Voxel 中的高斯原语的位置表达为,其中表示原语的最大位移范围。这样,原语被限制在均匀分布的局部中心的邻域内。偏移建模的包含使得每个 Voxel 能够有效地表示需要它的相邻区域。这减少了空旷空间的无效容量,与标准密集体积相比,提高了表现力。更多关于2D高斯溅射的细节请参阅补充材料。

Volume Transformer

为了预测高斯体积,作者提出了一种体积 Transformer 架构,用于在体积间执行注意力机制。在 Transformer 中常用的自注意力模块和交叉注意力模块[17],对于体积来说效率低下,因为随着3D表示分辨率的提高,标记的数量呈立方增长。因此,简单的应用会导致训练时间过长和GPU内存需求大。此外,在3D重建的背景下,几何约束和区域匹配起着至关重要的作用,这在注意力设计中应该考虑。

作者现在介绍作者新颖的体积 Transformer ,其中包含一组逐步更新嵌入体积的_组注意力层_。作者的组注意力层包含三个子层(见图2):组交叉注意力、多层感知机(MLP)和3D卷积。给定图像特征体积和嵌入体积,作者首先沿着每个轴将这些3D体积(即和)展开为个局部标记组。然后,作者在对应的嵌入标记组和图像特征标记组之间应用交叉注意力层,其中表示从1开始的层索引,。图1展示了时的展开情况,并突出了相应的组。

picture.image

下一个子层是类似于原始 Transformer [61, 48, 29]的MLP。更新的嵌入组被重新组装成原始体积形状,得到,随后它们被3D卷积层处理,以在组之间共享信息并启用在空间组织的 Voxel 内的模型内连接。总之,

(3)

为了融合来自多视图的信息,作者展平并连接来自多视图特征体积的图像特征标记。重要的是要注意,不同的组通过批处理维度的组注意力层同时处理。这种并行处理允许在注意力子层内具有更大的训练批次大小,从而减少所需的训练步骤数。此外,使用3D卷积层比流行的自注意力层提高了推理效率。同时,作者在子层之间应用层规范。最后,输出嵌入体积作为后续组注意力层的输入。

在通过所有(在作者的实验中为12个)组注意力层后,作者使用3D转置CNN来扩大更新的嵌入体积,。现在作者有一个高斯体积,每个高斯 Voxel 是一个1-D特征向量,代表与 Voxel 相关的基本体。

Coarse-Fine Decoding

作者从高斯体中获得了2D高斯基本形状和外观参数,因此作者引入了一个由粗到细的解码过程,以更好地恢复纹理细节。作者不是使用单一的网络和采样方案来推理场景,而是同时优化两个解码模块:一个“粗略”和一个“精细”。

图3:粗细解码。顶部行:“粗略”解码模块将 Voxel 特征 转换为 个2D高斯参数,表示形状(特别是 )和外观(记作SH)。这一步骤之后是一个溅射过程。在底部,“精细”解码模块从粗略模块、体积特征和源图像中聚集渲染缓冲区(即RGB、深度和alpha贴图)以增强外观。它将基本体的中心投影到这些缓冲区上,与 Voxel 特征 应用交叉关注,并生成残余球面谐波SH。这些残余值被加到粗略球面谐波上,用于精细溅射过程。

picture.image

对于“粗略”解码模块,作者将高斯体积特征输入到轻量级MLP,并输出每个 Voxel 的一组 个高斯参数。作者采用高效的2D溅射技术[27]形成高分辨率渲染,包括RGB、深度、不透明度和法线贴图。在训练期间,作者渲染 个输入视图和 个新颖视图进行监督。尽管粗略渲染已经可以提供忠实的深度/几何信息,但外观往往模糊,如图6中的(e)所示。这是因为图像纹理在DINO编码器和组关注层之后很容易丢失。为了解决这个问题,作者提出了一个“精细”解码模块来指导精细纹理预测。

picture.image

具体来说,作者将基本体中心 投影到粗略渲染(即RGB图像 ,深度图像 和累积alpha贴图 )上,以包含使用相机姿态 的每个基本体的粗略渲染。

在实践当中,由于不同场景之间深度特征的变化可能非常大。为了减轻尺度上的不一致,作者用位移特征 来替代渲染深度 ,这个位移特征比较了输入视图的渲染深度和基本 Voxel 的深度 ,这样可以让遮挡感知推理成为可能。

然后,作者应用一个基于点的交叉注意力层来建立点 的特征与基本 Voxel 之间的联系。这个交叉注意力过程的结果随后被送入一个多层感知机(MLP),该感知机的任务是预测残差球面谐波

其中 表示点投影, 是沿通道维度的拼接操作,而 是二维空间的双线性插值。

直观地来看,"精细"解码模块试图基于多视图图像、原始特征和粗模块的渲染缓冲区来学习一种几何感知的纹理混合过程。此外,粗略和精细模块都是可微分的,并且同时更新。因此,精细渲染可以进一步正则化粗略预测。

溅射。作者的工作利用高斯溅射[27; 32]来促进高效的高分辨率图像渲染。作者遵循原始的光栅化过程,并通过整合基本体的值和法线来进一步输出深度和法线图。

Training

作者的LaRa通过梯度下降在不同场景上进行优化,最小化粗略和精细渲染(即)与真实图像(即)之间的简单图像重建目标,

其中是像素级的L2损失,是结构相似性损失,这两种损失都应用于粗略和精细的RGB输出。

正则化项。作者发现仅应用光度重建损失就足以进行渲染。然而,由于离散高斯原语的强烈灵活性,不同视图之间的一致性较低。为了鼓励原语在表面构建,作者遵循2D高斯溅射[27]利用自我监督的失真损失和法线一致性损失来规范训练。

具体来说,作者通过最小化像素的射线与其原语交点的距离,来集中权重分布,这一灵感来自于Mip-NeRF [2]。给定一条射线,其失真损失由以下公式计算:

其中是第个交点的混合权重,是交点深度。

由于2D高斯显式地建模原语法线,作者可以通过损失将它们的法线与从深度图导出的法线对齐:

因此,对于射线,作者的正则化项给出为。在作者的实验中,作者设置和。

4 Implementation Details

作者简要讨论了作者的实现过程,包括训练和评估数据集、网络设计、优化器和网格提取。

数据集。作者在基于Objaverse数据集[15]的多视角物体合成渲染[69]上训练作者的模型,该数据集包含264,775个场景,训练/测试的比例为10:1。每个场景包含38个圆形视图,图像分辨率为。为了确保输入视图的角度覆盖足够,作者采用经典的K-means算法将摄像机分为4个簇。在训练过程中,作者每次迭代从每个簇中随机选择两个视图,其中前4张图片与输入视图共享相同的摄像机姿态,而剩下的4张图片是新颖的视图输出。作者使用这八张输出图像进行监督,并利用方程8中概述的损失目标来更新网络。

作者使用Objaverse数据集的测试集(包含26,478个场景)进行领域内评估。为了评估作者模型的跨领域适用性,作者在Google扫描物体数据集[18](包含1,030个真实物体的扫描)以及Co3D测试集[49]中的46个消防栓和90个泰迪熊上进行了测试,总计136个物体。为了检查模型在零样本重建任务上的表现,作者使用了来自Instant3D[36]的生成多视图数据集,该数据集包含从文本提示生成的122个场景。

网络。作者使用PyTorch Lightning[20]开发LaRa,并在4个NVIDIA A100-40G GPU上进行训练,快速模型训练2天,基础模型训练3.5天,每个GPU的批处理大小为2。作者使用DINO-base对编码多视图图像的分辨率进行处理。作者在图像特征体积中使用的体积分辨率和的通道,以及在嵌入体积中使用的分辨率和的通道,并将两者划分为组用于组注意力层。作者的组注意力网络由12层组成,产生大小为的高斯体积。作者为每个 Voxel 选择个基元,并将偏移半径限制在作者的实验中的。可训练参数的总数为1.25亿。

训练。使用AdamW优化器[40]进行优化,初始学习率为,并遵循10个周期的余弦退火计划。作者的最终模型训练了50个周期,每个周期包含50,000次迭代。作者观察到,从一开始就应用正则化损失可能会减慢形状的收敛速度。这是因为正则化目标往往鼓励更薄的表面,如果形状噪声较大,可能会导致过早地收敛到局部最小值。因此,在作者的实验中,作者训练15个周期后启用正则化。

网格提取。为了从重建的2D基元获取网格,作者在、和的三个圆形视频轨迹上进行渲染以生成RGBD地图。在场景边界框内,作者构建了一个有符号距离函数体积,并应用截断SDF(TSDF)融合来整合重建的rgb和深度图,以便有效地提取纹理网格。在作者的实验中,作者使用的分辨率,并为TSDF融合设置0.02的截断阈值。

5 Experiments

作者现将对LaRa,作者的大 Baseline 辐射场进行全面的评估。首先,作者将在领域内和零样本泛化设置下与之前和同时期的工作进行比较。然后,作者分析局部注意力、正则化项和渲染器的影响。

Comparison

作者对比了作者的方法与MVSNeRF [8],MuRF [70]以及同期工作LGM [59]。前两种方法是基于特征匹配方法的关键代表,而后一种方法在概念上相似,都使用了高斯原语用于大 Baseline 设置。值得注意的是,尽管现有的前馈式辐射场重建方法能够在大 Baseline 设置下进行评估,但重新训练这些方法以在Objaverse数据集上建立新的 大 Baseline 基准既耗时又耗费GPU资源。

外观。表1展示了定量结果(PSNR、SSIM和LPIPS)的比较。作者的方法在域内生成(Gobjaverse测试集)和零样本泛化(GSO和Co3D数据集)上明显提高了渲染质量。如图4所示,在大型 Baseline 设置中,MVSNeRF未能提供忠实的重建,并且由于在稀疏视图场景中代价体积极其嘈杂,往往在重建区域内产生浮动物。这对于其卷积匹配网络来说是一个挑战,难以区分表面。MuRF [70]很快地过拟合了白色背景,并对所有输入产生空预测。作者的方法不是预先定义和构建特征相似性作为网络输入,而是将体积特征注入到中间注意力层,并通过体积特征与更新嵌入之间的注意力机制隐式和逐步匹配它们,实现了更清晰和整体更好的重建。

picture.image

picture.image

作者的方法对场景尺度鲁棒,并且由于作者采用了规范的建模和基于投影的特征提升,能够泛化到真实捕捉的图像,比如Co3D数据集中的那些。相比之下,LGM [59]利用了一种单目预测和融合技术,需要参考场景尺度和恒定的相机-物体距离以避免焦距和距离歧义。这一要求显著限制了其泛化到真实数据的能力。如表1和图4所示,LGM在具有严格恒定相机-物体距离的数据集(如GSO)中提供了忠实的重建,但未能泛化到无约束的多视图数据,如Objaverse和Co3D数据集,并显示出严重的失真。作者在4个A100-40G GPU上训练了2天的模型,与在相同合成Objaverse数据集[15]上使用32个A100-80G GPU(8倍GPU、16倍RAM、32倍GPU小时)训练的LGM模型相比,展示了卓越的结果。

此外,作者的方法也适用于生成多视角图像,其中视图间的纹理不一致。由于缺少真实数据,在此对比中,作者仅提供定性分析,如图4底部行所示。作者的方法能够提供详细的纹理和平滑的表面重建。作者邀请读者查阅作者的附录以获取更多结果。### 消融研究

picture.image

图5:Explo-shot重建结果。作者的方法实现了对由文本生成的图像的真实表面重建。这些图像是使用预训练的文本到图像模型[36]生成的。

picture.image

现在作者分析作者模型设计中各个元素的贡献。为了降低训练成本,作者将消融研究的训练从50轮减少到30轮。局部注意力的效果。作者首先评估使用不同组数的目标分割的贡献。这里,等同于标准的交叉注意力层;然而,使用这样的组大小可能会导致相同的迭代次数计算时间大大增加,即30轮训练在4个A100上需要22天。因此,作者的消融研究从4组开始以获得可接受的训练时间。如表3和图6中的消融研究(a)、(b)和(g)所示,随着组数的增加,图像合成和几何质量一致得到改善,这得益于局部注意力机制。

picture.image

正则化项的效果。作者进一步评估方程9和方程10中引入的正则化项。当禁用正则化时,作者观察到渲染平均分的显著提高。尽管这为模型提供了更强的细节建模能力,但可能导致表面附近出现浮动,如图6中的(c)和(d)所示,这导致不一致的自由视点视频渲染(见附录0.A)。相比之下,作者的方法能够重建硬表面。

渲染器效果。作者还比较了在作者的框架中2D高斯溅射与3D高斯溅射,如图(c)和(d)所示。它们实现了相似的渲染质量,作者选择2DGS以便于表面正则化和网格提取。此外,为了评估粗细解码的有效性,作者对粗输出进行了评估,如图行(e)所示。作者的细解码能够提供更丰富的纹理细节。

渲染器的影响。作者还比较了在作者的框架中2D高斯溅射与3D高斯溅射,如图(c)和(d)所示。它们实现了类似的渲染质量,作者选择2DGS以便于表面规整化和网格提取。此外,为了评估粗细解码的有效性,作者对粗略输出进行了评估,如图行(e)所示。作者的细解码能够提供更丰富的纹理细节。输入视图的影响。作者的方法非常高效,且与不同数量的输入视图兼容。在先前的实验中,作者采用4个视图进行训练和推理,作为作者的标准配置。作者在2-4个测试视图中评估作者的方法(如图行(h)、(j)和(g)所示),使用图行(g)中的完整模型。

6 Conclusion

局限性和讨论。作者的 LaRa 展示了一个显著的效率前馈模型,该模型实现了从稀疏大 Baseline 图像中高效的全方位新视图合成和表面重建。然而,由于体积分辨率低,作者的方法在恢复高频几何和纹理细节方面存在困难。通过结合梯度预训练权重或混合精度训练等技术,有可能提高训练批处理大小以及体积分辨率。作者还注意到,当几何估计错误或重建多视图不一致的输入时,作者的方法可能会产生不一致的渲染结果,如比较视频中所示。这是因为作者的方法使用了二阶球面谐波外观建模。虽然这种建模可以捕捉视点相关效果,但它也引入了几何和外观之间更强的模糊性。

作者认为,将作者的方法与基于物理的渲染过程相结合,有可能解决这个问题。此外,作者的工作假设输入是已定位的,但在实践中,为稀疏视图估计精确的摄像机位姿是一个挑战。将位姿估计模块整合到前馈设置中,是与作者工作正交的方向。

参考

[1].LaRa: Efficient Large-Baseline Radiance Fields.

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
评论
未登录
暂无评论