0.Paper

这是我们2022年的工作,关于雾中的单目自监督深度估计研究:

0.Code

我们提供了基于Pytorch的开源代码实现,你可以在此处访问。

1.导读

近年来,自监督深度估计方法由于不需要深度标签受到广泛关注,在天气良好的图像测试中取得了显著的效果。然而,在更具挑战的雾天场景中,由于雾的存在导致低对比度与有限可见性,它们的性能受到限制。为了解决这一问题,我们提出一种适用于雾天图像自监督深度估计的端到端的特征分离网络,我们以配对的清晰图和合成雾图为输入,通过正交性损失学习的特征提取器分离干扰信息(光照、雾等)和不变信息(结构、纹理等),并利用不变信息进行深度估计。同时,引入相似性损失,以清晰图像的深度作为伪标签来约束雾天图像深度,并加入基于注意力机制的模块和重建损失细化了输出深度,获得了更好的深度图。然后,我们使用真实世界雾图进行微调,有效地减少了合成与真实数据的域间距。实验表明,我们的方法在合成数据集及Cityscape数据集上产生了先进的结果,证明了我们所提出方法的优越性。

下图(b)展示了雾天图像在Monodepth2上的结果,我们可以看到,由于雾的存在导致低对比度与有限可见性,无法估计深度细节。

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

2.中心思想

我们受这篇paper启发:场景的深度是使用图像中物体的垂直位置来估计获得,而场景中的光照、模糊等起的作用较少。因此,我们提出特征分离框架,将雾天与清晰图像对的信息分为两个互补的集合,集合1包含雾天与清晰图像光照、雾等变化信息,这影响深度估计性能。集合2包含场景结构、纹理等不变信息,利用这些信息来估计深度。由于不配对的雾天与清晰图像包含的信息不一样,会影响自监督深度估计网络,因此参照这篇paper所提出的合成雾方法,将大量不同场景赋予不同浓度的雾建立一个雾天图像数据集,并与清晰图像配对作为网络的输入进行训练,同时考虑到合成与真实的雾天图像之间固有的域偏移,我们接着使用了真实世界的雾图微调我们的网络。具体来说,首先输入配对的连续3帧雾图和清晰图,使用两个特征提取器来提取图像中干扰信息(光照、雾等)和不变信息(结构、纹理等),加入正交损失保证两者尽可能不同,然后对不变信息加入光度损失来估计深度,同时用清晰图估计出的深度图作为伪标签,利用相似性损失实现无监督训练。值得注意的是,我们的网络是直接从合成以及真实的雾图中估计深度信息,是一个端到端的网络。

3.网络结构

这是我们的网络结构图,以配对的清晰图像和雾天图像为输入,通过我们设计的特征分离网络结构来消除干扰项的影响
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

为了增强场景结构感知能力以及突出关键的局部细节信息,我们设计了两个基于注意力机制的模块:通道注意模块、位置注意模块。

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

4.损失函数

我们的总损失函数由光度损失、边缘感知平滑损失、正交损失、相似性损失和重建损失组成,即:
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP
其中β1、β2、β3、β4、β5是权重参数,各个损失函数展开为:
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP
个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

5.训练细节

我们深度估计网络基于U-Net体系结构,即带跳跃连接的编码器-解码器。
首先,使用清晰图像和对应的雾图视为图像对,作为网络的输入来训练模型;之后使用真实世界雾图和用PSD生成的清晰图来微调模型。
模型在Pytorch中实现,使用Adam优化器在RTX1080Ti GPU上训练20个epoch,batchsize设为,学习率初始设为le-4,5个epoch后设为1e-5。采用7个指标度量进行测试,包括Abs-Rel、Sq-Rel、RMSE、RMSE-log、&1、&2和&3。

6.实验

6.1定量实验

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

这是我们的方法与几个方法之间的定量比较结果。首先在5个能见度(VIZ)合成数据集上评估各个模型的性能,这里,使用的是同一个场景,保证了唯一变量,之后对真实世界中的雾图进行了测试。在上表中,Monodepth2表示使用合成数据集训练和用真实数据集微调的结果,PSD+Monodepth2表示首先去雾,然后估计去雾图像的场景深度,
据我们所知,monodepth2是一种对清晰图像很有效的自监督深度估计方法,然而对用雾天图像训练的模型来说,其性能却受限于雾天图像。由于雾天图像整体对比度较低、光照不均匀等等,导致在雾天条件下直接对图像进行深度估计时都会造成不同程度的信息丢失,取得的效果并不好。同时, PSD+Monodepth2可以在一定程度上改善雾天条件下图像的深度估计结果,但由于当前普遍去雾模型都会对去雾后的图像造成不同程度的损伤,又在另一层面影响了图像深度估计结果,其性能也受到限制。
如上表所示,本文提出的特征分离框架可以缓解雾模糊带来的影响,在5个能见度和真实的雾图像中,所有的性能指标都可以通过我们的方法得到很大的改善,这证明了我们的方法的优越性。

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

上表是我们对各个模型测试一张图片所需时间和模型大小进行统计,可见将去雾模型嵌入到深度估计模型前大大增加了模型复杂度,相比之下,我们的模型更加满足实时性。

6.2定性实验

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

雾天图像的定性比较结果如上图所示,其中(a)显示了能见度分别为500m、200m、50m的合成数据集图像以及真实世界雾天图像,(b)为Monodepth2测试的结果,(c)为先用PSD对图像去雾,之后再用Monodepth2测试结果。总的来说,在对清晰图像深度估计取得SOTA的Monodepth2无法生成平滑的深度图,并遗漏了大量的信息。与(b)相比,显然(c)取得了更好的视觉效果,这证明去雾操作对雾天图像深度估计是积极的,但去雾操作会不同程度的损伤图像,使其在深度估计时产生一些奇怪的输出,如(c)中红色框框所示,这在另一层面上影响了深度估计效果。相比之下,我们的方法可以恢复更多的物体轮廓深度细节,获得了更多的视觉效果,更重要的是,在(d)中,我们的模型仍然能够对非常模糊的场景做出合理的预测,这些非常模糊的场景甚至对人眼都是挑战,这证明模型能很好的适应雾天环境。

验证实验

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

为了验证我们的网络的可解释性,我们分别使清晰图像、能见度为200m、50m通过模型,对5个信息量较大的卷积特征图可视化,如上图所示,第一列为对应的输入图像,其余列为特征图。第二、四、六行中的特征图包含明显的结构信息和纹理信息,第一、三、五中的特征图包含的信息是非规则的、平滑的、结构较少的信息,类似于图像的光照、雾等信息,这证明了我们的方法可以有效地分离雾天图像的光照、雾等干扰信息和结构、纹理等不变信息。

消融实验

个人论文一:关于雾中单目自监督深度估计的研究-LMLPHP

我们进行消融实验,以证明网络各个组件的有效性,结果上表所示。在500m能见度和真实数据集上,正交性损失对提升模型性能表现最好,在两个数据集上分别提升了85.7%和29.5%的Sq Rel,这表明,用于保证干扰特征和不变特征分离的正交性损失可以极大地提升雾天条件下图像的深度估计性能。用于保证干扰和不变特征互补的重建损失、以清晰图像深度作为伪标签来约束雾天图像的相似性损失均进一步改善了雾天图像的深度估计结果。此外,基于注意力机制的通道注意力模块和位置注意力模块获得了更好的场景理解和丰富的特征表示,从而实现了更精确的深度预测。

总结

我们提出的端到端的特征分离框架,可以很好的解决雾天图像的深度估计问题,在一些数据集上的测试表明,我们的方法明显由优于其他方法,产生了先进的结果。但在可见度低的场景中,仍然有提高的空间,这将是我们未来的工作。

07-07 14:23