前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVPR 2024 | DNGaussian: 全局局部深度归一化优化的稀疏三维高斯辐射场

CVPR 2024 | DNGaussian: 全局局部深度归一化优化的稀疏三维高斯辐射场

作者头像
用户1324186
发布2024-05-31 20:15:54
1760
发布2024-05-31 20:15:54
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:CVPR 2024 题目:DNGaussian: Optimizing Sparse-View 3D Gaussian Radiance Fields with Global-Local Depth Normalization 论文作者:Jiahe Li, Jiawei Zhang, Xiao Bai, Jin Zheng 论文链接:https://arxiv.org/pdf/2403.06912 内容整理:高弈杰 为了解决稀疏视图下新视角合成的高成本、速度慢的问题,本文引入了DNGaussian,一种基于3D GS的深度约束架构。文章提出了用单目深度监督实现硬和软深度约束,从而学习到更准确的场景几何。此外文章还引入了全局局部深度归一化,加强了对微小局部深度变化的关注。DNGaussian在多个数据集上取得了sota效果。

介绍

从稀疏输入合成新视图对于辐射场来说是一个挑战。神经辐射场(NeRF)的最新进展在仅使用少量输入视图就能重建出高度逼真的外观和准确的几何信息方面取得了卓越成果。然而,大部分基于稀疏视图的NeRF实现速度较慢,内存消耗也较大,导致时间和计算成本很高,限制了它们的实际应用。

最近,3D高斯溅射(3D Gaussian Splatting)引入了一种无结构的3D高斯辐射场,使用一组3D高斯基元来实现从密集输入视图快速、高质量和低成本的新视图合成。即使只有稀疏输入,它仍然能部分保留重建清晰和细节丰富的局部特征的能力。然而,视图约束的减少导致场景几何结构的大部分被学习错误,从而导致新视图合成失败。

尽管3D高斯辐射场和NeRF在深度渲染形式上有相似之处,但它们的深度正则化却存在显著差异。首先,现有的NeRF深度正则化策略通常会将深度用于正则化整个模型,这在高斯场中会产生潜在的几何冲突,从而对质量产生不利影响。具体来说,这种做法会迫使高斯形状适应平滑的单目深度,而不是复杂的颜色外观,从而导致细节丢失和模糊化。考虑到场景几何的基础在于高斯基元的位置而不是它们的形状,文章冻结形状参数,提出硬和软深度正则化,以鼓励基元之间的移动来实现空间重塑。在正则化过程中,文章提出渲染两种类型的深度,以独立调整高斯的中心和不透明度,而不改变它们的形状,从而在复杂颜色外观和平滑粗糙深度之间达到平衡。

此外,与NeRF相比,3D GS对小的深度误差更加敏感,这可能导致基元的分布噪声以及在复杂纹理区域出现失败。现有的尺度不变深度损失通常会将深度图对齐到固定尺度,从而忽略了小的损失。为了解决这个问题,文章在深度损失函数中引入全局-局部深度归一化,从而以尺度不变的方式鼓励学习小的局部深度变化。通过局部和全局尺度归一化,文章的方法将损失函数重新聚焦于小的局部错误,同时保持对绝对尺度的知识,以增强深度正则化过程中的细节几何重塑。

文章结合上述两种技术,DNGaussian在LLFF、Blender和DTU数据集的多种稀疏视图设置中,其合成视图的质量和细节能力与sota方法相比具有竞争力。这一优势进一步得到增强,内存成本大幅降低,训练时间缩短25倍,渲染速度提高3000多倍。实验还证明了文章的方法在拟合复杂场景、广泛视角和多种材质方面的通用能力。

文章的贡献可以归纳为以下三点:

①提出了一种硬性和软性深度正则化方法,通过鼓励高斯的移动来约束3D高斯辐射场的几何结构。这种方法实现了在不损害细粒度颜色性能的情况下对粗糙深度进行正则化的空间重塑。

②提出了一种全局-局部深度归一化方法,通过在局部尺度上归一化深度块来实现对小的局部深度变化的重新聚焦,从而提高3D高斯辐射场对细节外观的重建。

③提出了一种DNGaussian框架,用于快速高质量的少样本新视图合成。该框架结合了上述两种技术,在多个基准测试中与sota方法相比取得了竞争性的质量,在以大幅降低的训练成本和实时渲染的情况下,展现了对细节捕捉的优势。

方法

图1

3D高斯的先验知识

3D高斯使用一组3D高斯表示3D信息。它使用一组3D高斯基元、视图姿态和涉及中心的相机参数,计算像素级颜色。具体地说,一个高斯基元可以用一个中心、一个缩放因子和一个旋转四元数来描述。第个基元的基函数的形式为:

其中协方差矩阵可以用和计算得到。为了渲染目的,高斯基元还保留了一个不透明度值和一个维颜色特征。那么就是第个高斯的参数。

3D高斯使用基于点的渲染方法,通过混合重叠像素的个有序高斯来计算像素的颜色:

其中是由颜色特征计算得到的与NeRF的光线采样策略不同,所涉及的N个高斯是根据、相机参数和视图姿态,以及一组预定义的规则,由经过良好优化的光栅化器收集的。个基元的渲染不透明度是由它们在图像平面上的投影2D高斯和计算得出的:

然后,与NeRF类似,我们可以用到相机中心的距离来表示像素级深度:

3D高斯通过梯度下降在颜色监督下优化所有高斯的参数。在优化过程中,它识别并复制最活跃的基元,以更好地表示复杂的纹理,同时删除不活跃的基元。文章将继续沿用这些优化策略进行颜色监督。为了从更好的几何结构开始,该方法建议利用COLMAP或其他SfM生成的点云来初始化高斯。但是,考虑到在稀疏视角情况下点云的不稳定性,文章将使用一组随机初始化的高斯来启动本文的方法。

深度约束

形状冻结

3D高斯辐射场拥有四个可优化参数可以直接影响深度,这比NeRF更复杂。由于单通道深度比颜色要平滑得多,更容易拟合,对整个模型应用全参数深度正则化,这在之前的稀疏视角神经场中广泛使用,会导致形状参数过拟合目标深度图,从而造成模糊的外观。因此,这些参数必须被不同地对待。由于场景几何主要由高斯基元的位置分布表示,我们认为中心和不透明度是最重要的需要正则化的参数,因为它们分别代表位置本身和位置的占用。此外,为了减少对颜色重建的负面影响,我们在深度正则化中冻结缩放和旋转。

硬深度正则化

为了实现高斯场的空间重塑,文章首先提出了一种硬深度正则化,鼓励最近的高斯移动,这些高斯被期望组成表面,但通常会引起噪声和伪影。考虑到预测的深度是由多个高斯的混合渲染,并由累积乘积重新加权的,我们手动为所有高斯应用了一个大的不透明度值。然后,我们渲染一个"硬深度",它主要由从相机中心穿过像素的射线上最近的高斯组成:

由于现在只有中心处于优化状态,位置错误的高斯无法通过降低它们的不透明度或改变形状来避免被正则化,因此它们的中心会移动。该正则化是通过目标图像区域的相似性损失实现的,鼓励硬深度接近单目深度:

软深度正则化

仅对"硬深度"进行正则化是不够的,因为缺乏不透明度优化。文章还希望确保实际渲染的"软深度"的准确性,否则表面可能会变得半透明并造成空洞。从这个角度来看,文章额外冻结了高斯中心(表示为)以避免中心移动造成的负面影响,并提出了软深度正则化来调整不透明度:

通过同时使用硬深度正则化和软深度正则化,文章约束最近的高斯保持在合适的位置并具有较高的不透明度,因此可以组成完整的表面。

全局-局部深度归一化

之前基于深度监督的神经场通常在深度图的源尺度上构建深度损失。这种对齐方式是通过基于大面积统计数据的固定尺度来测量所有损失的。结果可能会忽视小错误,特别是当处理颜色重建或广泛深度变化等多个目标时。这种忽视在之前基于NeRF的工作中可能不太重要,但在高斯辐射场中可能会出现更严重的问题。

在高斯辐射场中,纠正小的深度错误更具挑战性,因为它主要依赖于高斯基元的移动,这是一个发生在较小学习率下的过程。此外,如果基元在深度正则化期间没有被纠正位置,它们将变成漂浮的噪声,并导致失败,特别是在具有细节丰富外观的区域,需要聚集大量基元,如下图所示。

图2

局部深度归一化

为了解决这个问题,文章通过引入基于局部补丁的归一化来让损失函数重点关注小错误。具体来说,文章将整个深度图切分成小的补丁,并使用接近于的标准差和的均值对预测深度和单目深度的补丁进行归一化:

全局深度归一化

与仅关注局部小损失不同,还需要一个全局视角来学习整体形状。为了弥补全局尺度的缺失,我们在深度正则化中进一步添加了全局深度归一化。这使得深度损失在关注全局尺度的同时保留了局部相关性。与局部归一化类似,我们应用基于补丁的归一化来使深度摆脱源尺度,关注局部变化。唯一的不同在于,这里使用整个图像I的深度DI的全局标准差来替换补丁的标准差:

此外,基于补丁的归一化还可以通过促进局部相对深度的学习来避免单目深度中的远距离错误,这与深度排序知识蒸馏产生类似的效果。但不同的是,为了几何重塑的目的,我们还鼓励模型学习绝对深度变化,而不是忽略它。

损失函数

损失函数由三部分组成:颜色重建损失、硬深度正则化和软深度正则化。根据3D高斯散射,颜色重建损失是渲染图像和地面真值的重建损失和项的组合:

深度正则化和都包括一个来自文章两种深度归一化的局部项和全局项。我们使用损失来度量相似性。两种正则化的形式都是:

其中代表硬或软。在实践中,实验为损失保留了一个误差容限,以放松约束。完整的损失函数形式为:

实验

数据集

文章在三个数据集进行了实验:NeRF Blender合成数据集、DTU数据集和LLFF数据集。遵循之前工作使用的设置,对DTU和LLFF数据集使用相同的分割,在3个视图上训练模型,并在另一组图像上进行测试。为了消除背景噪声,专注于目标对象,文章在DTU评估时应用了与之前工作相同的对象掩码。对于Blender,遵循DietNeRF和FreeNeRF的方式,使用相同的个视图进行训练,并在个未见图像上进行测试。与基线保持一致,我们对LLFF、DTU和Blender应用了倍、倍和倍的下采样率。遵循之前的稀疏视图设置,假定相机姿态通过校准或其他方式已知。

实验模型

继承之前的稀疏视图神经场方法,我们将目前sota方法SRF、PixelNeRF、MVSNeRF、Mip-NeRF、DietNeRF、RegNeRF、FreeNeRF和SparseNeRF作为基线。对于大多数基于NeRF的方法,直接从相应发表论文中报告其最佳定量结果进行比较。文章还报告了raw 3D高斯散射(3DGS)的结果。

实现细节

在官方的PyTorch 3D高斯散射代码库上构建了文章的模型。针对所有数据集训练模型次迭代,并在第次迭代后应用软深度正则化,以获得稳定性。文章在所有实验中设置作为损失函数。神经渲染器由一个具有个级别、分辨率范围为到、最大为的哈希编码器和一个层MLP(隐藏维度为)组成。文章使用DPT来预测所有输入视图的单目深度图。3DGS 和 DNGaussian模型是使用均匀分布随机初始化的。

实验结果

LLFF和DTU数据集上的实验结果

表1

图3

图4

Blender数据集上的实验结果:

表2

图5

消融实验结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 方法
    • 3D高斯的先验知识
      • 深度约束
        • 全局-局部深度归一化
        • 实验
          • 数据集
            • 实验模型
              • 实现细节
                • 实验结果
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档