来源
《计算机工程与应用》北大核心期刊,CSCD数据库。
影响因子:2.348
简介
图像去雾算法是以满足特定场景需求,突出图片细节并增强图片质量为目的的图像分析与处理方法。在雾霾天气下,造成了户外图像采集设备捕获的图像清晰度和对比度大幅下降,甚至会造成图像色彩偏移、细节大量丢失的现象。
从图像处理原理角度将算法分为三类:
- 基于物理模型
- 基于非物理模型
- 基于深度学习
基于物理模型的去雾算法考虑雾的成像原理,考虑光的散射和衰减然后建立模型。经典作就是何凯明大神等于2009年提出的基于暗原色先验的图像去雾算法,是目前最稳定的去雾算法。
基于非物理模型的去雾算法通过增强图像细节,强化图像边缘,从而得到更多的细节信息达到去雾效果。具体算法包括直方图均衡化、色阶增强算法、Retinex算法、小波和曲波变换等。
基于深度学习的去雾算法使用CNN网络建立深度学习模型,利用网络的学习能力估计出一些参数达到去雾的目的。目前有两种途径利用深度学习算法去雾:
- 利用深度学习方法估计大气物理模型中的一些参数进而还原图像。
- 利用对抗神经网络直接寻找带雾图像和清晰图像的关系建立模型进行图像还原得出清晰图像。
详细
物理去雾算法
大气散射模型
大气散射模型由大气散射理论发展而来,该模型在1976年由McCartney正式提出,并由后人改进。该模型认为
入射光衰减和散射介质影响是导致图像质量下降的主要因素,其公式如(1)所示
I
(
x
)
=
J
(
x
)
t
(
x
)
+
A
(
1
−
t
(
x
)
)
I(x)=J(x)t(x)+A(1-t(x))
I(x)=J(x)t(x)+A(1−t(x))
其中I(x)为原先的有雾图像,大气透射率为
t
(
x
)
=
e
−
β
d
(
x
)
t(x)=e^{-βd(x)}
t(x)=e−βd(x)
观察目标的反射光为
J
(
x
)
=
L
ρ
(
x
)
/
d
2
J(x)=Lρ(x)/d^2
J(x)=Lρ(x)/d2
大气光系数为A
可以看出J(x)即为去雾后的图像,只需要估计出**大气光系数A和透射率t(x)**即可得出去雾的图像。
基于暗通道先验的去雾方法
何凯明大神等于2009年提出的基于暗通道先验的去雾方法是第一个将暗通道先验和大气散射模型结合进行去雾的方法,数学表达式(2)为
J
d
a
r
k
(
x
)
=
m
i
n
x
∈
Ω
(
x
)
(
m
i
n
C
∈
(
R
,
G
,
B
)
J
c
(
y
)
)
,
J
→
0
J^{dark}(x)=\underset {x\in Ω(x)}{min}(\underset{C\in (R,G,B)}{min}J^c(y)),J\rightarrow0
Jdark(x)=x∈Ω(x)min(C∈(R,G,B)minJc(y)),J→0
C为RGB三个图像通道中的某个,由矩形区域Ω(x)中最小灰度值代替中心点像素灰度值便可得到暗通道图像。
暗通道先验算法以稳定、高效的特点成为目前发展最快、应用最广泛的图像去雾算法,分析算法的发展可以看出,此类算法对天空区域去雾效果无法达到正常去雾要求,容易产生光晕和颜色失真等现象,并且算法的使用对光强有着较高的要求。
非物理模型去雾
直方图均衡化
直方图是图像各级灰度值出现频率的统计图,可以直观展示图像的灰度级分布、对比度和明暗情况。该算法通过非线性变换使用图像灰度值集中部分对比度增强,灰度值稀疏部分对比度减弱使得图像整体灰度值分布平缓,从而实现去雾效果。算法首先统计各灰度级出现的频率并计算其分布函数,然后将结果进行非线性变换重新将灰度值重新映射到(0,255)之间。
基于直方图均衡化的去雾算法相对较少,主要是因为直方图均衡化算法只基于图像的灰度分布特征,需要人为调整参数,而且去雾过程容易产生其他噪声影响。
Retinex去雾算法
根据 Retinex 理论可以得到观测点成像的数学表达式为:
S
(
x
,
y
)
=
R
(
x
,
y
)
χ
L
(
x
,
y
)
S(x,y)=R(x,y)χL(x,y)
S(x,y)=R(x,y)χL(x,y)
其中 S(x,y)表示观测点最终观测结果, L(x,y)表示入射光图像, R(x,y)表示带观测物体的反射性质。
- 单尺度Retinex算法(Single Scale Retinex,SSR)
- 多尺度Retinex算法(Multi-Scale Retinex,MSR)
- 带色彩恢复的多尺度Retinex算法(Multi-Scale Retinex with Color Restore,MSRCR)
小波和同态滤波算法
小波变换具有多分辨率的特点,用不同的尺度将原始图像信号进行局域分解,进而得到图像的低频和高频特征,并且具有完善的重构能力。因为雾霾主要影响的是图像信号的低频部分,所以在使用小波变换进行去雾时需要抑制图像的低频信号部分,相对增强图像的高频信号,从而达到去雾的目的。
研究现状
基于非物理模型的去雾算法主要利用图像本身的数学特征和统计特征进行还原。无论是基于直方图均衡化的算法、Retinex 去雾算法还是小波变换和同态滤波算法其本质都是经过一定的统计和变换将原图像的细节特征进行放大,其本质都属于图像增强手段。
深度学习去雾
DeHazeNet去雾算法
CAI 等提出了一种名为 DehazeNet[81]的 End-to-End 去雾系统,将有雾图像作为输入,以透射图作为输出 , 然 后 利 用 大 气 散 射 模 型 进 行 图 像 的 还 原 。DehazeNet 算法结合暗通道先验去雾算法、最大对比度去雾算法、颜色衰减先验算法和基于色度不一致的去雾算法四种传统算法的特征进行网络结构设计。模型分为四个部分分别为:特征提取、多尺度映射、局部极值和非线性回归。
GCANet
因为生成对抗网络(GAN)的出现,采用无监督学习方式进行模型训练,能够生成清晰的样本,避免了损失函数设计的困难。CHEN等提出了一种基于GAN的图像去雾算法名为GCANet,它是一个端到端的网络,利用平滑卷积代替了扩展卷积从而解决了网格伪影的问题。
研究
基于深度学习的去雾算法当前主要有两个研究方向,一是以大气散射模型为基础,通过神经网络估计或者还原其中的某些参数从而在原模型中求解得到清晰图像,二是直接使用以有雾图像作为输入,去雾图像作为输出的端到端的 CNN神经网络模型,直接得到清晰图像。
可以看出目前基于深度学习的去雾算法主要针对多场景适用性、对浓雾图像和团雾图像的还原效果,以及如何模拟真实雾天图像进行改进,而且模型越来越注重实用性,向着轻量级网络靠拢。
去雾算法比较
数据集介绍
在去雾算法发展的过程中出现了一系列去雾算法数据集,从数据集的来源可以分为人工合成和真实雾天数据集。人工合成数据集通常利用各种场景的高清图像以及它们的深度图。然后基于图像的深度信息和和雾天图像的统计特征或者雾介质模型对高清图像进行模糊处理,创建相应的带雾场景图像,这也是目前在去雾算法领域应用最多的数据集创建方式。人工合成去雾数据集有 NYU Depth 、 RESIDE 、RESIDE-beta、Middelbury 和 D-HAZY 数据集。其中D-HAZY 数据集是在 NYU Depth 和 Middelbury 数据集的基础上利用雾介质模型创建相应的朦胧场景。目前计算机视觉的权威机构并没有公开真实雾天数据集。大气光照和场景变化的限制采集真实雾天数据集变得及其困难,目前所能搜集到的真实雾天图像数据存在数据量小,静态场景居多以及朦胧图像与清晰图像场景匹配度低等缺陷,单独应用此类数据集无法进行去雾算法的测试分析。
评价指标
本文采用主观评估和客观评估两种评估方式对典型去雾算法进行评估。主观评估是依靠人的视觉系统
给予图像变化的主观评价,往往带有个人主观色彩。客观评估利用数学模型建立不同的评价指标对图像的
亮度、信息量和色彩饱和度等进行评估,有效避免了主观评估的缺陷。客观评估主要分为全参考评估、减
参考评估和无参考评估。全参考评估以原始图像作为依据,将还原后的图像与原始图像的各项指标进行对
比从而得出图像评分。
常用的全参考评估方法有均方差法(Mean Squared Error, MSE)、峰值信噪比(PEAK
**Signal to Noise Ratio, PSNR)和结构相似度(SSIM)**等。
减参考评估不仅考虑图像的数据特征还要考虑评估标准的准确性,是一种较难控制的评估标准。
由于减参考评估的场景依赖和不方便控制的特点,本文采用全参考评估和无参考评估两种方式对还原图像进行评估。具体评估指标包括 MSE、 SSIM、Tenengrad 梯度函数和图像信息熵。四种评价指标及其的意义和特点如表 2 所示。