龙哥导读
烟雾里的三维重建,难点不只是“把图变清楚”。烟在不同视角、不同拍摄时刻会变化,相机又会把原始光信号做一轮非线性色彩加工;如果先逐张去烟再建模,微小色差会被三维系统当成真实结构。FujinSplat的核心反转,是先回到相机原始成像技术(RAW)域拆开烟雾与相机成像,再只让一致的校正结果监督静态高斯场。以下均为论文报告结果,本地未复现实验:它在真实烟雾评测系统(RealX3D)的八个场景上达到18.42 dB,比最强可比“二维恢复后再重建”流程高2.57 dB。
单位:合肥工业大学、香港科技大学(广州)、东京大学
消防现场、工业巡检、烟雾弥漫的室内,如果只拍到一圈被烟遮住的照片,能不能重建出一个可自由观察、颜色稳定、结构不乱的三维场景?这件事比单张去烟难得多。单张图只要“看起来清楚”,三维重建却要求同一个物体从每个视角看都像同一个东西。
图1:论文总览。左侧给出真实烟雾场景输入,中间比较物理建模、逐图恢复再重建等路线,右侧展示FujinSplat的新视角结果。它支持“颜色与可见度更稳定”的定性判断,但单张拼图不能代替八场景量化评测。来源:论文与官方项目页。
先把结论压缩成三句话
第一,问题被重新定义:烟雾变化和相机成像流程在普通彩色图里已经纠缠,先逐图去烟很容易制造跨视角漂移。
第二,校正被限制在训练端:控制器只负责把训练视角整理成一致监督,新视角渲染不再预测每视角参数,成本与底层高斯渲染器相同。
第三,优势有明确边界:八场景平均峰值信噪比领先可比传统流程,但感知距离不是第一,实验目前也只覆盖一个真实烟雾基准。
一、烟为什么会被三维模型“刻进墙里”
普通三维高斯泼溅技术(3DGS)默认训练照片是同一静态世界的相互一致观测。可烟雾不是静态贴纸:它会衰减物体反射回来的光,也会把环境光散射进相机;观察方向、物体距离和拍摄时刻一变,烟的浓度与颜色影响都在变。
如果直接拿烟雾图训练,模型为了复现每张照片,只能把一部分烟当成颜色、透明度,甚至错误几何保存下来。换一个视角,原本应该飘走的烟还留在场景里,远处结构会发白、发糊,颜色也可能忽冷忽暖。
看似直接的办法,是先让二维恢复模型逐张去烟,再把清晰图送进三维重建。问题是二维模型每张图独立决策:一张把木板提亮,一张把同一块木板改得偏黄,另一张又补出不存在的纹理。单张看都挺漂亮,放到三维里却互相打架,最后变成模糊、浮影或假结构。
更隐蔽的一层,是相机还会做曝光、白平衡、颜色矩阵、色调曲线和输出编码。图像信号处理系统(ISP)把烟雾影响与相机风格一起压进普通彩色图,亮部可能被裁切,暗部也经过非线性拉伸。等到成图之后再分离,两种因素已经像揉在一起的面团,很难知道哪一块变化来自烟,哪一块来自相机。
图2:三个RealX3D烟雾输入场景。白色烟幕既降低对比度,也改变不同区域的色彩与亮度;三个场景的烟强度、物体材质和背景深度并不相同。来源:官方代码仓库结果素材。
二、FujinSplat的关键判断:先回到RAW,再谈去烟
FujinSplat不把相机原始记录(RAW)理解成“更大、更专业的照片”,而把它当作一个更干净的计算坐标。这里的信号还保持近似线性的光强关系,没有经过白平衡和伽马曲线的最终揉合,因此相机成像与烟雾扰动更容易分开建模。
作者先测了一个决定整个方法是否成立的现象:把同一场景的有烟与干净RAW经过相同成像流程后相减,残差在色彩空间里几乎沿着一个主方向变化。在线性色彩系统(XYZ)、线性彩色空间和显示编码三个阶段,第一个方向平均承载约97%到99%的能量。
白话说,真实烟雾当然会在空间里翻滚,但它留在颜色上的主要痕迹,并不需要一个可以任意改画面的巨大生成网络。对每个场景找到一条主要颜色校正方向,再按每张图估计强弱,已经能覆盖绝大部分烟雾残差。这让问题从“重新生成一张清晰图”缩成“预测一个受约束的颜色动作”。
核心直觉公式:有烟观测 = 透过来的场景 + 散射进来的环境光
S(x) = t(x) · C(x) + [1 − t(x)] · A
C是干净场景颜色,t是透射比例,A是烟雾散射形成的环境光颜色,S是相机看到的有烟信号。对同一场景,A的方向相对稳定,t随像素和视角变化,因此残差常呈现“一条主色方向、不同强度”的低秩结构。论文不是声称所有烟都严格满足这一式,而是在RealX3D上测到它是很强的近似。
这与近期物理感知重建的一条共同思路相呼应:热红外重建不能把温度、发射率和反射全当普通灰度,烟雾重建也不能把介质和相机色彩全当纹理。两类任务和传感器完全不同,但共同教训是:观测不等于场景本身,先拆成像原因,往往比给表示堆更多自由度更可靠。
三、方法总览:五步把烟从静态场景里请出去
图3:方法前半程。先保留RAW线性光度,再用场景专属基础成像流程建立固定相机锚点,最后由跨场景控制器预测受约束的颜色动作。根据论文图2重绘。
图4:方法后半程。零均值残差只在训练端调和视角色差,校正图监督同一个静态高斯场;新视角只输入位姿与内参,不再逐帧预测去烟参数。根据论文图2重绘。
第一步:给每个场景校准一套“只还原相机、不负责去烟”的基础成像流程。它从有烟RAW拟合到相机自己输出的有烟彩色图,包含曝光、白平衡、三乘三颜色矩阵、单调曲线和紧凑颜色格。因为目标本身有烟,这个模块不会偷偷学去烟,只建立固定的相机坐标锚点。
第二步:把去烟写成可逆、单调的颜色流。它由逐通道曲线和跨通道颜色耦合组成。曲线负责亮度、黑位和烟幕强度,颜色耦合负责纠正偏色。单调和可逆意味着不同输入颜色不会随意折叠到同一个输出,也不会凭空画出局部物体;它能改颜色关系,但不能像生成模型那样补一扇不存在的窗。
第三步:用“反向成像”扩大控制器训练数据。真实基准只有195组成对的有烟与干净训练视角,直接训练预测器太少。作者从已拟合的颜色动作分布中抽一个动作,以外部干净图为目标,先逆转颜色流,再逆转基础成像流程,得到合成RAW。因为动作由系统自己抽取,标签是精确已知的,不必靠重建误差反猜参数。
第四步:让一个跨场景共享的小控制器读RAW,输出573个颜色动作系数。控制器先把输入压成64×64的光度摘要,再预测完整颜色操作。接近无烟的输入会得到接近恒等变换的动作;烟更重时,动作沿学到的校正族增强。一个检查点服务全部八个场景,场景差异主要由各自冻结的基础成像流程吸收。
第五步:用训练期零均值残差处理最后一点跨视角不一致。控制器逐张预测,难免有轻微偏差。如果直接训练高斯,这些偏差仍可能钻进三维表示。作者允许每个训练视角有一个有界微调,但强制所有视角平均为零:场景共同颜色交给静态高斯吸收,随烟雾时刻变化的那部分只能留在训练视角,不能跟到新视角。
根据论文方法整理的伪代码
输入:有烟RAW、相机彩色图、相机位姿
校准并冻结:场景专属基础成像流程
离线拟合:195组专家颜色动作及其低维分布
反向合成:干净图 + 已知动作 → 合成RAW与精确标签
训练并冻结:跨场景颜色动作控制器
对每个训练视角:
RAW → 基础成像 → 控制器颜色校正
加入有界、零均值的训练期视角残差
用校正图监督一个静态3D高斯场
新视角输出:只输入位姿和内参,执行标准高斯渲染
最关键的是最后两行:颜色控制器和视角残差不在新视角上继续“修图”。它们只负责把训练监督整理干净,最终交付的是一个静态三维表示。这把模型从“每个视角都要临时救火”变成“一次校正、正常渲染”。
四、实验到底赢了什么:不是所有指标都第一
主实验使用RealX3D的八个真实烟雾场景,每个场景四个新视角,共32个测试视角。训练阶段有195组成对的有烟与干净捕获;干净新视角只用于评测,不参与拟合、控制器回归或结果挑选。每个场景单独训练一个高斯模型,共1.8万次迭代,训练期残差在第1.3万到1.6万次之间开启,硬件为单张V100。
三个核心指标要分别理解。峰值信噪比指标(PSNR)强调像素数值是否接近参考图,越高越好;结构相似性指标(SSIM)关注亮度、对比和局部结构,越高越好;感知距离指标(LPIPS)更接近深度特征层面的视觉差异,越低越好。
图5:六个RealX3D场景的定性比较。列对应不同场景,行覆盖物理三维方法、二维恢复后重建、挑战赛混合管线与FujinSplat;青色小框放大色卡区域。重点看残余白雾、远处轮廓、色卡偏色和跨视角曝光是否稳定。来源:论文图4。
FujinSplat在八个场景的PSNR分别为19.91、18.88、16.46、18.85、20.11、17.33、16.68和19.15 dB,平均18.42 dB;八个场景全部拿到最高PSNR。平均SSIM为0.679,同样是主表第一。最强物理三维方法平均11.76 dB,差6.66 dB;最强二维恢复再重建流程平均15.85 dB,差2.57 dB。
但LPIPS平均为0.541,只排第二,二维恢复方法(ConvIR)先逐图恢复再重建得到0.493。所以更准确的结论是:FujinSplat在像素保真和结构一致性上优势明显,但没有包揽所有感知指标。这也提醒读者,色彩更稳定、数值更接近参考,不等于每一种视觉感知度量都同步领先。
图6:与图2同场景的官方FujinSplat输出。三组结果显示烟幕显著减弱,色彩与物体边缘更易辨认;这些是代表性视图,不证明所有场景都同样容易,Hinoki与Shirohana的数值仍明显低于Midori等场景。来源:官方代码仓库结果素材。
论文还与2026年三维恢复重建挑战赛的混合方案比较。统一七场景口径下,FujinSplat为18.2083 dB,略低于闭源混合方法(Smoke-GS)和Dehaze-then-Splat,差距分别约0.46和0.17 dB;但比不调用这类模型的参赛基线高0.66 dB。其优化时间为42分钟,表中其他混合流程约5到250小时。
这组比较的价值不在“42分钟横扫250小时”,因为不同方案的组件、硬件口径和外部模型并不完全等价;真正有信息量的是,FujinSplat用受约束的颜色动作与静态三维场,在不调用外部闭源生成模型、不做模型集成的前提下,进入了强混合方案附近的精度区间。
再看逐场景差异,会发现这不是一个“所有场景都轻松解决”的结果。Midori达到20.11 dB,而Hinoki只有16.46 dB;感知距离在Hinoki也升到0.722。也就是说,平均分背后仍有接近4 dB的场景跨度。烟雾密度、物体纹理、色彩分布和可见深度都会改变难度,方法的低维假设更像抓住了主导变化,而不是消灭了全部复杂性。
评测设计里还有一个值得肯定的细节:每个场景先对四个新视角求平均,再让八个场景等权进入总分。这样不会因为某个容易场景照片更多,就把总体成绩拉得过于乐观。论文还保留未四舍五入数值决定逐场景名次,减少显示精度造成的并列或顺序误判。
五、消融实验:RAW、曲线、颜色耦合和残差各自做了什么
图7:颜色动作组件消融。只用曲线可恢复亮度,但容易留下偏色;只用颜色耦合能改善通道分离,却可能去不净烟幕;两者合用在清晰度与颜色平衡之间更稳。图中数字是对应视角PSNR,不代表全数据集平均。来源:论文图5。
第一组消融回答“RAW真的有用吗”。把控制器输入换成基础流程输出的普通彩色图,其他部分不变,新视角PSNR从18.42降到18.29 dB。0.13 dB不算巨大,却是在完全相同框架下得到的稳定增益,说明RAW保留的线性响应和动态范围确实提供了普通成图之外的信息。
第二组回答颜色动作为什么要有两类模块。只用单调曲线为16.62 dB,只用跨通道耦合为18.08 dB,两者合用为18.25 dB。曲线更擅长恢复亮度和烟幕强度,耦合更擅长把混在一起的颜色通道拉开;一明一色,缺一边都会留下明显问题。
第三组回答训练期残差是不是“偷偷给每张图开后门”。去掉它,新视角PSNR从18.42降到18.25 dB。它的增益只有0.17 dB,而且有界、零均值、只在训练视角存在,因此更像最后的对齐垫片,而不是替每个视角单独记答案。
第四组回答“是不是参数越多越好”。作者在五到十一层颜色耦合、八到三十二个曲线节点之间扫了一圈,都没超过采用的七层耦合与十六节点配置。573个系数附近的响应较平,说明收益更多来自受约束的算子结构,而不是把颜色变换做得无限复杂。
六、和三条相邻路线比,FujinSplat补上了哪一环
去雾高斯方法(DehazeGS):把雾的物理量写进高斯。它为高斯定义与深度相关的透射率和全局大气光,再用暗通道、亮通道与伪深度约束优化。优势是物理解释直接进入显式表示;FujinSplat的区别是面向真实动态烟雾和RAW相机链,不希望新视角继续携带每视角烟参数,而是先校正训练监督,再渲染静态场景。
水下三维恢复方法(3D-UIR):把物体外观与水介质分开。水下传播具有波长相关衰减、后向散射和距离依赖,3D-UIR显式建模物体外观、介质外观、视角变化与深度约束。它和FujinSplat都反对让三维表示把介质当纹理硬吞,但水是相对持续的体介质,烟在捕获过程中更会随时间变化,FujinSplat因此强调每训练视角动作与零均值分解。
三平面去雾高斯方法(Tri-DehazeGS):把场景—介质解耦与梯度补偿绑在一起。它用独立三平面雾场表示空间消光和方向相关介质辐射,待介质稳定后冻结,再补偿低透射区域被削弱的梯度。它主要从“雾在三维空间里怎么表示、远处梯度怎么救”切入;FujinSplat则从“传感器记录与相机成图怎么解缠、动态烟雾动作怎么约束”切入。
把三篇放到一条轴上看,路线正在从“先去雾再重建”,走向“在成像方程、介质表示、优化信号和传感器坐标上分别解耦”。FujinSplat最有辨识度的一步,是把RAW不是当作更高质量输入,而是当作解除相机非线性与介质变化纠缠的工作空间。
七、局限与落地:离真实烟场还有几道门
第一,实验只在RealX3D一个基准、八个场景上完成。不同相机的RAW格式、颜色响应、镜头炫光,不同颗粒与密度的烟,以及明火、闪烁光源和强运动烟团,都可能改变“低维颜色动作”是否仍然成立。论文已测出强结构,不等于所有灾害现场都服从同一近似。
第二,它需要RAW、多视角位姿和场景级校准,不是给任意手机视频装一个滤镜就能工作。真实应急系统还要面对相机同步、位姿漂移、热扰动、动态人员、传感器防护与算力预算。42分钟重建比复杂混合管线轻,但离实时穿烟导航仍有距离。
第三,方法把视角相关校正限制在训练期,这是保持新视角标准渲染成本的优点,也意味着它依赖训练视角把烟雾变化覆盖得足够好。若某个区域在所有训练图里都被浓烟完全遮住,颜色动作只能恢复可观测光度,不能凭空找回从未记录的几何。
第四,最强闭源生成混合方案在七场景PSNR上仍略高。FujinSplat赢的是清晰的物理与成像边界、较低优化时间和无需外部模型调用,不是宣称所有视觉质量指标与所有场景都绝对第一。对于高风险应用,可解释和可审计本身很重要,但最终仍需跨相机、跨烟型和现场数据验证。
八、龙哥点评:这篇论文最值钱的不是“去掉烟”
龙哥觉得,FujinSplat最值得学的,是它没有一上来就把恢复网络做得更大,而是先问:观测里到底混进了哪几种因素,哪部分属于相机,哪部分属于烟,哪部分才应该进入静态三维场?把问题拆对,195组真实配对数据也能支撑出一个低维、可逆、可解释的动作空间。
这对图像恢复研究有一个很现实的提醒:单张图变清楚,不等于多视角系统得到了一致事实。自动驾驶、机器人、工业检测真正需要的不是每帧都“好看”,而是同一物体在时间与空间上不自相矛盾。恢复模块如果会随意补细节,后面的定位、建图和决策可能把幻觉当证据。
它的工程账也比较诚实:控制器和训练期残差把复杂性留在建模阶段,新视角仍走标准高斯渲染;但输入要RAW,流程要场景校准,数据和权重还没完整交付。所以这是一篇“机制与实验已经很强、复现闭环仍需等待”的工作,而不是拿来就能部署的产品。
龙迷三问
1. 低维烟雾颜色方向能否跨相机迁移?如果每台相机都要重新校准,工程成本会限制规模化;如果能把传感器响应与介质方向进一步解耦,价值会更大。
2. 热红外、偏振或事件相机能否补上完全遮挡区域?RAW保留了更多光度信息,但对从未穿透烟幕的结构仍无能为力,多传感器可能才是高风险现场的下一步。
3. 能否把训练期校正变成在线增量建图?若烟雾持续变化,离线采一圈再优化并不总现实;如何保持静态场景锚点,同时快速吸收新视角,是走向机器人与巡检系统的关键。
九、总结:先把观测拆干净,再让三维世界保持静态
FujinSplat给出的答案可以概括为一句话:在RAW域建立固定相机锚点,用受约束的颜色动作校正训练视角,再让一个静态3D高斯场负责真正的场景。它在RealX3D上把平均峰值信噪比推到18.42 dB,相对最强可比二维恢复再重建流程提升2.57 dB,同时避免新视角继续调用外部恢复模型。
这不是“AI从烟里看见一切”的故事。它更像一堂扎实的成像课:当输入被介质、相机和时间共同污染时,不要急着让大模型把画面修漂亮;先找到哪些变化可以被测量、被约束、被留在训练阶段,三维表示才有机会保存一个真正一致的世界。对于恢复与重建系统,跨视角一致、失败可解释、推理边界清楚,往往比一张展示图更重要。
如果后续数据和权重按计划公开,最值得复核的也不只是平均分,而是三件事:换相机后校准成本有多高,浓烟与弱纹理场景是否稳定,以及训练视角减少时,静态高斯还能否守住几何和颜色一致性。这些问题会决定它是一套漂亮的基准解法,还是能进入真实巡检链路的方法。
项目页:https://i2wm.github.io/FujinSplat/
相似论文:
Tri-DehazeGS:https://arxiv.org/abs/2609.11223
3D-UIR:https://arxiv.org/abs/2505.21238
DehazeGS:https://arxiv.org/abs/2501.03659
本文基于龙哥读论文数据库系统(PaperDaily)及论文挖掘系统(PaperMiner)的模型上下文协议技术(MCP)进行汇总整理。
本文仅代表对论文公开材料的个人理解与技术评论。论文结果以原文为准;数据与预训练权重需等待论文接收后按官方计划发布。