1. 引言
近几年,在现实生活中,雾天图像给人类带来了很多困扰,如视觉效果不佳、影响交通和通讯等。为了解决这些问题,去雾技术被广泛地应用在了计算机视觉和人工智能领域中。从而图像去雾技术成为了一个研究热点 [1] [2] 。图像去雾处理是图像处理领域中的一个重要组成部分,在机器视觉领域中起着重要的作用,其主要任务是去除雾天气下获得的图像退化现象 [3] 。目前,已经有很多研究者针对雾霾天气下的图像进行了去雾处理,并取得了不错的效果 [4] ,比如Faber等人 [5] 提出了一种基于Retinex图像增强的改进后的去雾算法。新颖之处在于采用了一种新的全局光照模型对雾霾天下的图像进行全局光照处理;然后将经过全局光照处理后的图像分类,并对这些部分采用不同的去雾方法进行处理;最后将这些去雾方法得到的结果进行融合,得到最终的去雾图像。实验结果表明,该算法仅能有效地去除雾霾天气下图像中出现的光晕等退化现象。Tarel等人 [6] 提出了一种基于深度学习和多尺度特征融合的图像去雾算法。该算法简化了物理模型,但是该方法容易在天空区域产生曝光或失真现象。He等人 [7] 提出了一种暗通道先验去雾方法,通过获取有雾图像中的暗通道信息来估算大气光值和初始传输图,进而求得大气散射模型,从而实现了去雾。然而,该算法使用软抠图方法 [8] 或引导滤波,这导致算法的计算量较大。而且易过高的估算雾的浓度,导致天空区域产生偏色 [9] 。Tang等人 [10] 利用随机森林模型研究有雾图像的特征信息来进行学习以此来对有雾图像进行去雾处理。Cai等 [11] 人提出了一种基于深度学习的端到端的去雾方法,利用卷积神经网络 [12] [13] 来学习雾天图像特征。Likhitaa等人 [14] 使用合适的分类算法检测有雾图像,然后对其进行去雾,得到相应的清晰图像。Zhang等人 [15] 提出了一种基于CNN (Convolutional Neural Network)网络的端到端的去雾神经网络 [16] [17] ,使用注意力机制来获取图像信息。Engin等人 [18] 提出基于GAN网络模型的去雾方法,并结合周期一致性和感知损失增强去雾效果。Chen等人 [19] 采用了卷积神经网络来对有雾图像多尺度特征提取。然而,目前已提出的方法在去雾方面已经取得了不错的成果 [2] [20] ,但在最大池化操作中会导致细节丢失,或由于场景特殊,会造成传播图估算不准确,导致去雾效果不好。
在现有去雾方法的基础上,本文提出一种基于多尺度卷积神经网络的MSDN (Mutli-Scale Dehaze Network)去雾算法,并将该算法应用于具有不同大气物理现象的图像中。本算法将利用多尺度卷积神经网络对具有不同大气物理现象的图像进行去雾处理,采用多尺度卷积核堆叠并行的形式来提取原图中的特征信息,丰富图像的特征信息,增加网络深度,从而达到提高图像质量的目的,有效地避免了部分天空区域失真地问题。
2. MSDN算法模型分析
2.1. CNN基础网络模块
CNN去雾网络是一种基于卷积神经网络的图像去雾方法,利用深度学习的优势从输入图像中提取特征,有效地减少或消除图像中的雾霾,CNN基础网络结构如图1所示,其通过一系列输入层、卷积层、池化层和全连接层构建一个深度神经网络模型。该模型首先接受输入的模糊图像作为输入,并通过多个卷积层提取图像的特征信息。随后,这些特征经过进一步的处理和学习,以恢复图像的清晰细节和结构。最终,网络输出去雾后的图像,使得观察者可以更好地感知图像中的细节和场景。CNN去雾网络的训练通常需要大量的带有雾霾图像和相应无雾图像的配对数据。通过在这些数据上进行训练,网络可以学习到雾霾图像与无雾图像之间的映射关系,并且可以通过这种学习来对新的模糊图像进行去雾处理。

Figure 1. CNN basic network structure
图1. CNN基础网络结构
2.2. 本文算法模型
本文算法是依据大气散射模型来反推出透射率及大气光值,为了避免原始暗通道算法所造成的像素点偏低导致的局部区域亮度偏暗 [21] 的问题,本文提出了一种基于CNN基础网络的MSDN模型,该模型首先搭建了MSDN结构得到粗透射,再利用图像优化模块,经过导向滤波得到精细透射率,最后由大气散射模型反推得到去雾图像。
该模型的创新之处在于利用不同尺度的卷积核进行多尺度并行特征提取。这样的设计充分利用了不同尺度卷积核的优势,可以从多个尺度捕捉图像中的细节和结构信息。在多尺度CNN去雾模型中,网络架构一般由多个卷积层、池化层和全连接层组成,以构建一个深度神经网络。每个尺度的卷积核都会提取对应尺度的特征信息,然后将这些特征进行融合和整合,以生成最终的去雾结果。这样的多尺度设计不仅提高了模型的感知能力,还增加了模型对于不同尺度雾霾的适应性,使得去雾效果更加准确和自然。传统的CNN模型主要使用3 × 3的卷积核进行特征提取,而MSDN模型属于全卷积层网络,在特征提取时先使用两组Conv3 × 3的卷积对浅层特征初步提取,接着采用Conv1 × 1、Conv3 × 3和Conv5 × 5的卷积对深层特征信息并行提取,如图2所示。这样做的好处在于,不同尺度的卷积核可以捕捉到图像中不同大小的特征和细节,从而提供更全面的信息。1 × 1卷积核主要用于降低特征维度和引入非线性映射,3 × 3和5 × 5卷积核则负责捕捉不同尺度下的特征。通过这种多尺度并行的特征提取,该模型可以更全面地理解和恢复图像中的信息。
3. 模块分析
3.1. 激活函数模块分析
Sigmoid函数在过去被广泛使用,但它也存在一些限制。其中最显著的是“梯度消失”。虽然具有平滑的曲线,但其导数在0附近最大,可以帮助减缓神经网络的梯度消失问题,使得网络更易于训练。然而,Sigmoid函数在输入较大或较小的情况下,会出现梯度饱和的问题,导致梯度消失和梯度爆炸,使得深层神经网络难以训练。为了解决这个问题,人们更倾向于使用其他激活函数,如ReLU、BReLU、PReLU等被提出并得到广泛应用。
PReLU激活函数表达式
为:
(1)
PReLU激活函数传统的ReLU及BReLU有着显著区别,如图3所示:
(a) ReLu
(b) BReLu
(c) PReLu
Figure 3. Activation function comparison chart
图3. 激活函数对比图
PReLU (Parametric Rectified Linear Unit)是对ReLU (Rectified Linear Unit)的改进和扩展。它在激活函数中引入了可学习的参数,相比于ReLU具有一些显著的区别。
参数化形式:
1) ReLU:ReLU函数在输入小于0时输出为0,大于等于0时输出为输入值本身。
2) PReLU:PReLU函数在输入小于0时输出为输入值乘以可学习的参数a,大于等于0时输出为输入值本身。
可学习的参数:
1) ReLU:ReLU函数没有可学习的参数,所有的负数输入都被映射为0。
2) PReLU:PReLU函数引入了一个可学习的参数a,通过反向传播算法来学习得到。这个参数控制了负数输入的输出值,可以使得网络在训练过程中更加灵活地调整。
激活范围:
1) ReLU:ReLU函数在输入大于等于0时输出为输入值本身,在输入小于0时输出为0。
2) PReLU:PReLU函数在输入大于等于0时输出为输入值本身,在输入小于0时输出为输入值乘以可学习的参数a。
特征的表达能力:
1) ReLU:ReLU函数在输入大于0时具有线性增长的特性,能够激活更多的神经元。但在负数输入上输出为0,导致部分神经元处于“死亡状态”。
2) PReLU:PReLU函数通过引入可学习的参数a,可以在负数输入上具有非零的输出,从而减少“死亡神经元”的问题,提升了特征的表达能力。
根据以上针对各激活函数的对比,本文构建的MSDN模型中采用了PReLU激活函数,其在负数区域内依旧可以被激活使用。
3.2. 特征信息提取模块
在经过第一第二层卷积层的操作后,只能提取到有雾图像的浅层边缘信息,如浅层特征信息等,但一个待测有雾图像中不仅含有浅层特征信息,还包含着丰富的深层特征信息。但仅通过简单卷积是无法将其完全提取得到的,因此,为了求得传播图的最优解以及得到丰富的底层信息,本文在MSDN网络的第三层采用了三组不同尺度的卷积进行运算,首先使用三个不同尺度的卷积核对原图进行特征提取,并在特征学习过程中使用1 × 1的小卷积核来替代7 × 7的大卷积核以此加深模型的深度并对不同尺度的卷积核采用并行的方式进行多尺度特征提取,其中Pad全部选取0。所采用的卷积核参数如表1所示。

Table 1. Multiscale feature extraction convolutional kernel parameter table
表1. 多尺度特征提取卷积核参数表
3.3. 大气散射模型
在经过上述一系列地卷积层操作得到特征信息及透射率后,一般会选择采用大气散射模型来描述雾天图像的退化过程 [22] 并求得透射率图
,大气散射模型如图4所示,从图中可以看出从被测物体传播至设备过程时,太阳光和背景光会使得场景变模糊,降低对比度和清晰度从而导致观测到的雾图质量降低;其次,目标物体的吸收和散射会导致成像系统接收到的光强度变低,因此图像模糊不清,丢失细节;最后是亮度和对比度下降,散射和吸收会导致光传播路径发生偏移,使得对比度下降,细节不清晰。
大气散射主要分为两种类型:一种是指太阳光或其他光线在与分子大小相当的散射介质(如空气分子)相互作用时发生的散射现象;另一种是光线与与其大小相当的颗粒(如尘粒、雨滴)相互作用时发生的散射现象。根据上述知识可知,图像由于雾霾的退化过程可用公式(1)表示:
(2)
其中,有雾图像用
来表示;
是去雾后的图像;
为反照光到设备的介质传播图,x为目标的像素坐标;A表示全局大气光值。同时,
可以用公式(3)表示:
(3)
其中
为受到散射和吸收所造成的消光系数;
为目标物体到成像系统的距离。

Figure 4. Atmospherical scattering model
图4. 大气散射模型
在通过大气散射模型估算出透射率
和大气光值A之后,去雾后的图像
可用公式(4)表示为:
(4)
式中:
是为了避免当求得的透射率过小时得出的去雾图像向白场过渡而设置的一个透射率下限,本文中取值为0.1。
4. 实验结果及分析
4.1. 训练数据集
本文将从室内合成雾图和真实室外雾图两个方面进行实验以此来验证本文算法的有效性。本文选取了RESIDE数据集 [23] 中的ITS (Indoor Training Set)和OTS (Outdoor Training Set)子数据集作为实验样本。实验在Windows 10系统下进行,使用Python语言,应用Tensorflow搭建深度学习框架进行编程网络训练。实验中选取数据集的70%作为训练模型参数,30%作为测试集。本文硬件环境为Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz 2.60 GHz,16.0 GB RAM,NVIDIA GeForce GTX 1060M,测试实验的配置环境与此相同。
4.2. 合成有雾图像的实验结果
SSIM (结构相似性指标)和PSNR (峰值信噪比)是评价图像质量的最常用的两种指标,它们在评估去雾效果方面都有一定的作用。SSIM考虑了图像的亮度、对比度和结构信息。对于去雾任务,若SSIM值较高,则代表了去雾后的图像在对比度和结构等方面与原始图像更相似,即去雾效果更好。PSNR衡量了图像重建与原始图像之间的峰值信噪比。在去雾任务中,PSNR可以用于比较去雾后的图像与原始无雾图像之间的噪声水平和失真程度。较高的PSNR值表示去雾后的图像与原始图像之间的差异较小,即去雾效果更好。
在对合成室内有雾图像进行去雾后所测得的SSIM及PSNR值如表2,表3所示。

Table 2. Comparison of similarity of different algorithm structures (SSIM)
表2. 不同算法结构相似度对比(SSIM)

Table 3. Comparison of peak signal to noise ratio of different algorithms (PSNR)
表3. 不同算法峰值信噪比对比(PSNR)
在对于室内有雾图像的去雾实验中,选取了一部分去雾后的图片如图5所示。图中显示:Tarel的方法虽然有效去除了显著的雾气,但是去雾后图像的亮度整体都不太高,并不能达到预期的视觉效果以及去雾效果;He的算法相比较于Tarel,虽然达到了去雾图像整体亮度偏高的效果,但是靠近天空的地方却会出现了过度曝光及颜色失真等现象;Cai的深度学习算法整体效果都优于前两种方法,但是却存在去雾不彻底的问题;Zhang等人的CNN去雾算法对于有雾图像的去雾效果明显要优于Tarel和He的传统去雾方法,但是去雾效果并不是十分的彻底,且前四种算法SSIM都低于0.97,依旧存在需要改进的地方。本文提出的方法相比较于其他现有去雾方法去雾效果有了一定程度的提升,SSIM指标达到了0.97594,恢复图像的质量更高。
4.3. 真实有雾图像的去雾结果
经过算法的不断改进,目前已经在改善去雾效果方面取得了一定的进步。然而,为了在边缘处理等方面取得更进一步的进展,本次实验选取了包含复杂物体边缘及天空场景的图像来进行研究,以此来跟不同算法的去雾结果进行效果对比并在图6中展示了对真实有雾图像进行去雾后的结果,这些结果使用了不同的算法进行处理。
通过对上述算法去雾效果的对比我们从中不难发现,在仅使用Tarel算法对图像进行处理时,我们可以发现去雾后的图像中,物体边缘出现了明显的白色纹理,其失真较为严重。而我们如果采用He和Cai算法对图像进行处理时,失真较为改善,但是在处理存在大面积白雾的图像时天空区域容易产生光晕,且处理后的图像存在对比度较低,颜色偏暗的问题。最后采用的Zhang的CNN去雾算法在去雾后的失真对比于前几个算法是最小的,但对于图像中景深较远的区域去雾效果较弱,导致整体图像对比度不显著。
相比之下,本文提出的算法在处理天空区域方面表现出更好的效果,呈现出更加真实和自然的视觉效果,并且能够更好地处理物体边缘,使其更加清晰锐利。同时,本文算法还能够提升图像的SSIM值,实现了良好的去雾效果。
5. 结束语
由于传统的去雾方法过于依赖先验条件和人工特征提取,从而导致一系列去雾效果不佳的现象,本文提出了一种基于多尺度卷积神经网络的图像去雾算法,该算法结合了大气散射模型,为了从有雾图像中获得丰富的特征信息,本模型使用不同尺度的卷积核并行提取特征,再对其进行跳跃连接融合,并采用小尺度卷积核对原始网络进行加深处理。为了得到相对应的透射率图特征,我们使用非线性回归对其进行处理,接着选用ITS和OTS两种数据集对其进行实验训练,再将不同场景下的有雾图像进行多次对比测试,最终成功获得了清晰无雾图像。最终在进行了对比实验之后我们发现本文的SSIM及PSNR指标达到了0.97594和25.04152,均优于对比算法,由此我们可以得出结论,使用本文所提出的优化模型不仅在曝光等颜色失真问题上可以有更好的去雾效果,在细节纹理等方面的处理也得到了进一步的提升,因此在对比之下本文算法模型有着更好的去雾效果。
基金项目
江苏省研究生实践创新计划项目资助(No: SJCX22_1685, SJCX21_1517),江苏省高等学校自然科学研究重大项目资助(No: 19KJA110002),国家自然科学基金项目资助(No. 61673108),江苏省高校自然科学研究面上项目(NO. 18KJD510010, 19KJB510061),江苏省自然科学基金项目(No. BK20181050)。
NOTES
*通讯作者。