基于全卷积神经网络的图像去雾算法
2019-10-10陈清江
陈清江,张 雪
(西安建筑科技大学 理学院, 陕西 西安 710055)
引言
在雾霾天气下,采集到的图像识别度较低,这是由于大气中存在随机介质,光从物体表面反射到达相机的过程中会发生散射和吸收等物理变化,传播路线会发生偏离,而一些其他光路的空气光由于散射进入该光路,因此导致图像对比度降低,饱和度降低,色调偏移,这极大地影响了各种户外视觉系统效用的发挥,例如,视频监控系统,智能汽车,导航控制等。所以,雾天图像的清晰化处理具有十分重要的意义。
近年来,图像去雾算法主要分为两类:基于非模型的图像增强方法和基于物理模型的图像恢复方法。基于非模型的图像增强方法[1-2]不考虑图像雾化降低过程,处理的图像不能满足视觉的要求。基于物理模型的图像复原算法从图像退化的物理模型出发,恢复出尽可能逼真的清晰图像。如使用马尔可夫随机场(MRF)模型[3]拉伸图像对比度,独立分量分析的方法[4](ICA),有效的正则化方法[5],联合估计场景深度恢复清晰图像的方法[6],近年来暗原色先验知识统计理论[7]和大气散射模型[8]以及颜色衰减理论[9]也引起了众多学者的研究。尽管上述算法取得了很大的进步,但它们仍然依赖于各种先验知识和假设,具有一定的局限性。目前,随着卷积神经网络在语义分割[10],超分辨率重建[11]和图像融合[12]等方面的不断发展,将该理论用于图像去雾领域也获得了较好的效果,如 Ren等[13]利用卷积神经网络估计了场景的透射率,根据大气散射模型,恢复出无雾图像。徐岩,孙美双等[14]提出了基于多特征融合的卷积神经网络去雾算法,算法采用直接从雾天图像到清晰无雾图像映射的学习方式,恢复出清晰图像。
主要从图像复原角度出发进行分析,利用清晰RGB图像引导滤波优化全卷积神经网络模型估计的传输图,并由暗原色先验理论[7]估计出大气光值,根据大气散射模型[8]恢复出清晰无雾图像,该方法不但未造成图像中有用信息的损失,并且恢复的图像色彩自然,克服了光晕效应以及色彩失真问题,提高了恢复图像的质量。
1 图像去雾算法设计
首先,提出的卷积神经网络用来学习雾天图像与介质传输之间的映射关系,得到估计的介质传输图,为了避免边缘伪影,使用引导滤波细化介质传输图;其次,根据暗原色先验理论先求出暗原色图中强度值最大的前0.1%像素点,把其在雾天图像中对应的最大值作为大气光的值;最后,细化之后的传输图与大气光合并,得到去雾图像,算法流程如图1所示。
式中如果直接用介质传输图作为输入,当传输图的取值趋于0时,就会给复原的图像带入大量噪声,所以在式中设置下限值t0为0.1,以避免这种情况的发生。
1.1 全卷积神经网络模型
由于多尺度的卷积神经网络可以增强网络的鲁棒性,因此,采用三尺度全卷积神经网络学习雾天图像与介质传输之间的映射关系,得到预测的介质传输图,本文网络结构如图2所示。
图1 算法流程图
图2 本文网络结构
首先,尺度1由5个卷积层和一个Concatenate层组成,并且每个卷积层都由3×3×16的卷积核组成,3×3为卷积核的尺寸,16为卷积核的个数。Concatenate层将第2、3、4层得到的特征图进行连接卷积,能够减少图像信息损失。
本文选用参数修正线性单元(PReLU)作为网络结构的激活函数,除去最后一层,其余每个卷积层的末端都接入此激活函数。
其次,尺度2由4个卷积层和一个Concatenate层组成,第一层卷积层为5×5×16的卷积核,将尺度1得到的较为粗略的传输图连接到尺度2的第二层,进行3次卷积,卷积核大小均为3×3×16,输出得到较为精细的传输图。
最后,尺度3由3个卷积层和一个Concatenate层组成,第一层卷积层是7×7×16的卷积核,第二层卷积核大小为5×5×16,将尺度2得到的较为精细的传输图连接到尺度3的第三层,进行一次卷积层,卷积核大小为3×3×1,输出获得精细的传输图。
在网络训练过程中,使用欧氏距离作为损失函数,用来计算输入雾天图像与预测的介质传输图两者差值的平方和,公式为
(1)
式中:yi表示第i组清晰图像值;xi表示网络结构的第i组输出值;N为样本训练数目。
1.2 采用引导滤波保持图像边缘
由1.1部分得到的传输图是较为精细的,图像的轮廓信息和结构信息都较为完整。但是预测的传输图边缘细节不够明显,因此,使用引导滤波进行优化预测的传输图,将雾天RGB图像作为引导图像,假设滤波输出图像qi与引导图像Ii是线性相关的,定义函数为
qi=akIi+bk,∀i∈ωk
(2)
式中:i为像素坐标;ωk为引导图像Ii中以像素k为中心的邻域,a,b为窗口ωk内的恒定系数,代价函数为
(3)
使得输出图像qi与输入图像pi的均方误差最小,式中,ε是一个正则化参数,用于抑制ak过大。输出图像为
(4)
由于引导滤波最大的优势在于,它可以很好地克服双边滤波中出现的梯度翻转现象,因为假设前提便是存在线性关系,可以保证梯度一致,而对于双边滤波而言,对于梯度变化大的地方,由于周围没有相似的像素,高斯函数的权重不稳定,导致最终梯度出现反转现象,且易产生光晕现象。因此,使用引导滤波可以达到更好的滤波效果。
2 实验结果与分析
本节描述了实验数据的获取与实验设置,并且将文中去雾算法与Meng算法[5], Li算法[6],He算法[7],Zhu算法[9],Ren算法[13]5种算法在合成雾天图像与自然雾天图像上的去雾结果进行了主观视觉和客观评价指标的对比分析。
2.1 实验数据与设置
本文实验数据:因为网络结构的训练需要收集大量的标签数据,而现实中大量的雾天图像和对应的清晰图像是不可用的,因此,我们采用数据集Middlebury Stereo Datasets通过大气散射模型得到的雾天图像来训练网络。为了能够适应不同天气下的雾浓度,将散射率β随机设置为(0.75,1.5),防止β过大使得传输图接近于0。大气光值在图像的光亮区域取得,随机设置为(0.7,1.0),挑选有雾图像和无雾图像4 000对作为训练样本,600对作为测试样本。
实验设置:利用Caffe框架实现网络,每层的权重滤波器均采用均值为0,方差为2/n的高斯分布进行随机初始化,采用固定的学习率,设置为0.000 01,加快了整个网络模型的收敛,并提高了网络模型的精度。动量参数设置为0.9,迭代次数为105次,利用随机梯度下降法(SGD)和反向传播算法进行网络优化得到最优的网络参数。
2.2 基于合成雾天图像的去雾结果与分析
为验证本文算法对合成雾天图像的去雾效果,下面将本文算法与其他5种算法去雾结果进行了比较。图3~图6展示了部分合成雾天图像去雾结果的主观视觉对比,表1~表4为不同算法去雾的评价指标的对比结果。
图3 雾天图像Cones采用不同算法去雾效果对比结果
图4 雾天图像Teddy采用不同算法去雾效果对比结果
图5 雾天图像Reindeer采用不同算法去雾效果对比结果
图6 雾天图像Cloth采用不同算法去雾效果对比结果
为了定量地评价这些方法,使用交叉熵(cross entropy),色调还原度(tone reduction),信息熵(entropy),平均梯度(average gradient),结构相似度(SSIM)[15]和峰值信噪比(PSNR/dB)[16]重要的图像评价标准来衡量去雾图像的质量。各个评价指标的数学公式分别如下。
1) 交叉熵定义:
(5)
式中:p真实标记的分布;q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。
2) 色调还原程度:
(6)
式中:L为直方图矢量的维数;qi和si为归一化值。
3) 信息熵:
H(X)=E[log2P(X)-1]=
(7)
式中:X表示随机变量;P(X)表示输出概率函数。变量的不确定性越大,熵也就越大.
4) 平均梯度定义::
(8)
5) SSIM定义:
(9)
6) PSNR定义:
(10)
式中:fin为清晰无雾图像;fout为去雾图像。如果PSNR值越大,图像的失真就越小。这意味着图像质量越高,去雾性能越好。
表1 图像Cones采用不同算法去雾后评价指标结果
表2 图像Teddy采用不同算法去雾后评价指标结果
表3 图像Reindeer采用不同算法去雾后评价指标结果
表4 图像Cloth采用不同算法去雾后评价指标结果
由以上可知,He算法,Meng算法和Li算法去雾图像颜色过于饱和,大面积色彩失真,而且物体边缘产生了严重的光晕现象;Ren算法和Zhu算法去雾图像信息完整,较为清晰;本文的去雾图像更加平滑,细节和纹理更加明显,且接近真实清晰图像。对于6种评价指标值,本文算法基本优于其他对比算法,因此,无论在主观视觉还是在客观评价指标上都有良好的表现。
2.3 基于自然雾天图像的去雾结果与分析
为验证本文算法基于自然雾天图像去雾结果的有效性,下面将本文算法与其他5种算法去雾结果进行了比较。图7~图9所示为主观视觉对比结果;图10~图11为不同算法在信息熵和平均梯度2个评价指标方面的对比结果。
图7 雾天图像Tian An Men采用不同算法去雾效果对比结果
图8 雾天图像Girls采用不同算法去雾效果对比结果
图9 雾天图像Pumpkin采用不同算法去雾效果对比结果
图10 不同算法的平均梯度的对比结果
图11 不同算法的信息熵的对比结果
由图7~图11可看出,He算法,Meng算法与Li算法高估了雾霾的厚度,出现了过度增强的区域,恢复的图像颜色存在失真情况,光晕现象明显,如图Tian An Men,天空区域颜色分别变成了黄色,紫色和淡黄色(彩图见电子版);Zhu算法与Ren算法的结果在天空区域都有显著改善,但在稠密的雾霾区域仍有一些残留的雾霾。因为卷积神经网络中的块属性可以在网络结构的隐藏层中学习,它有助于在天空中达到良好的去雾效果,因此,本文方法去雾结果具有良好的对比度和生动的色彩,提高了图像的可见性,并且评价指标值都相对较高,表明本文去雾算法的效果较为优越。
3 结论
提出了一种基于全卷积神经网络的图像去雾算法。全卷积神经网络由3个尺度的卷积网络结构生成预测的介质传输图,经过引导滤波后可以得到精细的传输图,由暗原色先验原理估计出大气光值,最后,根据大气散射模型从雾的物理特性上恢复出无雾图像。实验结果表明,由该算法得到的介质传输图恢复出的去雾图像具有更好的视觉效果,边缘信息得到了更好的保留,清晰度、对比度与细节信息均优于其他对比算法。