3D高斯泼溅去雾重建:两阶段框架解决多视角一致性难题
1. 项目概述与核心挑战
在计算机视觉与图形学领域,从一组多视角图像中重建出高质量的3D场景并合成任意新视角的逼真画面,一直是研究的热点。3D高斯泼溅(3D Gaussian Splatting, 3DGS)技术的出现,以其出色的渲染质量和实时性能,为这一目标带来了新的突破。然而,当输入图像被现实世界中的烟雾、雾霾等大气散射效应所污染时,重建任务就变得异常棘手。烟雾不仅降低了图像的对比度和色彩保真度,更关键的是,它破坏了不同视角之间本应存在的几何与光度一致性。想象一下,你试图用几张在不同时间、不同烟雾浓度下拍摄的模糊照片,去拼凑出一个清晰、连贯的3D模型,这几乎是不可能的任务。
传统的解决方案通常遵循两条路径:一是先对每张图进行独立的2D去雾处理,再将“干净”的图片喂给3D重建模型;二是尝试构建一个端到端的、能够同时建模场景几何与烟雾散射的3D模型。但我们在实践中发现,这两条路都存在根本性的矛盾。单帧去雾模型,比如目前效果拔群的生成式模型,确实能把单张图处理得清晰亮丽,但它们“各自为政”,处理不同视角时会产生随机的颜色偏移、纹理细节差异甚至“脑补”出不一致的内容。把这些不一致的“伪干净”图像用于3DGS训练,模型会陷入混乱:它不知道该相信哪个视角的“事实”,最终只能通过模糊化、平均化来妥协,导致合成的新视图一片模糊,或者产生漂浮的伪影。而端到端的3D去雾方法,虽然天生保证了多视角一致性,但在缺乏强先验约束的情况下,模型很容易“偷懒”,直接忽略烟雾成分,把退化图像当作干净场景来重建,结果就是去雾失败。
因此,我们工作的核心,就是直面并解决这个“去雾质量”与“多视角一致性”之间的根本矛盾。我们提出了 Dehaze-then-Splat 这一两阶段框架。第一阶段,我们毫不妥协地追求极致的单帧去雾质量,利用强大的生成式模型为每张图生成“伪干净”图像。第二阶段,我们承认并正视第一阶段引入的不一致性,在3DGS的训练过程中,巧妙地引入一系列基于物理先验的辅助损失函数,作为隐式的多视角一致性正则器,引导模型穿越噪声,学习到背后真正干净、一致的3D场景。最终,在NTIRE 2026挑战赛的Akikaze烟雾场景上,我们的方法将新视图合成的PSNR提升至20.98 dB,比不加正则化的基线提高了整整1.50 dB。这不仅仅是数字的提升,更是对“先修复再重建”这一经典范式的一次深刻反思与有效增强。
2. 核心思路:两阶段框架的深度解构
我们的 Dehaze-then-Splat 框架之所以有效,在于它没有试图用一个“银弹”模型解决所有问题,而是将复杂的任务解耦,并在每个阶段注入针对性的先验知识。下面,我将详细拆解这两个阶段的设计哲学与内在逻辑。
2.1 第一阶段:生成式去雾与数据预处理
第一阶段的目标非常明确:为后续的3D重建提供质量尽可能高的输入图像。这里,“质量高”有两个层面的含义:一是单张图的去雾效果要好,二是要尽量减少不同图片之间的不一致性。
生成式模型的选择:为什么是Nano Banana Pro? 在众多去雾方法中,我们选择了基于Gemini API的Nano Banana Pro图像生成能力。这背后有几点考量:
- 卓越的恢复能力:与传统的基于物理模型的方法(如暗通道先验DCP)或早期的深度学习模型相比,生成式模型具备强大的“内容理解”与“信息补全”能力。对于被浓雾严重遮挡的区域,判别式模型往往只能做平滑或产生伪影,而生成式模型可以基于对场景的语义理解,“幻觉”出合理的细节,这对于后续重建出完整的几何结构至关重要。
- 保真度与可控性:通过精心设计的提示词(Prompt),我们可以精确控制生成过程。我们的实践表明,一个结构化的6点提示词(明确指定去除烟雾、保留场景构图、几何结构和真实感外观)比简单的4句描述平均能带来0.44 dB的PSNR提升。这让我们能够引导模型朝着有利于3D重建的方向进行修复。
- 性能天花板:如表4所示,经过亮度归一化后,Nano Banana Pro在Akikaze训练集上达到了20.07 dB的单帧PSNR,显著优于MB-TaylorFormer(17.00 dB)和DCP(约11.9 dB)。这为整个流程的性能设定了一个理论上限。
亮度归一化:解决最显眼的不一致 生成式模型独立处理每一帧,带来的最直接问题就是帧间亮度不一致。我们的测量显示,相邻帧之间的最大亮度偏移可达0.12。如果不加处理,3DGS在优化时会接收到关于同一3D点颜色的矛盾信号,它只能学习一个折中的、模糊的颜色值。为此,我们实施了逐通道的均值/标准差归一化。在有真实干净图像(GT)的场景(如Akikaze),我们直接将伪干净图像对齐到GT的亮度统计量上,这带来了+0.8 dB的显著提升。对于没有GT的场景,则采用所有帧的中值统计量进行自归一化,成功将最大亮度跳跃从0.12降低到0.001。
注意:亮度归一化只解决了全局的、零阶的光度不一致。更棘手的局部纹理差异、生成内容的随机性以及颜色渲染的细微差别,依然存在。这正是第二阶段需要攻克的核心难题。
2.2 第二阶段:物理先验引导的3DGS训练
第二阶段是整个框架的灵魂。我们不再幻想输入数据是完美的,而是将第一阶段输出的、带有不一致性的“伪干净”图像视为含噪观测,通过设计巧妙的损失函数,让3DGS模型在优化过程中“去伪存真”。
核心矛盾与观察 我们通过实验观察到一个关键现象:当使用这些不一致的图像训练3DGS时,模型的最佳检查点往往出现在训练早期(例如第2000步,此时高斯点数量约10.4万)。随着训练继续,高斯点数量爆炸式增长(可达93.3万),但新视图合成的质量却急剧下降,出现严重的漂浮伪影、颜色渗出和结构坍塌。这说明,模型在后期拥有了足够的容量去“记忆”每一张输入视图特有的噪声和伪影,而不是学习