点击下方
卡片
,关注
「3DCV」
公众号
选择
星标
,干货第一时间送达
来源:3DCV
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入
「3D视觉从入门到精通」知识星球
(
点开有惊喜
)
,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:
近20门独家秘制视频课程
、
最新顶会论文
、计算机视觉书籍
、
优质3D视觉算法源码
等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
简单总结
我们的方法能够以最小的开销和最快的推理速度去同时获得视频去雾和深度估计的结果。
现存问题
目前现有的视频去雾方法,主要以室内真实烟雾数据集和合成雾数据集为研究对象。室内真实烟雾数据集主要以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的推理速度需要被提升。
研究动机
由于我们主要的应用场景是无人车,对于无人车的来说,看得清,看的远,以及能够感知周围环境的距离是极其重要的。对于无人车的距离感知其实就是深度(depth)感知。因此,我们一直考虑如何让我们的模型既能去雾又能估计深度。真实雾场景下,RGB相机能见度和激光雷达感知都是受限的且没有Ground Truth数据供模型训练。因此,我们考虑利用非对齐去解决去雾和深度估计问题。此外,我们也发现大气散射模型和自监督深度估计的重投影约束在本质上是构成相互约束条件,这对于训练参数学习模型来说,可以使得模型学习更稳定的且准确的学到目标的分布。所以,这二个任务在本质上是互补的,我们联立求解“去雾”和“自监督深度估计”任务,提出的联合表达式如下:
图2. 视频去雾和深度估计的联合求解表达式
𝐼
t
表示当前雾帧,𝐽
t
表示当前的雾帧对应的清晰帧(即我们所求的量),𝐴
∞
指无限远大气光(或全局大气光),t指传输介质图(或光的透射率图),𝛽指散射系数,d是深度(depth)。𝐽
s
指相邻雾帧所对应的清晰帧。𝒮是双线性差值采样,x和y分别代表当前帧和邻近帧上像素的位置。K表示相机内参,𝑃
𝑥→𝑦
表示相机的位姿信息。
图3. 比较不同的去雾和深度估计方式
关于图2中每个子图的解释如下:(a)是我们利用非对齐参考匹配获得的非对齐雾/清晰的视频帧对。(b)直接从雾视频里去估计深度信息,由于雾天加剧了“弱纹理”,导致地面的弱纹理区域深度不正确。(c)利用先去雾的结果去估计深度,这种方式由于去雾结果存在一些“细节伪影”,导致估计的深度图看起来很模糊。(d)我们首次提出的在真实雾视频场景下,同时优化视频去雾和深度估计二个任务。由于二个任务是共享深度信息的,因此二个任务本质是互补的,所以联立求解,有助于获得更好的结果。
通过上述的联合求解表达式和不同去雾和深度估计方式的比较,我们可以发现,联立求解去雾和深度估计确实是会获得更好的效果。因此,我们基于这个发现,我们设计了一个以depth学习为主导的去雾和深度估计联合学习框架。接下来,我们介绍下自监督深度估计的相关概念。
自监督深度估计
自监督深度估计的前提条件:基于光度一致性,即指在不同视角下拍摄的同一场景中的像素,应该具有相同的光度信息(即颜色、亮度等)。简单来说,就是通过自监督学习方式,利用不同视角的图像或视图之间的关系来估计深度信息,而不依赖于手工标注的深度真值数据。
图4. 雾天自监督督深度估计流程
𝐼
t
指当前雾帧, 𝐼
s
指相邻雾帧。𝒮是双线性差值采样,x和y分别代表当前帧和邻近帧上像素的位置。K表示相机内参,𝑃
𝑥→𝑦
表示相机的位姿信息。d(x) 表示depth(深度信息)。𝐼
t
: 双线性差值采样获得当前雾帧;ℒ
pe
:photometric error(光度误差);ℒ
s
:smoothness loss(平滑损失);𝑑
𝑡
*
:均值归一化的逆深度,𝜕
x
和 𝜕
y
分别指水平方向和垂直方向上的梯度。SSIM: 结构相似度损失。𝛼:权重系数, 一般取值0.85。
总结来说,光度一致性在自监督深度估计中是指,通过从不同视角观察同一场景时,相同的物体或像素应该保持一致的光度信息,借此约束深度估计模型,以提高深度预测的准确性。更多的细节参见 MonoDepth2 (CVPR 2019)
提出方法
在提出的DCL框架中,我们考虑一个更符合真实场景的假设,我们假设𝛽是一个非均匀的图。
图5. 提出的深度中心学习(DCL)框架的流程,通过共享深度预测,有效地将大气散射模型与亮度一致性约束结合在一起。𝑫
MFIR
增强了去雾帧中的高频细节恢复,而𝑫
MDR
则减少了由纹理较弱区域引起的深度图中的黑洞问题。
从框架不难看出,基于大气散射模型的“重建”损失对利用亮度一致性的自监督深度估计构建额外的约束条件,并且更精确的深度信息也有助于精确的解耦合大气散射模型参数,从而获得更好的去雾结果,所以二者是互补的。
自监督深度估计的成立条件是基于“光度一致性”假设,这个假设的前提条件就是:输入的连续RGB帧的对应像素的亮度是一致的。因此,我们利用从非对齐的清晰参考视频上获得的dpeth去正则深度估计网络𝛷
d
的同时,也会对去雾网络形成一个亮度一致性约束。
𝑫
MFIR
是为了增强去雾后的视频帧的高频细节恢复。𝑫
MDR
则是为了解决深度估计网络学习中产生的弱纹理区域黑洞问题,同时也会对去雾网络𝛷
J
产生一个亮度一致性正则。
关于“为什么有𝛽是非均匀图的假设”的解释:真实场景下,特别在室外,绝大多数的雾都是“非均匀状态的”,例如:高速公路上的团雾就是典型的现象。因此,雾是不均匀的,则散射系数𝛽也应该是非均匀的。具体的实验参见讨论与分析部分解读。
实验结果
定量评估:对比先进的去雾方法在三个真实场景的视频数据集上,分别是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上也表明了良好的泛化性。
分析讨论
消融关键的模块和损失,并展示对应的可视化结果
表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在参考的非对齐清晰视频上获得的。
视频演示
真实雾天驾驶场景测试demo
从视频的demo上来看,不难发现,我们提出的方法(DCL)相较于当前的SoTA视频去雾方法,有着更好的去雾结果以及去雾视频的稳定性(指连续帧的时间一致性,即闪烁和抖动小)。相较与当前SoTA的自监督深度估计方法,我们的方法在真实雾场景下的深度估计效果更好,特别在弱纹理区域以及depth的质量上。
问题解答:
问题一:如何保证视频的一致性。
答:在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)
感谢大家的阅读,以上为我们的大白话解读。更多的细节请参见我们的论文。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
最前沿
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
工业3D视觉
:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶
:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。