单幅图像去雾算法研究综述

2022-02-24 12:31郑凤仙王夏黎何丹丹李妮妮付阳阳袁绍欣
计算机工程与应用 2022年3期
关键词:均衡化先验直方图

郑凤仙,王夏黎,何丹丹,李妮妮,付阳阳,袁绍欣

长安大学 信息工程学院,西安 710064

随着计算机视觉的发展,图像处理技术在生活和科研领域应用广泛。同时伴随神经网络和深度学习技术的革新,高质量图像已经成为系统正常且高效运行的关键。卷积神经网络和深度学习算法也在图像处理方面表现出优秀的学习能力,在目标检测、目标跟踪、自动驾驶、无人机检测等研究领域得到广泛研究与应用[1-3]。在雾或霾等天气情况下,室外空气中存在大量的微小悬浮颗粒会对光产生折射和散射,经折射和散射后的光线与待观察目标反射后的光线混合,造成户外图像采集设备捕获的图像清晰度和对比度大幅度下降,甚至会造成图像色彩偏移,细节大量丢失的现象,从而无法获取真实的图像信息[4-6]。因此,需要对此类图像进行去雾,增强图像信息,保证系统正常运行。

近年来,众多科研机构从多个方向对带雾图像和去雾算法进行研究,出现了众多去雾算法。根据输入图像个数的不同可以分为单幅或多幅图像去雾算法。多幅图像去雾算法数据获取困难,因此实际应用较少。单幅图像去雾算法应用广泛,例如:直方图均衡化,基于暗通道先验、滤波和深度学习算法等[7]。从图像处理原理角度出发可将算法分为三类。此三类算法分别为:基于物理模型、基于非物理模型和基于深度学习去雾算法。

基于物理模型的去雾算法主要考虑雾的成像原理,考虑光的散射和衰减然后建立模型。大气散射模型主要由入射光衰减模型和大气光成像模型构成,通过对捕获的图像光线进行分析,根据光的散射作用和大气光学模型对获取图像的过程进行建模,从而分解出其中的去雾图像。其中比较经典的是HE等人在2009年提出的基于暗通道先验的图像去雾算法[8]。通过对5 000多张清晰图像和有雾图像进行图像特征的统计分析,提出了暗原色先验理论,找到了清晰图像和大气物理模型的映射关系。是目前最稳定的去雾算法。

基于非物理模型的去雾算法通过增强图像细节,强化图像边缘,从而得到更多细节信息达到去雾效果。具体算法包括:直方图均衡化、色阶增强算法、Retinex算法、小波和曲波变换等。Retinex去雾算法最大的特点是颜色的常恒性,即认为人眼感知到的物体的颜色和亮度只与光和物体的相互作用有关。直方图均衡化算法通过均匀化图像灰度分布,增强视觉对比度达到去雾目的。小波变换是通过将原始信号分解为具有不同频率特征和方向特征的子信号,通过局部特征对图像进行局部化处理使得图像在多个尺度增强进而放大有用信息达到增强图像的目的。

基于深度学习的去雾算法使用CNN网络建立一个深度学习模型,利用神经网络的学习能力估计出一些参数从而达到去雾目的。目前有两种基于深度学习的去雾算法研究广泛。一种是利用深度学习方法估计大气物理模型的一些参数从而还原图像。如DehazeNet等去雾模型将暗通道先验、最大对比度、颜色衰减和色度不一致四种方法结合设计网络,估计雾霾参数,从而得到清晰图像。一种是利用对抗神经网络直接寻找带雾图像和清晰图像的关系建立模型进行图像还原,如GCANet等去雾模型直接输入雾霾图像经过编码和解码网络还原出清晰图像。

1 物理模型去雾算法

1.1 大气散射模型

大气散射模型由大气散射理论[9]发展而来。该模型由McCartney正式提出,之后又由Narasimhan等人进行了进一步总结[9-10]。大气散射模型如图1所示。该模型认为入射光衰减和散射介质影响是导致图像质量下降的主要因素。

图1 大气散射模型Fig.1 Atmospheric scattering model

大气散射模型的数学描述如公式(1)所示:

其中,大气透射率为t(x)=e-βd(x),观察目标的反射光为J(x)=L∞ρ(x)d2,大气光系数为A∞。可以看出,J(x)即为所求去雾后的图像,只需估计出大气光系数A∞和透射率t(x)即可计算得出去雾图像。

1.2 基于暗通道先验的去雾算法

He等在2009年提出的基于暗通道先验的去雾算法[8]是第一个将暗通道先验与大气散射模型结合进行去雾的方法。其数学表达式为:

其中,C为R、G、B三个通道的某一通道。由矩形区域Ω(x)中最小灰度值代替中心点像素灰度值便可得到暗通道图像。假设透射率为一个定值,根据公式(1)对公式(2)进行归一化,并引入暗通道先验理论可以估计出t0和Ac的值。

暗通道先验算法以稳定、高效的特点成为目前发展最快、应用最广泛的图像去雾算法。因此后续出现了一系列的改进算法[8,11-26]。针对强光图像容易失真的问题,赵锦威等[13]通过支持向量机的方式和块偏移方式计算更准确的透射率,从而减少光晕像素量,但对于色彩分布不均的图像容易产生色彩偏差以及块状效应。陈高科等[14]通过高斯函数、光晕算子和形态学膨胀描述大气光值,消除强光的干扰,但对大面积白色区域去雾效果容易产生较大偏差。直到2019年杨燕等[15]提出的自适应线性透射率估计算法能够准确估计大气光的透射率,去雾效果良好,但是算法在浓雾图像表现方面局限性较大。后续更有文献[16-26]中提及的将滤波算法、图像分割算法与暗通道结合的方式将图像分为不同区域分别进行去雾然后再进行归一化整合。如Jiang等[20]在2020年提出的在HIS颜色空间利用光强分量和引导滤波消除图像去雾产生的天空颜色失真问题,但是合成图像切割边界明显。Li等[21]在2021年提出的基于阈值的天空区域分割算法,算法对天空区域进行较好还原,但是算法复杂度过高。Sabir等[25]和李娜等[26]在2021年设计的实时性去雾算法对视频去雾的发展产生了重要影响,但是其去雾算法的质量相对于其他算法有明显的下降。

分析基于暗通道的去雾算法的发展可以看出,此类算法对天空区域去雾效果无法达到正常去雾要求,容易产生光晕和颜色失真等现象,并且算法的使用对光强有着较高的要求。后续的改进算法也主要针对这些方面。针对强光与弱光的改进算法主要使用更加精准估算透射率来达到目的,但是对于色彩不均和带有浓雾或团雾的图像容易产生块状效应。对于去除天空区域影响的分割类算法虽然可以使天空区域的还原程度更高,但是同时也会对图像的完整性和连续性产生较大影响,在归一化时无法有效还原切割点附近图像的连续性。对于实时性算法而言,虽然算法的时间复杂度有一定程度的降低,但是图像的质量更加难以保证。可以看出针对单个问题的改进并不能满足该领域对去雾算法的需求。

1.3 基于物理模型补充算法

基于物理模型的去雾算法因有科学理论支撑在去雾算法研究方面百花齐放。基于物理模型的图像去雾算法基本是以大气散射模型作为理论基础,通过不同先验理论或方法估算模型的各个参数,从而通过代入参数计算得到去雾图像。目前除了暗通道先验算法还有颜色衰减先验去雾算法[27-35]、交互式去雾算法[36-40]、基于偏振特性的图像去雾算法[41-46]等。

颜色衰减先验的算法是基于物理模型去雾算法中除基于暗通道先验方法之外应用最多的算法。其根本依据是室外图像的亮度和饱和度之差与雾浓度呈现正相关。由此规律可以得到大雾图像的透射率从而得到去雾图像。如黄鹤等[34]利用HSV颜色空间计算像素衰减率,然后利用多级权重求出大气透射率,从而对图像进行增强,但是图像边缘不符合先验假设规律,去雾效果不好。Yang等[35]利用图像亮度和饱和度的线性关系使用机器学习的方法求取景深信息,然后利用大气散射模型还原图像,达到一定的去雾效果,但是算法不稳定。使用该方法复原的清晰图像色彩自然,但在景深变化处容易出现雾残留等问题。

交互式去雾算法采用交互方式,通过附加一些主观判断作为先验信息,从图像中估计出景物深度进行对比度增强,实现了图像去雾。如芮义斌等[36]利用天空区域最大亮度作为天空辐射强度,并使用消失点估计景点深度进行图像还原。但是交互式去雾算法在实际中应用较少,主要原因是场景深度信息在实际中是未知的,估算方法目前不够完善容易产生较大的偏差。

基于偏振特性的图像去雾算法不考虑先验信息的影响,通过不同光照下的多幅图像来估计模型参数从而得到去雾图像。如代晴晴等[46]设计了一种自动估计参数的偏振特性去雾算法,使用不同光学特征的三幅图像自动估算参数从而得到去雾图像。基于大气光偏振特性的去雾方法运用广泛,可实现各种类型的有雾图像进行去雾。与交互式去雾方法类似,基于偏振特性的图像去雾算法计算过程中同样需要估计未知大气条件标定信息,估计成本过大、过程繁琐导致实际运用难度较大。

1.4 研究现状分析

基于物理模型的去雾算法基于图像的成像原理和雾天光线衰减原理,通过利用大量实验得到的先验知识进行降质图像还原。基于暗通道先验和颜色衰减先验的去雾算法目前应用广泛。

基于对基于物理模型的代表算法的发展进行分析得出算法目前的适用场景和局限性。基于暗通道的去雾算法去雾效果依赖于图像的结构特征,适用于俯视角度拍摄的薄雾图像,并且后续处理对图像的颜色还原程度要求不高的情况。而对包含强光、浓雾、团雾等元素的图像还原性较差。基于颜色衰减先验的算法依赖于图像的颜色饱和度,适用于背景鲜艳的薄雾图像或者带有少量的团雾图像,对于颜色失真严重并且图像梯度结构不明显的图像算法表现较差。基于偏振特性和交互式去雾算法因其自身对景深信息和大气信息的依赖程度较高,所以去雾效果并不理想,实际应用较少。

总体而言,基于物理模型的去雾算法的视觉效果较好,去雾过程没有增加多余噪声,但是场景限制严重。而为了达到更好去雾效果,摆脱基于单个先验知识的局限性,研究人员开始采用多种去雾方法相结合的去雾算法,打开了图像去雾领域的新篇章。如2020年徐浩等[47]利用超像素分割和暗通道先验获得不规则区域代替固定窗口避免了块效应问题,弥补了暗通道先验算法对团雾图像还原效果差和分割线连续性差的问题。2021年庄秀玲等[48]引入导向滤波精细化透射率图和加权最小二乘法保留边界信息,解决了图像边缘白色光晕和填空区域失真问题。可以看出多种方法结合的改进去雾算法优于基于单种去雾算法的改进算法,但是同时增加了算法的复杂度,实时性较差。

2 非物理模型去雾算法

2.1 直方图均衡化算法

直方图是图像中各级灰度值出现频率的统计图,可以直观展示图像灰度级分布、对比度和明暗情况。该算法主要是通过非线性变换使图像灰度值集中部分对比度增强,灰度值稀疏部分对比度减弱使得图像整体灰度值分布平缓,从而实现去雾效果。算法首先统计各灰度级出现的频率并计算其分布函数,然后将结果进行非线性变换重新将灰度值重新映射到(0,255)之间。其线性变换过程为:

其中,L为图像最大灰度级,s x为灰度分布函数。

传统的直方图均衡化算法虽然能达到一定的去雾效果但是存在局部过度增强和光晕现象。为此提出了基于局部的直方图均衡化算法,但是这类算法同样存在算法复杂度高、色差严重等问题。目前自适应直方图均衡化在去雾算法中应用广泛。如基于插值直方图均衡化算法[49-53]、局部非重叠子块的直方图均衡化算法[54]以及近年来发展迅速的自适应直方图均衡化算法(CLAHE)[55],能有效提高算法的效率和效果。但是基于直方图均衡化的去雾算法相对较少,主要是因为直方图均衡化算法只基于图像的灰度分布特征,需要人为调整参数,而且去雾过程容易产生其他噪声影响。可以看出直方图均衡化算法在去雾方面的主要问题是算法鲁棒性差,不够灵活,而且容易产生所需细节外的噪点,这也是直方图均衡化算法发展的难题。该算法未来的研究方向是使得算法能更灵活地适用于差距比较大的图像,但是同时算法的复杂程度也会进一步增加。

2.2 Retinex去雾算法

Retinex理论[56]最早由Land等提出,它是以人类的视觉特性描述自然界物体恒常性的模型,即物体的色彩不受非均匀光照等大气因素的影响具有一致性。基于Retinex理论,光线首先由光源发出然后经过带观测物体反射,最后射入相机中,其光照模型如图2所示。

图2 Retinex成像模型Fig.2 Retinex imaging model

根据Retinex理论可以得到观测点成像的数学表达式为:

其中,S(x,y)表示观测点最终观测结果,L(x,y)表示入射光图像,R(x,y)表示带观测物体的反射性质。

单尺度Retinex算法(single scale Retinex,SSR)是Retinex理论中最有代表性的方法,算法核心和难点是采用高斯模糊来评估L(x,y)。SSR算法假设光照平滑变化但是实际中光照在物体边缘处变化是非平滑的,因此SSR算法虽能复原带雾图像,但是容易产生光晕影响。为此Jobson等提出多尺度Retinex(multi-scale Retinex,MSR)算法[57],该算法通过对多尺度所得r(x,y)取加权均值作为最终结果,最经典的算法是取3尺度等权重即权重取1/3。

但是MSR算法在解决光晕影响的同时也会产生颜色失真的问题,针对这项不足,Jobson等提出带色彩恢复的多尺度Retinex算法[58](multi-scale Retinex with color restore,MSRCR),此算法引入了色彩恢复因子,对色彩失真图像进行恢复弥补了MSR的不足。由于Retinex系列算法在提高图像的可用信息量方面产生了较好的效果,后续出现众多改进算法。可以看出Retinex算法在发展过程中对颜色的恢复和图像特征的还原都取得成功的进展,尤其是MSRCR算法对薄雾和部分团雾图像都能进行较完整的还原,并且图像的视觉效果良好,但是算法复杂度过高。之后有研究人员将下采样引入Retinex算法如文献[59-64],降低了还原图像的时间成本,但是同时图像还原效果受到影响。

2.3 小波和同态滤波算法

小波变换具有多分辨率的特点,用不同的尺度将原始图像信号进行局域分解,进而得到图像的低频和高频特征,并且具有完善的重构能力。因为雾霾主要影响的是图像信号的低频部分,所以在使用小波变换进行去雾时需要抑制图像的低频信号部分,相对增强图像的高频信号,从而达到去雾的目的。因为小波变换需要对图像信号进行多尺度处理,所以直接使用小波变换对RGB各通道进行处理然后归一融合难免产生失真,所以利用小波去雾主要对图像在HSV空间的亮度信息进行小波变换。比如周树道等[65]和Liu等[66]基于小波变换原理使用小波变换对图像高低频亮度分别进行增强和抑制,然后进行颜色恢复,从而达到去雾目的。以及文献[67]和[68]通过小波变换对低频光谱进行近似去雾保留高频区域,进行图像去雾。

同态滤波同样对图像信号进行分解,主要解决照度不均或者灰度范围过大影响图像对比度低、颜色失真等问题。与小波变换不同的是同态滤波结合频率过滤和灰度变换两种技术,把图像的照度反射模型作为频域处理的基础,对图像灰度范围进行调整,增强图像暗区域细节信息。比如Zhang等[69]基于同态滤波原理,对图像中低频亮度区域抑制处理,对高频亮度进行增强,从而增强图像细节,达到去雾效果。

在图像去雾算法中单独的小波变换和同态滤波一般很难达到理想效果,所以往往将小波变换或者同态滤波方法与其他去雾算法相结合,从而在保证视觉效果的同时,得到更多图像信息和轮廓信息。如文献[70-75],利用小波变化和同态滤波结合图像颜色和梯度特征等信息设计去雾算法,比单独使用小波变化和同态滤波算法得到的去雾效果好,并且可以适用于多个场景。

2.4 研究现状分析

基于非物理模型的去雾算法主要利用图像本身的数学特征和统计特征进行还原。无论是基于直方图均衡化的算法、Retinex去雾算法还是小波变换和同态滤波算法其本质都是经过一定的统计和变换将原图像的细节特征进行放大,其本质都属于图像增强手段。

其中直方图均衡化算法是运算效率最高,原理最简单的方法,而且能够增强图像亮度和对比度。但是算法鲁棒性差,不够灵活,而且容易产生额外噪声。该算法适用于需要亮度增强或分辨率较高的薄雾图像。但是对团雾图像进行增强时限制较大。未来的研究方向是使得算法能更灵活地适用于差距比较大的图像,但是同时算法的复杂程度也会进一步增加。Retinex算法目前发展比较完善,尤其是MSRCR算法在团雾、浓雾和光线较暗的情况都有良好表现,并且视觉效果较好。但是Retinex系列算法时间和空间复杂度较高,无法在要求实时性的场景下使用。虽然目前已经出现了一系列改进算法。但是并不能有效解决实时性的问题。小波变换和同态滤波算法都是以数学函数为基础,将图像看成信号,然后对其进行分解,从而选出需要的部分。此类算法依赖于参数选择,在不同光强和背景条件下的条件参数不同,此种方式一般不能单独应用于图像去雾领域。

与基于物理模型的去雾算法类似,多种算法结合的去雾算法,能有效弥补单个算法的不足。比如Ji等[76]通过修改光照分量来增强图像整体的对比度,并利用非线性函数对反射分量校正,提高了Retinex算法的运算效率。杨爱萍等[77]、Li等[78]和Liu等[79]提出的基于Retinex和暗通道先验结合的去雾算法,不仅对于正常光照下的带雾图像有较好的恢复作用,同时还可以有效还原雾霾图像。高古学等[80]将自适应直方图均衡化算法与MSRCR算法结合,针对沙尘图像有较好的恢复作用。可以看出,基于直方图均衡化算法和滤波算法主要作为辅助算法与其他去雾算法结合使用,以提高其他算法的鲁棒性和多场景适应性。并且为了提高去雾算法多场景适用性研究人员将先验知识与图像增强相结合,除了上述改进方法外更是出现了结合多种先验知识和增强手段的去雾算法。

3 深度学习去雾算法

3.1 DehazeNet去雾算法

深度学习算法因为其强大的学习能力和算法准确率高的特点在计算机视觉的各个领域得到广泛应用。Cai等提出了一种名为DehazeNet[81]的End-to-End去雾系统,将有雾图像作为输入,其以透射图作为输出,然后利用大气散射模型进行图像的还原。DehazeNet算法结合暗通道先验去雾算法、最大对比度去雾算法、颜色衰减先验算法和基于色度不一致的去雾算法四种传统算法的特征进行网络结构设计。网络结构如图3所示。模型分为四个部分:特征提取、多尺度映射、局部阈值和非线性回归。

图3 DehazeNet网络结构图Fig.3 Dehazenet network structure diagram

DehazeNet算法将传统去雾算法与深度学习算法相结合,为图像去雾的研究开创了新思路。以其为代表的基于大气散射模型的深度学习算法近年来发展迅速。首先,DehazeNet算法出现了一系列改进算法如文献[82-88],主要将滤波算子或者混合学习的方式与传统DehazeNet算法相结合,使训练模型输出更加接近真实效果。其次,Zhang等[89]在2018年提出的DCPDN算法,采用阶段式训练和与生成器和判别器原则将语义分割知识应用于去雾领域,为深度学习去雾模型的发展做出了重要贡献。基于大气物理模型的去雾模型在视觉和天空给区域改进较大,相对于传统的基于物理模型的去雾算法效果显著,但是参数数量激增和大气因素的不确定性导致图像亮度会相对变暗实时性差。后续发展多引入残差网络对此类模型进行优化。如李硕士等[90]2021年提出基于自适应机制的连接模块增强对图像像细节的还原能力。同年杨振舰等[91]利用残差模块和空洞卷积改善还原过程中颜色失真和去雾不彻底的问题。

3.2 GCANet算法

因为生成对抗神经网络(GAN)的出现,其采用无监督的学习方式进行训练,能够生成清晰真实的样本,避免了损失函数设计的困难。Chen等[92]提出了一种基于GAN的去雾算法名为GCANet(gated context aggregation network)。GCANet是一个端到端的模型,重点在于利用平滑卷积代替了扩展卷积从而解决了网格伪影的问题。

GCANet的网络结构如图4所示。该网络主要利用三个卷积模块作为编码部分,在编码和解码之间加入数个平滑卷积层,使得输入特征层和输出特征层保持局部相关性。GCANet直接使用以有雾图像作为输入,去雾图像作为输出直接得到清晰图像,为去雾算法的发展产生重要影响。后续出现了一系列的基于图像信息的去雾模型。Li等[93]提出的AODNet采用轻量卷积神经网络结合大气散射模型直接生成清晰图像。Ren等[94]提出一种基于门限融合网络的去雾算法,对图像还原产生的光晕抑制效果明显。之后更是出现了一系列改进算法。2021年肖进胜等[95]以GAN模型为基础设计了沙漏型生成器网络结构完成有雾图像和无雾图像的转换。同年,Engin等[96]通过结合周期一致性和感知损失来增强CycleGAN公式,以提高纹理信息恢复的质量,并生成视觉上更好的无雾图像。Mehta等[97]结合图像光谱理论和对抗网络产生更好的视觉效果。可以看出,摆脱假设先验条件只依赖图像自身结构是此类模型的主要特点。模型不需要通过大量的计算得到假设的条件参数,极大减少了计算过程中的误差。但是由于去雾场景的复杂性和对样本的依赖性模型参数进一步增加,并且数据集成为此类算法发展的最大限制条件。

图4 GCANet的网络结构图Fig.4 Network structure diagram of GCANet

3.3 研究现状分析

基于深度学习的去雾算法当前主要有两个研究方向,一是以大气散射模型为基础,通过神经网络估计或者还原其中的某些参数从而在原模型中求解得到清晰图像,二是直接使用以有雾图像作为输入,去雾图像作为输出的端到端的CNN神经网络模型,直接得到清晰图像。

前者利用深度学习算法可以将多种先验条件与图像增强算法结合,增强了图像还原视觉效果,相对于基于单个先验知识的去雾算法图像亮度明显增强,具体分析主要在第4章实验分析体现。大气散射模型参数和假设先验规律的限制,通常需要多种假设先验和参数共同计算才能得到优于传统基于大气模型去雾算法的效果。但是参数量也成倍增加,同时因当前去雾数据集场景的限制,算法的稳定性也需要进一步提高。而后者摆脱了模型对先验条件的依赖减少了大量的参数,但是同时对数据的要求也更加高,限制了模型的应用场景。端到端的图像还原模型是目前研究的热点,后续也出现了一些结合性去雾模型。如2020年黄文君等[98]利用模糊图像的低秩特性和字典矩阵的表达方式对浓雾图像还原效果优于其他算法。同年孙斌等[99]结合FC-DenseNet模型和对抗网络WGAN模型,对真实雾天图像的还原效果优于其他算法。刘广洲等[100]采用多层密集连接网络避免梯度消失现象。除此以外双目视觉和语义分割知识也被应用于图像去雾领域如文献[101-107]。如2021年Dong等[101]提出的基于U-Net的多尺度图像增强网络提高了还原图像的效率。可以看出目前基于深度学习的去雾算法主要针对多场景适用性、对浓雾图像和团雾图像的还原效果,以及如何模拟真实雾天图像进行改进,而且模型越来越注重实用性,向着轻量级网络靠拢。

4 去雾算法综合评价与分析

基于对去雾算法的分类思路和经典算法的介绍,可以对不同去雾算法从原理、适用场景、优势以及局限性进行归纳介绍,如表1所示。本章将进一步对算法的特点等内容进行实验验证和量化分析。

表1 去雾算法对比分析Table 1 Comparative analysis of defogging algorithms

4.1 数据集介绍

在去雾算法发展的过程中出现了一系列去雾算法数据集,从数据集的来源可以分为人工合成和真实雾天数据集。人工合成数据集通常利用各种场景的高清图像以及它们的深度图。然后基于图像的深度信息和雾天图像的统计特征或者雾介质模型对高清图像进行模糊处理,创建相应的带雾场景图像,这也是目前在去雾算法领域应用最多的数据集创建方式。常见的人工合成去雾数据集有NYU Depth、RESIDE、RESIDE-beta、Middelbury和D-HAZY数据集。其中D-HAZY数据集是在NYU Depth和Middelbury数据集的基础上利用雾介质模型创建相应的朦胧场景。是目前使用最广泛的去雾数据集。目前计算机视觉的权威机构并没有公开真实雾天数据集。大气光照和场景变化的限制采集真实雾天数据集变得及其困难,目前所能搜集到的真实雾天图像数据存在数据量小,静态场景居多以及朦胧图像与清晰图像场景匹配度低等缺陷,单独应用此类数据集无法进行去雾算法的测试分析。一般会在现有人工合成数据集中添加一些真实场景的朦胧图像以检测算法的精确性和鲁棒性。本文实验采用使用最广泛的D-HAZY数据集。

4.2 评估标准

本文采用主观评估和客观评估两种评估方式对典型去雾算法进行评估。主观评估是依靠人的视觉系统给予图像变化的主观评价,往往带有个人主观色彩。客观评估利用数学模型建立不同的评价指标对图像的亮度、信息量和色彩饱和度等进行评估,有效避免了主观评估的缺陷。客观评估主要分为全参考评估、减参考评估和无参考评估。全参考评估以原始图像作为依据,将还原后的图像与原始图像的各项指标进行对比从而得出图像评分。常用的全参考评估方法有均方差法(mean squared error,MSE)、峰值信噪比(peak signal to noise ratio,PSNR)和结构相似度(structrual similarity index measurement,SSIM)等。减参考图像评价方法则利用原始图像部分信息与还原图像进行对比从而计算还原程度。常用Gaussian分布、Laplace分布和小波系数等特征建立评估模型,不仅考虑图像的数据特征还要考虑评估标准的准确性,是一种较难控制的评估标准。无参考图像质量评估不会依据原始图像,模拟视觉系统直接对单一图像进行评估。无参考评估主要利用自然统计特性对图像进行评估。常用的无参考评估指标有图像信息熵、Brenner梯度函数、Tenengrad梯度函数和Laplacian梯度函数。由于减参考评估的场景依赖和不方便控制的特点,本文采用全参考评估和无参考评估两种方式对还原图像进行评估。具体评估指标包括MSE、SSIM、Tenengrad梯度函数和图像信息熵。四种评价指标及其的意义和特点如表2所示。

表2 四种客观评估指标Table 2 Four objective evaluation metrics

4.3 实验结果与分析

对上述的基于暗通道先验去雾算法、直方图均衡化算法、MSR算法、MSRCR算法、小波变换算法、DehazeNet算法和GCANet算法进行了测试实验,选择了3张特征明显的带雾图像进行实验验证。实验效果图如图5至图7所示。

图5 各算法薄雾图像去雾示例图Fig.5 Example haze image defogging with different algorithms

图7 各算法团雾图像去雾示例图Fig.7 Example image of each algorithm for cloud image defogging

4.3.1 算法时长评估

实验计算机采用Intel Core i5-10400F(单核主频2.90 GHz)的CPU和16 GB内存,以及NVIDIA GeForce GTX 1660s的GPU。在此设备上进行7种算法的验证实验。算法所用时长如表3所示。

从表3可以看出基于物理模型和非物理模型的去雾算法在算法时长方面平均表现优于基于深度学习的去雾算法,尤其表现在高分辨率图像上。但是GCANet算法在实时性方面具有良好的表现,明显优于MSR算法和MSRCR算法。主要原因是MSR和MSRCR算法采用多尺度以及多个高斯卷积核进行计算,增加了算法的时间复杂度。但是对于其他算法,基于深度学习的算法明显在实时性方面较差,其主要原因是基于深度学习的算法在计算过程中需要巨大的参数数量,从而导致计算时间较长。

表3 不同算法的处理时长Table 3 Computation time of different algorithms

4.3.2 算法精度评估

对实验包含的7种算法的去雾效果进行主观评估,则由图5至图7可以得到如下结论。基于暗通道的去雾算法虽然可以使图像在视觉效果上更加清晰,但是图像整体变暗,而且在有天空背景的图像上容易产生光晕,如图6(b)所示,不适用于亮度较低和仰视角度的带雾图像。基于小波滤波的去雾算法保持了良好的图像亮度,但是图像对比度增加过于明显,视觉效果一般。基于MSR的算法在去雾图像模糊方面表现不错,但是结果图像会产生色差导致视觉效果较差,如图5(d)和图6(d)所示,但是对团雾处理效果较好,如图7(d)所示。基于MSRCR的算法在MSR算法的基础上对色彩进行了还原,并且图像的亮度和对比度都具有明显的改善如图5(e)、图6(e)和图7(e)所示。基于直方图均衡化的去雾算法虽然增强了图像的对比度,但是会产生较多的噪声对后续图像处理工作将产生较大影响,在图7(f)上表现明显。基于深度学习的去雾算法在图像去雾方面都表现良好,相对于其他算法在色彩饱和度,和视觉效果方面具有较大优势。其中,DehazeNet去雾算法会使得图像亮度稍微减弱如图5(g)、图6(g)、图7(g)所示。

图6 各算法俯视薄雾图像去雾示例图Fig.6 Example of mist removal from top view of mist image of each algorithm

利用全参考评估指标和无参考评估指标对7种算法进行评估。对实验结果进行可视化如图8至图10和图11分别为MSE、SSIM、图像信息熵和Tenengrad梯度函数这4种指标在3张图像上的评估结果折线图。关于去雾后的图像与原始图像进行对比分析,可以从图8和图9可以得出MSRCR方法的稳定性最好,在3张测试图像上都有较明显的表现。7种去雾算法在薄雾俯视图上表现最好相对原图像的偏移程度较大,图像相似度较低。而在带有团雾的图像中7种算法均表现较差,结构相似程度和均方差都没有太大的变化。其主要原因可能是在团雾图像中雾对图像信息的遮挡呈现无规律的特点,并且某些地方遮挡严重造成图像信息损失严重。对单幅图像进行质量评估可以从图10和图11看出小波变换和直方图均衡化是除了深度学习方法外,图像质量改变最明显的方法。但是从主观评价可以看出这两类算法都放大了图像噪声,增加了一部分无用细节。基于深度学习的方法在增强图像的信息和改变图像的梯度结构方面都具有良好的表现,其中GCANet方法对图像质量的提升明显优于DehazeNet,其主要是因为GCANet方法在计算过程没有使用先验信息作为参考,图像原本的亮度并没有降低。MSR图像去雾方面表现得不够稳定,容易产生色差,丢失关键信息。而MSRCR则表现优于MSR,相对于MSR能在去雾过程中保留更多的图像信息。综上,经过主观和客观两个方面对7个典型去雾算法进行分析,可以得出基于深度学习的算法是目前最稳定的,也是效果最后的去雾算法,同时也是去雾算法当前研究的主流算法。

图8 MSE指标折线图Fig.8 MSE metric line chart

图9 SSIM指标折线图Fig.9 SSIM metric line chart

图10 信息熵指标折线图Fig.10 Entropy metric line chart

图11 Tenengrad指标折线图Fig.11 Tenengrad metric line chart

5 结论与展望

本文去雾算法主要从物理模型、非物理模型和深度学习算法3个方面进行研究的。基于雾模型的图像去雾算法主要基于大气散射模型,主要考虑在成像过程中雾或霾对图像质量的影响,然后通过损失参数对图像进行还原。非物理模型直接分析图像信息和细节,通过不同的方法直接对图像进行增强,从而使图像变得清晰。基于深度学习的方法则利用神经网络搭建深度学习模型,要么基于大气模型估计其中参数,要么直接寻找带雾图像与清晰图像的对应关系进行图像还原。此3类去雾算法对雾天图像都有着不同程度的复原作用,其中某些算法已经得到了广泛的应用,但是目前去雾算法还存在以下的研究重点和难点:

(1)设计时间复杂度和空间复杂度低的算法。虽然目前的算法对单张带雾图像有较好的还原效果,但是算法复杂度高,运行效率慢,不适用真实场景和视频去雾。所以设计高效率的去雾算法是整个去雾领域研究的难点。目前针对视频的去雾算法主要基于暗通道算法。而且为了满足算法的实时性要求,通常要对原有图像进行下采样处理,容易丢失图像信息。针对此问题,今后可以设计轻量级深度学习模型,或者根据不同情况对现有模型进行压缩,同时采用多种算法结合的方式进行图像去雾,将有效避免此类问题。

(2)制作大量真实户外场景下的雾天数据集困难。深度学习算法有很强的学习能力但是其对数据集的要求很高,目前应用比较广泛的去雾数据集主要基于室内场景,还没有室外场景下高质量的数据集,这也是深度学习去雾算法发展的限制,也是待突破的难点。针对室外数据集采集的情况目前只能依靠大量人力和物力解决,未来可以利用人工智能模拟真实户外情况,使得模拟效果与真实情况的差距不会影响实验结果就可以节省大量人力物力。针对数据不足的问题一方面可以采用已有的图像处理技术对现有数据集进行镜像、旋转等变换进行数据集扩展。一方面可以改进迁移学习和自监督学习方式将其应用于图像去雾的深度学习模型中,从而解决样本的问题。

(3)提升模型的训练速度和鲁棒性。深度学习的快速发展使得基于深度学习的去雾算法百花齐现,但是同样存在去雾效率低、适用场景单一的问题。目前大多数学者更加关注模型的去雾效果和视觉效果,如何进一步提高模型的训练效率和算法的鲁棒性也是今后研究的重点。针对模型的训练速度同样可以引入迁移学习和监督学习,改善训练数据的质量,从而提升模型训练速度。针对算法的鲁棒性问题可以采用深度学习和图像处理多种算法相结合的方式,对不同的样本选择最适用的处理流程,增加算法的鲁棒性。

猜你喜欢
均衡化先验直方图
符合差分隐私的流数据统计直方图发布
BOP2试验设计方法的先验敏感性分析研究*
基于FPGA的直方图均衡图像增强算法设计及实现
用直方图控制画面影调
基于自适应块组割先验的噪声图像超分辨率重建
中考频数分布直方图题型展示
基础教育均衡化的实施对于现阶段教育发展的重要性
先验的风
基于平滑先验法的被动声信号趋势项消除
制度变迁是资源均衡化的关键