DCL:基于真实世界雾霾驾驶视频的视频去雾和深度估计

DCL框架联立求解视频去雾和深度估计,在真实世界雾霾驾驶视频中实现高效且高质量的性能。

原文标题:AAAI 2025高分论文:基于真实世界雾霾驾驶视频的视频去雾和深度估计

原文作者:数据派THU

冷月清谈:

本文介绍了一种名为DCL的视频去雾和深度估计联合学习框架,旨在解决现有方法在处理真实世界雾霾驾驶视频时存在的局限性,例如室内数据集泛化能力差、合成数据集与真实场景存在差异以及推理速度慢等问题。DCL框架的核心在于联立求解去雾和自监督深度估计任务,利用大气散射模型和自监督深度估计的重投影约束,使模型能够更准确地学习目标分布。该框架假设散射系数β是非均匀的,更贴近真实世界的雾霾场景。DCL框架引入了两个新的模块:增强去雾帧高频细节恢复的D_MFIR和减少深度图中弱纹理区域黑洞问题的D_MDR。实验结果表明,DCL在GoProHazy、DrivingHazy和InternetHazy等真实世界雾霾视频数据集上取得了优异的去雾和深度估计性能,并在推理速度上具有优势。此外,DCL在公开数据集DENSE-Fog上也展现了良好的泛化能力。消融实验进一步验证了DCL框架中各个模块和损失函数的有效性。

怜星夜思:

1、文章中提到了合成雾和真实雾的差异,除了提到的深度信息范围有限外,还有什么其他关键差异会影响去雾算法的性能?
2、DCL 框架中假设 β 是非均匀图,这更符合真实场景。除了高速公路上的团雾,还有哪些场景或现象可以说明真实世界中雾的非均匀性?
3、文章提到了DCL在推理速度上具有优势,这对于无人驾驶至关重要。除了速度,在实际应用中,还有哪些因素会影响去雾算法在无人驾驶场景下的可靠性?

原文内容

来源:Paper Weekly

本文约5000字,建议阅读7分钟

本文方法能够以最小的开销和最快的推理速度去同时获得视频去雾和深度估计的结果。



论文标题:

Depth-Centric Dehazing and Depth-Estimation from Real-World Hazy Driving Video

论文链接:

https://arxiv.org/pdf/2412.11395

项目主页:

https://fanjunkai1.github.io/projectpage/DCL/index.html

代码链接:

https://github.com/fanjunkai1/DCL


01 现存问题

目前现有的视频去雾方法,主要以室内真实烟雾数据集和合成雾数据集为研究对象。室内真实烟雾数据集主要以 REVIDE 为代表,这个数据集的优点是有 ground truth,能够进行直接映射学习。缺点是很难在真实的室外雾场景下获得好的去雾效果。这类方法的代表有 CG-IDN(CVPR 2021)和 PM-Net(ACMMM 2022)。

其次是以合成雾为研究对象的视频去雾方法,合成的雾视频数据集主要以 HazeWorld 为代表,这个数据集的优点是数据集量大,利用 depth 对雾进行合成,使得雾场景效果更逼真。但是,合成的雾,很难去模拟真实场景下的各种退化,例如:粒子散射带来的模糊和图像质量的退化。

更重要的一点是合成雾利用的 depth 信息是有限的,大多数 depth map 的有效距离只有 100-150 米的范围。这使得合成的雾图像只在有深度信息的区域才会有雾。因此,这是合成雾与真实场景雾的主要差异来源。

在合成雾上训练,测试在真实场景下,这类方法主要以 MAP-Net(CVPR 2023)为代表,这类方法在真实场景下往往去雾能力有限,只能对近景的雾有效,远处的雾很难移除。

基于以上存在的问题,DVD(CVPR 2024)提出一个基于非对齐的模型训练方式,即利用“非对齐参考帧匹配”和“多帧参考的非对齐损失”去解决采集的真实场景视频数据(GoProHazy)存在的时间和空间维度上的不对齐。并且实验表明这种非对齐的训练方式,确实能够在真实场景下取得不错去雾效果。

但是,尽管 DVD 的去雾效果不错,但是考虑到辅助驾驶的应用场景,DVD 的推理速度明显是慢了的。   

图1.(左)MAP-Net 在真实场景下去雾结果,(右)推理时间比较

综上所述,我们得到了二个关键点:1. 非对齐的训练方式确实对真实场景去雾是有效的。2. 现有的真实场景去雾方法 DVD 的推理速度需要被提升。

02 研究动机

由于我们主要的应用场景是无人车,对于无人车的来说,看得清,看的远,以及能够感知周围环境的距离是极其重要的。对于无人车的距离感知其实就是深度(depth)感知。因此,我们一直考虑如何让我们的模型既能去雾又能估计深度。

真实雾场景下,RGB 相机能见度和激光雷达感知都是受限的且没有 Ground Truth 数据供模型训练。因此,我们考虑利用非对齐去解决去雾和深度估计问题。此外,我们也发现大气散射模型和自监督深度估计的重投影约束在本质上是构成相互约束条件,这对于训练参数学习模型来说,可以使得模型学习更稳定的且准确的学到目标的分布。

所以,这二个任务在本质上是互补的,我们联立求解“去雾”和“自监督深度估计”任务,提出的联合表达式如下: 

图片
图2. 视频去雾和深度估计的联合求解表达式

𝐼t 表示当前雾帧,𝐽t 表示当前的雾帧对应的清晰帧(即我们所求的量),𝐴∞ 指无限远大气光(或全局大气光),t 指传输介质图(或光的透射率图),𝛽 指散射系数,d 是深度(depth)。𝐽s 指相邻雾帧所对应的清晰帧。𝒮 是双线性差值采样,x 和 y 分别代表当前帧和邻近帧上像素的位置。K 表示相机内参,𝑃𝑥→𝑦 表示相机的位姿信息。   

图3. 比较不同的去雾和深度估计方式

关于图 2 中每个子图的解释如下:

a)是我们利用非对齐参考匹配获得的非对齐雾/清晰的视频帧对;
b)直接从雾视频里去估计深度信息,由于雾天加剧了“弱纹理”,导致地面的弱纹理区域深度不正确;
c)利用先去雾的结果去估计深度,这种方式由于去雾结果存在一些“细节伪影”,导致估计的深度图看起来很模糊;
d)我们首次提出的在真实雾视频场景下,同时优化视频去雾和深度估计二个任务。由于二个任务是共享深度信息的,因此二个任务本质是互补的,所以联立求解,有助于获得更好的结果。

通过上述的联合求解表达式和不同去雾和深度估计方式的比较,我们可以发现,联立求解去雾和深度估计确实是会获得更好的效果。因此,我们基于这个发现,我们设计了一个以 depth 学习为主导的去雾和深度估计联合学习框架。接下来,我们介绍下自监督深度估计的相关概念。

03 自监督深度估计

自监督深度估计的前提条件:基于光度一致性,即指在不同视角下拍摄的同一场景中的像素,应该具有相同的光度信息(即颜色、亮度等)。简单来说,就是通过自监督学习方式,利用不同视角的图像或视图之间的关系来估计深度信息,而不依赖于手工标注的深度真值数据。   

图4. 雾天自监督督深度估计流程

𝐼t 指当前雾帧,  𝐼s 指相邻雾帧。𝒮 是双线性差值采样,x 和 y 分别代表当前帧和邻近帧上像素的位置。K 表示相机内参,𝑃𝑥→𝑦 表示相机的位姿信息。d(x) 表示 depth(深度信息)。𝐼t : 双线性差值采样获得当前雾帧;ℒpe:photometric error(光度误差);ℒs:smoothness loss(平滑损失);𝑑𝑡*:均值归一化的逆深度,𝜕x 和 𝜕y 分别指水平方向和垂直方向上的梯度。SSIM:结构相似度损失。𝛼:权重系数, 一般取值 0.85。

总结来说,光度一致性在自监督深度估计中是指,通过从不同视角观察同一场景时,相同的物体或像素应该保持一致的光度信息,借此约束深度估计模型,以提高深度预测的准确性。更多的细节参见 MonoDepth2 (CVPR 2019)。

04 提出方法

在提出的 DCL 框架中,我们考虑一个更符合真实场景的假设,我们假设 𝛽 是一个非均匀的图。

图5. 提出的深度中心学习(DCL)框架的流程,通过共享深度预测,有效地将大气散射模型与亮度一致性约束结合在一起。𝑫MFIR 增强了去雾帧中的高频细节恢复,而 𝑫MDR 则减少了由纹理较弱区域引起的深度图中的黑洞问题。

1. 从框架不难看出,基于大气散射模型的“重建”损失对利用亮度一致性的自监督深度估计构建额外的约束条件,并且更精确的深度信息也有助于精确的解耦合大气散射模型参数,从而获得更好的去雾结果,所以二者是互补的。

2. 自监督深度估计的成立条件是基于“光度一致性”假设,这个假设的前提条件就是:输入的连续 RGB 帧的对应像素的亮度是一致的。因此,我们利用从非对齐的清晰参考视频上获得的 dpeth 去正则深度估计网络 𝛷d 的同时,也会对去雾网络形成一个亮度一致性约束。

3. 𝑫MFIR 是为了增强去雾后的视频帧的高频细节恢复。𝑫MDR 则是为了解决深度估计网络学习中产生的弱纹理区域黑洞问题,同时也会对去雾网络 𝛷J 产生一个亮度一致性正则。

4. 关于“为什么有 𝛽 是非均匀图的假设”的解释:真实场景下,特别在室外,绝大多数的雾都是“非均匀状态的”,例如:高速公路上的团雾就是典型的现象。因此,雾是不均匀的,则散射系数 𝛽 也应该是非均匀的。具体的实验参见讨论与分析部分解读。

05 实验结果

定量评估:对比先进的去雾方法在三个真实场景的视频数据集上,分别是 GoProHazy,DrivingHazy 和 InternetHazy 数据集。 

表1. 三个真实世界模糊视频数据集的定量结果。↓ 表示越低越好。DrivingHazy 和 InternetHazy 的数据集则使用 GoProHazy 上训练的去雾模型进行测试。请注意,所有定量结果均在输出分辨率为 640×192 进行评估。

可视化比较:我们分别在 GoProHazy,DrivingHazy 和 InternetHazy 数据集进行了可视化比较,我们提出的 DCL 模型在能见度的恢复上能够达到更好的细节恢复(例如:颜色和纹理),同时我们提出的方案还能提供能见度估计的结果。
 
图7. 我们在真实的雾视频数据集 GoProHazy 上与其他先进方法的可视化对比,并且我们的方法能够同时给出了去雾和深度估计的效果

定量评估:对比先进的自监督深度估计方法在公开的视频数据集 DENSE-Fog 上。 
表2. 定量结果比较。我们将提出的框架(DCL)与最新方法在 DENSE-Fog 数据集上进行了比较

可视化比较:可视化比较不同的自监督方法在公开数据集 DENSE-Fog 上 

图9. 提出的方法分别在 GoProHazy,DENS-Fog(dense)和 DENS-Fog(light)三个真实的雾天视频数据集上与其他先进方法对比的效果图,并且我们的方法同时给出了去雾和深度估计的效果

实验结果总结:从定量评估和可视化对比结果来看,提出的方案不仅能同时给出去雾和深度估计的结果,且能够达到最佳的推理速度这对于无人车的部署是非常友好的。此外,提出的 DCL 模型也在公开数据集 DENS-Fog 上也表明了良好的泛化性。

06 分析讨论

消融关键的模块和损失,并展示对应的可视化结果 

表3. 消融提出的核心模块在 DENSE-Fog(light)数据集上 

表4. 消融不同的损失函数在 GoProHazy 数据集上 

图12. 核心模块在深度估计结果上的消融可视化,DCL(Ours)在车窗和小目标物体的表现上更好 

图13. 消融可视化对应的核心模块在对应的任务上,提出 𝑫MFIR 和 𝑫MDR 的效果表现明显

总结:无论从模块消融的定量评估上来看,还是消融结果的可视化来看,我们提出模块 𝑫MFIR 和 𝑫MDR 都展示出了非常明显的效果。特别在一些弱纹理的区域以及一些远距离的小目标上,提出模块都展示出了明显的提升。

针对不同任务(指去雾和深度估计)提出的模块 𝑫MFIR 和 𝑫MDR,我们也分别在对应的任务上给出相应消融可视化展示。结果表明:针对不同任务提出的模块,效果明显。

验证关于 𝛽 是个非均匀图的假设,以及对应实验验证结果。

图14. 消融提出的核心模块在 DENSE-Fog(light)数据集上

表5. 消融不同的损失函数在 GoProHazy 数据集上

总结:我们进行了不同 β 值(即常数或非均匀)的对比实验。结果表明,非均匀 β 能带来更好的深度估计精度,并且我们也给出了视觉的对比结果。在之前的研究中,大家给 β 定义为常数,其实是将大气散射模型抽象为一个更简单的表达式,在 DCL 中我们考虑的是一个更符合真实场景下的大气散射模型,因此,我们定义 β 为一个为非均匀的变量。

大气散射模型(ASM)对自监督深度估计的结果提升
图16. 消融不同的损失函数在 GoProHazy 数据集上

实验结果表明,预测深度优于参考深度,主要是由于大气散射模型通过重建损失(ℒrec)对深度估计施加了显著约束所导致的,而参考的 depth 是由 Monodepth2 在参考的非对齐清晰视频上获得的。

07 视频演示

真实雾天驾驶场景测试demo

从视频的 demo 上来看,不难发现,我们提出的方法(DCL)相较于当前的 SoTA 视频去雾方法,有着更好的去雾结果以及去雾视频的稳定性(指连续帧的时间一致性,即闪烁和抖动小)。相较与当前 SoTA 的自监督深度估计方法,我们的方法在真实雾场景下的深度估计效果更好,特别在弱纹理区域以及 depth 的质量上。

08 问题解答

问:如何保证视频的一致性?

答:在 DCL 模型中,我们主要是通过利用 depth 重投影去约束去雾结果的时间一致性。从本质上来说,利用 depth 约束前后帧的时间一致性与利用光流约束的思想是一致的,都是利用相邻帧的对应位置上像素点的运动关系去实现时间一致性的约束。

具体的解释如下:

时间一致性主要包括两个方面:亮度一致性和内容一致性。

1)亮度一致性:在自监督深度估计中,通过深度重投影来重建相邻帧的前提条件是它们输入的连续帧的亮度必须保持一致。通过使用自监督学习方法,和 GoProHazy 的非对齐且清晰参考视频,我们可以获得高质量的深度信息,从而对深度估计网络进行正则化,在一定程度上也确保了去雾网络获得的去雾相邻帧之间的亮度是保持一致,避免出现闪烁现象。

2)内容一致性:在我们的框架中,基于大气散射模型构建的重建损失有效地加强了内容一致性,即使是在天空区域,也能最大程度地减少伪影。

此外,为了验证提出模型 DCL 的时间一致性,可参见上面的视频演示,其中我们的去雾视频的稳定性显然优于其他方法的。

参考文献

[1] Zhang, Xinyi, et al. “Learning to restore hazy video: A new real-world dataset and a new method.” In CVPR 2021. (CG-IDN)

[2] Liu, Ye, et al. "Phase-based memory network for video dehazing."  In ACM MM 2022.  (PM-Net)

[3] Xu, Jiaqi, et al. “Video dehazing via a multi-range temporal alignment network with physical prior.”  In CVPR 2023. (MAP-Net)

[4] Fan, Junkai, et al. “Driving-Video Dehazing with Non-Aligned Regularization for Safety Assistance.”  In CVPR 2024.  (DVD)

[5] Godard, Clément, et al. "Digging into self-supervised monocular depth estimation." In CVPR 2019. (Monodepth2)



编辑:王菁




关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。



新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

真实环境的光照条件变化莫测,而合成数据通常基于简化的光照模型。这种光照差异也会影响去雾算法的性能。就像阴天和晴天的雾,看起来就不一样。

真实雾霾中,空气中悬浮颗粒的种类、大小、形状以及分布都远比合成雾复杂,这些因素都会影响光的散射和吸收,从而影响成像效果。合成数据难以完全模拟这种复杂性。

早晨的雾气通常在靠近地面的地方比较浓,随着高度的升高逐渐变淡,这就是一个非均匀的例子。

在山区,由于地形和气流的影响,雾的分布也 often 非常不均匀,有些地方浓雾弥漫,有些地方则清晰可见。

我觉得合成雾通常假设均匀的雾浓度,而真实雾的浓度分布往往是不均匀的,这可能会导致基于合成数据训练的模型在真实场景下效果不佳。

城市中,高楼大厦之间,雾的浓度也会有差异,这与局部空气流动和污染物浓度有关。比如,公园的雾就比马路边上的淡。

对于无人驾驶来说,去雾算法的鲁棒性非常重要。算法需要能够应对各种不同类型和浓度的雾霾,以及雨雪等其他恶劣天气条件。恶劣天气种类太多了。

能耗也是一个重要因素,尤其对于电动无人驾驶汽车。高效的去雾算法可以降低计算负担,从而减少能耗,延长续航里程。毕竟车上电池容量有限。

除了去雾,无人驾驶系统还需要其他感知模块,例如目标检测和车道线识别。去雾算法需要与这些模块兼容,并提供高质量的图像输入,以确保整个系统的可靠性。单独一个模块再好也不行。