当前位置: 首页 > news >正文

为什么几行dropout就能显著提升稀疏3DGS渲染质量?

  • 作者:Kangjie Chen1^{1}1, Yingji Zhong2^{2}2, Zhihao Li3^{3}3, Jiaqi Lin1^{1}1, Youyu Chen4^{4}4, Minghan Qin1^{1}1, Haoqian Wang1^{1}1
  • 单位:1^{1}1清华大学,2^{2}2香港科技大学,3^{3}3华为诺亚方舟实验室,4^{4}4哈尔滨工业大学
  • 论文标题:Quantifying and Alleviating Co-Adaptation in Sparse-View 3D Gaussian Splatting
  • 论文链接:https://arxiv.org/pdf/2508.12720
  • 项目主页:https://chenkangjie1123.github.io/Co-Adaptation-3DGS/
  • 代码链接:https://github.com/chenkangjie1123/Co-Adaptation-of-3DGS/ (coming soon)

主要贡献

  • 分析了稀疏视图 3D 高斯溅射(3DGS)中外观伪影的来源:揭示了高斯之间的纠缠(即共适应现象)是稀疏视图 3DGS 的性能瓶颈。
  • 提出了共适应分数(Co-Adaptation Score,CA)量化指标:用于定量测量稀疏视图 3DGS 中高斯之间的纠缠程度。
  • 基于分析和提出的指标,进一步提出了两种即插即用的训练策略随机高斯丢弃乘性噪声注入到不透明度,这两种策略在各种方法和基准测试中的有效性得到了验证,能够抑制高斯之间的共适应,从而提高稀疏视图 3DGS 的新视图渲染质量。

研究背景

  • 3D 高斯溅射(3DGS)在密集视图设置下展现了出色的性能,能够实现逼真的新视图合成。然而,在稀疏视图场景中,尽管在训练视图中能够产生逼真的渲染效果,但 3DGS 在新视图中偶尔会出现外观伪影,如出现不属于场景的颜色。
  • 这些伪影通常是由于训练视图数量有限,导致优化后的高斯过度纠缠在一起以适应训练视图,从而忽视了场景的真实外观分布,进而在新视图中产生伪影。
  • 尽管现有工作主要通过几何正则化等方法来提高稀疏视图 3DGS 的性能,但很少有研究关注稀疏视图 3DGS 中的外观伪影问题。

高斯溅射中的共适应现象

共适应的特征描述

3DGS的渲染特性
  • 3DGS通过将3D高斯投影到图像平面上并使用可微分的alpha混合来渲染图像。
  • 每个像素的颜色由多个高斯的贡献组合而成,这种多高斯组合是3DGS在密集视图设置下有效建模外观的关键,但在稀疏视图场景中,这种组合可能导致高斯之间的过度纠缠。
共适应现象
  • 在稀疏视图监督下,多个高斯可能会形成紧密耦合的组合,以适应训练视图中的每个像素。这种依赖关系在新视图中可能导致伪影,因为这些高斯配置在新视图下可能无法泛化。
  • 这种现象被称为共适应,即高斯之间过度依赖于彼此以适应训练数据。
共适应的可视化

  • 通过上图展示了不同共适应程度下的3DGS行为。在密集视图训练下,高斯对像素颜色的贡献较为均匀,新视图渲染准确。
  • 而在稀疏视图训练下,高斯可能以不均匀的方式贡献于像素颜色,导致新视图中出现薄的或厚的伪影,甚至出现严重错误的颜色。

共适应的量化

共适应分数(CA)的定义
  • 为了系统地理解和减轻共适应效应,提出了共适应分数(CA)这一量化指标。
  • 其核心思想是,如果一组高斯过度依赖于彼此,那么在渲染过程中随机移除其中一部分高斯将导致输出不稳定。
CA的计算方法
  • 具体而言,随机丢弃50%的高斯,并使用剩余的高斯多次渲染目标视图,然后测量这些渲染结果之间的方差。
  • 为了聚焦于高斯有实际贡献的区域,定义了可见区域,即在每次渲染中累积alpha混合权重超过0.8的像素集合。
  • 最终的共适应分数是在所有随机丢弃渲染的可见区域交集内计算的平均像素级方差。
实证观察

  • 训练视图数量的影响:随着训练视图数量的增加,共适应分数(CA)自然降低,表明共适应程度减弱,泛化能力增强。

  • 训练初期的共适应变化:在训练的早期阶段,共适应分数会急剧下降,随着训练的进行,分数趋于稳定并振荡。
  • 输入视图与新视图的共适应差异:在几乎所有场景和训练迭代中,输入视图(训练视图)的共适应分数始终低于新视图(测试视图)的共适应分数,表明在熟悉的视图下更容易抑制共适应。

减轻共适应的策略

Dropout正则化
  • 受神经网络中Dropout技术的启发,提出在3DGS训练过程中随机丢弃高斯,以减少对固定高斯组合的过度依赖。
  • 在每次迭代中,每个高斯都有一定概率被临时丢弃,训练时使用剩余的高斯子集进行渲染,并与训练视图的真值进行监督。在测试时,使用所有高斯,但将其不透明度按训练时的期望进行缩放。
不透明度噪声注入
  • 除了Dropout,还探索了向高斯不透明度注入高斯噪声的方法,以减少共适应。
  • 与其他参数(如位置、球谐系数)的噪声注入相比,不透明度噪声能够更有效地改善泛化能力,同时避免引入模糊或对收敛造成负面影响。
讨论
  • Dropout机制:Dropout迫使每个光线在部分贡献高斯被随机丢弃的情况下仍能保持准确的监督,从而避免对固定高斯配置的过度依赖。这不仅减轻了共适应,还鼓励模型使用更大的高斯来表示场景,有助于减少几何不一致性和表面间隙,尤其是在稀疏视图设置下。
  • 不透明度噪声:不透明度噪声鼓励沿光线的高斯表现出一致的颜色和透明度特性,减少对特定组合的依赖,从而提高在稀疏视图条件下的泛化能力。

实验

实验设置

  • 数据集

    • LLFF:使用3个训练视图,输入图像下采样8倍。
    • DTU:使用3个训练视图,输入图像下采样4倍。
    • Blender:使用8个训练视图,输入图像下采样2倍。
  • 基线方法

    • 3DGS:原始的3D高斯溅射方法。
    • DNGaussian:通过全局局部深度归一化优化稀疏视图3D高斯辐射场。
    • FSGS:实时少样本视图合成的高斯溅射。
    • CoR-GS:通过共正则化实现稀疏视图3D高斯溅射。
    • Binocular3DGS:使用双目引导和视图一致性进行稀疏视图合成。
  • 评估指标

    • PSNR:峰值信噪比,衡量图像质量。
    • SSIM:结构相似性,衡量图像结构的相似度。
    • LPIPS:感知相似性,衡量图像的感知差异。
    • CA:共适应分数,衡量高斯之间的纠缠程度。

共适应抑制的比较分析

定量结果

  • LLFF和DTU数据集:上表展示了五种3DGS方法在稀疏视图设置下的定量评估结果。结果表明,随机高斯丢弃和乘性噪声注入两种策略在所有测试设置中都能有效降低共适应分数(CA),并且在大多数情况下,随机丢弃策略在提高PSNR和降低LPIPS方面优于乘性噪声注入策略。

  • Blender数据集:上表进一步扩展了比较,包括3DGS、DNGaussian和Binocular3DGS。结果表明,两种策略都能降低CA,但3DGS基线在训练视图上的CA高于新视图,这可能是由于Blender数据集的环形物体基础场景结构和更密集的8视图覆盖。
视觉改进

  • LLFF数据集:上图提供了LLFF数据集上的视觉比较,展示了两种策略在减少彩色斑点伪影和改善场景几何和细节质量方面的效果。

  • DTU和Blender数据集:上图展示了DTU和Blender数据集上的视觉比较,表明两种策略在减少伪影和提高渲染质量方面具有普遍性。

正则化策略的消融研究

训练动态比较

  • 上图比较了Binocular3DGS基线与随机高斯丢弃和乘性噪声注入策略在flower和orchids场景上的训练动态。
  • 结果表明,两种策略都能降低训练和测试视图的CA分数,并使训练动态更加平滑。
  • 尽管基线在添加基于warp的光度损失时CA分数急剧增加,但两种策略有助于抑制这一峰值。
随机丢弃概率p的消融研究

  • 上表展示了在LLFF数据集上,不同丢弃概率p对Binocular3DGS的影响。结果表明,设置p=0.2时,整体重建质量最佳。
  • 尽管这一设置得到了最低的训练视图CA分数,但测试视图的CA分数并非最小,表明CA分数与重建质量并非严格单调相关。
不同渲染策略的比较

  • 上表比较了在LLFF数据集上,使用丢弃概率p=0.2训练的Binocular3DGS模型的不同渲染策略。
  • 结果表明,将所有高斯的不透明度按(1-p)缩放后进行单次渲染的策略(策略C)在质量和效率之间取得了最佳平衡。
不透明度噪声规模σ的消融研究

  • 上表展示了在LLFF数据集上,不同不透明度噪声规模σ对Binocular3DGS的影响。
  • 结果表明,σ=0.8时,重建质量最佳。增加σ会逐渐降低训练和测试视图的CA分数,但当σ低于0.8时,重建质量开始下降,尽管CA分数进一步降低。

结论

  • 论文引入了 3D 高斯溅射(3DGS)中的共适应概念,并揭示了其与稀疏视图设置下的外观伪影之间的联系。通过提出的共适应分数(CA)指标量化了这种效应,并展示了更高的视图密度自然会减少共适应。
  • 基于此,提出的两种简单策略——随机高斯丢弃和乘性噪声注入——有效地减轻了共适应,提高了稀疏视图新视图合成的质量。这些发现为未来在稀疏视图 3DGS 中减轻共适应的研究提供了启发。

http://www.xdnf.cn/news/1442287.html

相关文章:

  • 深度学习篇---InceptionNet网络结构
  • 【串口助手】串口调试助手LTSerialTool v3.12.0发布
  • A股大盘数据-2025093分析
  • Java如何实现jar包方法覆盖
  • C语言字符函数和字符串函数(1)
  • TypeScript 与 Java 重载机制对比
  • 08、Linux 安全组开放端口
  • 数据结构:图的表示 (Representation of Graphs)
  • C++完美转发
  • 微信小程序-day3
  • Uniapp中进行微信小程序头像和昵称的更改
  • 20250901 搜索总结
  • 免费专业软件推荐 | 图片/PDF水印添加神器:艾克斯水印工具使用全攻略
  • java中二维数组笔记
  • Git或TortoiseGit的小BUG(可解决):空库报错Could not get hash of ““
  • Nginx中的内置变量、指令、URL重写功能及其虚拟主机配置、负载均衡配置
  • 关于linux编程——网络编程2
  • 工业4.0时代的通信革命:OPC UA Pub/Sub机制全面解析
  • 百万级并发下的微服务架构设计之道:从阿里双11看分布式系统核心原则与落地实践
  • 云计算培训为什么这么贵?
  • EagleTrader观察|你的固定心态,可能正在悄悄让你交易破产
  • Element UI MessageBox 渲染虚拟节点的坑与解决方案
  • 【深度学习新浪潮】用3DGS做三维重建有哪些主要的技术路线可供选择?
  • 【随手记】vscode中C语言满足KR风格的方法
  • Leetcode—695. 岛屿的最大面积【中等】
  • Docker实战指南:从安装到架构解析
  • 【Linux】网络(中)
  • 数据结构:栈和队列(上)
  • 数据结构从青铜到王者第十九话---Map和Set(2)
  • 下载必要软件