WilLaGS: Latent-Conditional 3D Appearance Fields for Robust Gaussian Splatting In-the-Wild
Yuhao Bai, Qianqiu Tan, Lilong Chen, Huanhuan Lv, Lijun Chen
cs.CV
2026-08-28
南京大学提出WilLaGS:用β-VAE学连续外观流形,再以潜码条件化三平面外观场,并用Teacher-Student感知掩码去掉行人车辆。圣心堂PSNR 25.84,比AsymGS高2.28dB,单场景训练0.9 GPU小时、渲染58 FPS。
从游客照片重建地标,3D Gaussian Splatting 会碰到两件事叠在一起:光照、天气、相机设置把同一块几何涂成完全不同的颜色;行人、车辆这些瞬时物体破坏多视一致性,留下鬼影。标准 3DGS 默认场景静止、光照一致,这两条在野生图集里都不成立。
现有 in-the-wild 方法大多把问题拆开。外观侧从 NeRF-W 开始给每张图一个独立 embedding,GS-W、WildGaussians、Splatfacto-W 把类似想法搬到高斯上。独立离散向量记不住连续的阴晴变化,也表达不了局部高光和投影。瞬时物体侧要么再训一个 U-Net 出不确定性图,跟 3DGS 的快速收敛抢节奏;要么用 SAM 一类分割模型硬抠,场景特异的 transient 经常抠不准。WilLaGS 把外观当成一个可采样的生成流形,把 transient 当成「和场景共识不一致的区域」,两件事放进同一套训练。
三块,一起训。
外观先过一个 β-VAE(β=2,潜空间 64 维)。编码器把整图映射到高斯后验,KL 项把后验推回标准正态。β>1 是故意的信息瓶颈:宁可重建差一点,也不让潜变量去死记每张图的噪声。训完以后,外观是一条连续流形,可以插值,也可以从 N(0,I) 直接采样出没见过的天气。
单个全局 latent 仍不够表达局部阴影。一个超网络吃这个 z,吐出三张正交特征平面(每张 64×64、32 通道)。每个高斯用自己的三维坐标去三平面上双线性采样,拼完再过一个小 MLP,得到动态外观特征。高斯另外存一份与光照无关的固有特征(albedo 一类),最后由颜色解码器把动态特征、固有特征和视线方向合成颜色。全局风格进场,局部照明跟位置走,材质尽量不动。
Transient 不用外部分割。学生模型每步正常反传,教师模型是学生权重的指数滑动平均(EMA),渲染一张「当前视角的场景共识」。真图和这张伪真值都送进冻结 VGG,在 relu12 / relu22 / relu33 上算感知差,低于阈值 0.85 的像素当静态背景,其余不进重建损失。像素差会被光照变化带跑,感知差更盯结构。重建损失是加权 L1+D-SSIM,再加很小的 VAE 项(权重 0.01)。RTX 3090 上 30k step。
评测走 Photo Tourism(Brandenburg Gate、Trevi Fountain、Sacre Coeur)和 NeRF-OSR(europa、lwp、st、stjohann)。测试时按 NeRF-W 惯例,在测试图左半边优化外观 latent,右半边计分。
| 方法 | Sacre Coeur PSNR | Trevi PSNR | Brandenburg PSNR | 训练小时 / FPS |
| 3DGS | 17.49 | 17.35 | 19.80 | 0.4 / 105 |
| AsymGS | 23.56 | 23.91 | 28.49 | 5.6 / 47 |
| WildGaussians | 22.71 | 23.70 | 27.36 | 7.8 / 73 |
| WilLaGS | 25.84 | 24.54 | 29.94 | 0.9 / 58 |
Sacre Coeur 比当时最强的 AsymGS 高 2.28 dB。NeRF-OSR 上 europa 24.38(GS-W 为 23.31),lwp 23.36,st 23.43;stjohann 的 PSNR 25.55 略低于 GS-W 的 25.72,但 SSIM / LPIPS 更好(0.906 / 0.161 对比 0.894 / 0.276)。
消融按 Photo Tourism 平均 PSNR:去掉 VAE、改回每图 embedding,掉到 22.15(满配 26.77,约 4.62 dB);去掉三平面外观场 25.05;去掉掩码 26.19,图上鬼影明显。相对标准 3DGS 大约多 933 MB 可训练显存,外加冻结 VGG 约 528 MB。
应用侧,固定一个 z 换相机,阴影几何一致;两个 z 线性插值能从白天过渡到夜景;从先验随机采样能合成阴天、日落这类没见过的外观。
in-the-wild 3DGS 里,每图 embedding 是默认答案,这篇证明它在过拟合。把外观放进连续潜空间,得到的不只是更高的 PSNR,还有插值和无条件合成,这是离散 embedding 做不到的。训练 0.9 小时、58 FPS,比 WildGaussians 的 7.8 小时便宜一个数量级,工程上跟得上。想在旅游图集上出能换天气的地标模型,这套比再叠一个分割网络更完整。它仍是渐进改进:几何表示还是 3DGS,没有新的体素或表面原语。
作者承认两件事:密集遮挡仍然难处理;潜空间没有显式物理含义,不能按「太阳方位」这种语义旋钮控灯。
读下来还有几处要打折。stjohann 上 PSNR 没过 GS-W,「全面最优」只在多数场景成立。测试时要在左半图优化 latent,这不是零样本外观迁移。掩码阈值 0.85 和 β=2 靠补充材料里的敏感性分析,主文没给出跨场景稳定性。教师 EMA 早期共识很脏,论文没有分析 burn-in 阶段掩码会不会把静态细节当 transient 抠掉。候选条目没有给出代码仓库,复现成本未知。数据集仍是那几个经典野生地标,没测过室内或夜间主导的图集。