知识背景

近些年来,出现了众多的单幅图像去雾算法,应用比较广泛的有:

  • 直方图均衡化去雾算法
  • Retinex去雾算法
  • 暗通道先验去雾算法
  • 基于卷积神经网络的DehazeNet去雾算法

其主要可以分为 3 类:基于图像增强的去雾算法、基于图像复原的去雾算法和基于 CNN 的去雾算法。

类别 简介 代表算法
基于图像增强 通过图像增强技术突出图像细节,提升对比度,使之看起来更加清晰,这类算法的适用性较广。 Retinex:根据成像原理,消除了反射分量的影响,达到了图像增强去雾的效果
直方图均衡化:使图像的像素分布更加均匀,放大了图像的细节
偏微分方程:将图像视作一个偏微分方程,通过计算梯度场提高对比度
小波变换:对图像进行分解,放大有用的部分
基于图像复原 基于大气散射物理学模型,通过对大量有雾图像和无雾图像进行观察总结,得到其中存在的一些映射关系,然后根据有雾图像的形成过程来进行逆运算,从而恢复清晰图像。 暗通道先验:通过对大量无雾图像进行特征分析,找到了无雾图像与大气散射模型中某些参数的先验关系。
基于 CNN 两种思路:
1. 使用 CNN 生成大气散射模型的某些参数,然后再根据大气散射模型来恢复无雾图像
2. 使用 CNN (例如 GAN)直接根据模糊图像生成无雾的清晰图像
DehazeNet ,AOD-Net

目前训练神经网络所采用的数据集均是通过合成得到的,比如使用NYU-Depth V2-纽约大学各种室内场景数据集,结合RGB和深度图像,可以合成室内有雾图像数据集,而这一过程也用到了大气散射模型。

大气散射模型

此模型描述了大气散射现象,分析了雾天退化图像的形成过程。

大气中的水汽和颗粒物会因大气散射而产生两种副作用:

  1. 目标物体进入相机的入射光被衰减(入射光衰减项)
  2. 将周围的光反射到相机,导致图像模糊和对比度降低(环境光成分项)

image-20220309171008482

入射光衰减项描述的是入射光穿越介质到摄像设备衰减的部分,入射光的衰减程度随物体到摄像机的距离的增大而指数衰减。这部分模型有两个假设条件,

  1. 在目标物体发生漫反射,
  2. 假设物体和摄像机之间是均匀介质。

在两种假设前提下,入射光的衰减过程可以用公式表示: \[ J(d)=J(x)×e^{-\beta\cdot d}\tag{1} \] 其中, \(d\)表示物体到摄像机之间的距离;\(\beta\)表示传输介质的散射系数,在假设传输介质均匀的条件下, \(\beta\)是一个固定值。\(J(0)\)表示无雾图像即 \(d\)为 0 时的物体原始图像。 \(J(d)\)表示目标物体衰减后的图像。NYU-Depth V2数据集中存储的深度图信息就是\(d\),单位是米。

环境光成分项描述的是由介质中的颗粒物反射到摄像机成像过程中的反射光,这一部分光导致图像偏向与灰白色。环境光成分项随物体到摄像距离增加而增加,公式: \[ A(d)=A_∞\cdot (1-e^{-\beta\cdot d})\tag{2} \] 其中,\(A_∞\)表示我无穷远处的环境光值, \(d\) 表示目标物体到摄像机之间的距离,\(\beta\)表示传输介质的散射系数,在本文假设的介质均匀条件下为一个定值。

有雾图像由上述两个部分共同决定,即: \[ I(x)=J(d)+A(d)\tag{3} \] 展开得: \[ I(x)=J(x)\cdot t(x)+(1-t(x))\cdot A \] 其中,\(I(x)\)表示雾霾天气下有雾图像,\(J(x)\)表示原始的无雾图像,\(t(x)=e^{-\beta\cdot d}\)表示大气的折射率, \(A\) 为全球大气光值。

一个叫DehazeNet的去雾网络就是通过估计有雾图像的透射率,基于大气散射模型理论恢复出无雾的清晰图像。

参考文献

[1]彭涛. 基于深度学习的回转窑燃煤图像去雾与燃烧状态识别研究[D].湖南大学,2020.DOI:10.27135/d.cnki.ghudu.2020.000982.