
雾霾天气时,由于大气中存在的大量悬浮微粒对光线具有散射的作用,导致图像获取设备,如相机所拍摄到的图像质量降低,出现对比度和亮度等方面的衰减,其对分类、跟踪及识别等高级计算机视觉任务造成影响。目前,业界主要使用基于物理模型的传统去雾算法和基于深度学习的去雾算法进行图像去雾操作。基于物理模型的传统去雾算法有,He等[1] 统计大量图片后提出了暗通道先验的去雾理论,取得了较好的效果。陈功等[2]通过光学建模雾天场景,借助晴天和雾天场景计算景深信息来复原有雾图像。然而,基于简化后的物理模型的去雾方法,会由于透射率和大气光估计出现一定的误差,易出现去雾不彻底和颜色失真等现象[3]。基于深度学习的去雾算法有,郭梦琰等[4]基于模拟生物视觉系统的反馈原理,提出一种端到端的循环生成对抗网络算法,以解决误差累积造成去雾图像低质的问题。仲伟峰[5]通过将Cycle-GAN生成器的编码网络和解码网络改用Leaky ReLU和tanh两种激活函数,并对转换网络的残差块进行减少数量和加权优化处理,获取去雾图像。谢志恒[6]提出了一种基于U-Net的单幅图像去雾算法。该算法利用卷积神经网络学习雾天相关特征,输出雾天图像与清晰图像之前的透射关系,通过大气散射模型还原无雾图像。
与基于物理模型的传统去雾算法相比,基于深度学习的算法能够处理更加复杂的情况,且在大部分情况下能获得较好的效果。然而,在实验中发现,目前,基于深度学习的方法中有些能够恢复与原图相近的色彩,但是由于处理结果过暗导致细节丢失,有些可以突出细节,而未兼顾到色彩方面的问题。为了解决上述问题,笔者提出基于Retinex-Net[7]的室外图像去雾改进算法,以期提高图像的质量。
1 Retinex算法1.1 Retinex算法原理Retinex理论[8]认为,物体的颜色具有恒常性,物体的颜色由物体本身性质决定,不受光照强度和光照颜色的影响。Retinex 算法原理,如图1所示。光源发光照射物体,当入射光照射到物体上时,物体通过反射光线到探测设备中,从而被采集为图像。Retinex理论中物体成像可以表示为入射分量和反射分量的乘积为
S(X)=R(X)·I(X),(1)
式中:X——图像的像素点的坐标(x,y);
R——反射分量,表示的是不同物体对不同波长光的反射性质,反映到图像上时,代表物体清晰的图像,又被称为反射率;
I——照度分量;
S——成像设备采集到的图像。
1.2 雾霾天气下成像模型
雾霾天气下成像模型,如图2所示。由图2可见,雾霾天气下成像模型[9]考虑了大气中雾霾颗粒对光线的散射现象。从光源和其他环境反射而来的光统称为大气光,大气光照射到物体上,物体反射光线,这些反射光一部分进入到图像采集设备,一部分被反射到雾霾颗粒上,雾霾颗粒对这部分光线有吸收和散射作用,散射出的光线只有一部分进入到图像采集设备,从而采集的设备上面包含雾气,其过程表示为
S(X)=J(X)t(X)+A(1-t(X)),(2)
式中:A——大气光;
t——介质透射率;
J——反射分量,在雾霾图像中表示无雾的清晰图像。
1.3 Retinex-Net网络
Retinex-Net[7]是一种端到端的可训练的低亮度图像增强网络,该网络框架分为三个部分,分解网络Decom-Net、增强网络Enhance-Net和图像重建Reconstruction部分。Decom-Net包含了两条共享参数的网络,分别以低照度图像和正常光图像作为输入,获取低照度图像和正常光图像的反射图和投射图,最终,根据Retinex理论重建正常光照下的图像。
2 去雾改进算法 2.1 成像模型由图1和2可见,雾霾天气下成像模型比Retinex理论模型多考虑了空气中漂浮的雾霾颗粒对光线的散射作用。在雾霾天气下成像模型中去除这层影响,雾霾天气下成像模型与Retinex理论有了相同的效果。
对式(2)移项可得:
(S(X)-A)=J(X)·t(X)-A·t(X)。 (3)
Retinex理论模型中,基于物体本身对不同波长光的不同反射性质,对入射光进行反射的过程可以理解为对入射光在一定反射率下的衰减过程,这个过程没有雾霾颗粒的影响。相应的,结合式(3)和图3可知,在雾霾天气下去除了大气光照射在雾霾颗粒而发生散射现象的影响下,通过建模,物体反射光被雾霾颗粒遮挡造成的散射现象导致的衰减直接可以归属到物体本身的性质当中,此时,雾霾天气下成像模型和Retinex模型有了相同效果,大气光照射雾霾颗粒发生散射现象,在图3中由虚线箭头部分表示。整理式(3)可得:
(S(X)-A)=(J(X)-A)·t(X)。 (4)
式(4)两端同乘A之后就符合了改进的雾霾天气下成像模型,在改进的雾霾天气下成像模型的代码实现中,利用神经网络简化输入,调整改进模型:将原输入A(S(X)-A)调整为S(X)-A; 将分解得到的照度分量A重新定义为I(X),其用于估计调整输入值所带来的误差,最终求得包含介质透射率的反射分量(J(X)-A)t(X)和照度分量I(X)。
式(4)的恢复图像可表示为
S(X)=(J(X)-A)t(X)+A。 (5)
原透射率不必另外估计,原透射率表示为
t(X)=(S(X)-A)/(J(X)-A)。 (6)
2.2 改进的Retinex-NetRetinex-Net依据Retinex理论,以深度学习的方式实现低亮度图像的增强,根据2.1的分析,在去除大气光照射雾霾颗粒发生散射的情况下,将其将用于图像去雾领域中是可行的。
改进的Retinex-Net去雾网络主干结构,如图4所示。除了将Retinex-Net改用于图像去雾领域外,在其基础上,扩展了一个大气光估计网络AEM-Net,用于估计大气光值。另外在Enhance-Net的处理结果上,增加使用归一化的操作用于增强估计的照度分量的细节。
2.2.1 大气光估计网络
大气光估计网络结构,如图5所示。使用大气光估计网络进行大气光的估计,有雾图像经过AEM-Net处理之后获得估计的大气光值。训练大气光估计网络之前,需要计算真实的大气光值,使用最大颜色像素值法从清晰的图像中估计真实的大气光值[10],该方法可表示为
Ac=max C(X), (7)
式中:Ac——清晰图像计算出的大气光;
C——R、G、B三通道图像。
由于U-Net可以将不同的特征拼接在一起,形成包含更多信息的特征,因此,文中建立的AEM-Net选择基于U-Net模型,如图5所示。将雾霾图像输入到AEM-Net中,先经过4层不改变图像尺寸的卷积操作之后进入U-Net,其中包含8层的卷积和8层的反卷积操作,在反卷积操作中,除了第一层的反卷积操作,之后层的反卷积都会以对应的卷积操作层和上层反卷积操作的连接作为输入。
2.2.2 分解网络
文中使用改进的Retinex-Net直接在有雾图像中进行去除了雾霾颗粒散射影响的反射图像(Jh-Ah)t。分解网络结构,如图6所示。分解网络将雾霾图像Sh和清晰图像Sc共同输入到网络。将输入数据共同去除大气光估计网络估计的大气光值Ah 后,使用两条共享的网络线路进行图像分解,其中,包含了5层Conv+ReLU块。该部分网络将分别获得该成对图像,去除了雾霾颗粒散射影响的反射图像和照度图像。
2.2.3 增强网络
在增强网络上,增加最大最小值归一化操作来进一步增强介质透射率图像的细节部分。由式(6)可知,将去除了雾霾颗粒散射影响的反射图像(Jh-Ah)t和分解获得的照度分量Ih作为网络输入,如图7所示。经一次卷积操作后进入到四层卷积操作和四层上采样操作后,图像尺寸不变,将结果连接后经1×1卷积核进行卷积得到一个二维的介质透射率图像,之后再进行归一化增强细节。
2.2.4 去雾图像的重建
经上述三个深度步骤去除了雾霾颗粒散射影响的反射图像经过经过上述三节的深度学习步骤,可获得雾霾图像的反射图像、照度图像以及大气光值,据改进的雾霾天气下成像模型,图像重建过程如图8所示。最终以重建去雾图像的思想获得了去雾图像,避免了估计与景物深度信息有关的介质透射率t。
2.3 损失函数
损失函数L由四部分组成,大气光估计损失LA,去除了雾霾颗粒散射影响的反射图像一致性损失Lir和照度一致性损失Lis,重建损失Lre。因此,L可表示为
L=LA+Lir+Lis+Lre。 (8)
由于均方误差法方法简单直观,复杂度低等优点[11],上述四部分的损失函数均采用均方误差(eMSE),对于两幅相同大小的图像x和y其基本计算方法为
式中:N——一副图像中的像素总数;
i——像素的位置序号;
xi——图像x中第i个像素值;
yi——图像y中第i个像素值。
大气光估计网络的估计结果与预先在清晰图像中计算出的真实大气光具有一致性, LA可表示为
LA=eMSE(Ah,Ac)。(10)
分解网络中,有雾图像和清晰图像经过分解后的反射图像具有一致性,Lir可表示为
Lir=eMSE((Jh-Ah)t,Jc-Ah)。(11)
增强网络中,根据2.1中建立的模型可知,雾霾图像经分解网络获得的照度分量经增强网络估计而来的照度分量与清晰图像分解得到的照度分量具有一致性, Lis可表示为
Lis=eMSE(I'h,Ic)。(12)
经过图像重建,获得去雾图像,与输入的清晰图像具有一致性,重建损失Lre可表示为
Lre=eMSE(Sh,Sc) 。(13)
3 实验结果与分析3.1 实验配置和数据集描述文中从RESIDES数据集精选了3 500张合成图像,包含雾霾图像和对应的清晰图像。随机挑选其中,3 000张用于训练,其余500张用作测试。网络结构全部使用TensorFlow实现,采用ADAM优化器并使用一块型号为RTX2080TI的GPU进行训练。
3.2 实验结果文中的对比实验分为两组,一组是文中算法与传统算法进行比较,另一组与基于深度学习的方法进行对比实验。文中采用的模型评价标准包括峰值信噪比(ηPSNR)和结构相似度(αSSIM)。
实验图像如图9所示。自上而下分别是对比实验的雾霾图像、清晰图像和文中算法取得的结果。与传统算法比较,传统有暗通道先验去雾和Retinex增强的算法去雾对比,结果如图 10所示。不同模型结果对比如图 11所示。
视觉效果方面比较,暗通道先验算法恢复的图像色彩饱和度过高,而Retinex去雾算法的恢复结果大部分出现了失真现象。相比之下,文中算法从颜色和色彩饱和度两个方面效果都较好。
量化评价标准方面比较,如表1所示。从峰值信噪比和结构相似度两个方面,文中算法比暗通道先验和Retinex去雾算法都有更好的效果。
与基于深度学习的方法对比,用精选数据集分别对Dehaze-Net[12]、AOD-Net[13]、Physics-based Dehazing Network[10]以及文中模型进行训练,并且根据各自原文中的描述,设定各自的训练参数。文中模型训练时,批大小设置为10,一共训练100轮。最后,文中将从视觉效果、评价标准两个方面上对模型的训练结果进行分析。
由图 11可见,分别展示了对原始雾霾图像(图 11a)的处理结果。总体来说,都去除了输入图像中的雾气,对输入图像作了不同程度的增强。AOD-Net(图 11b)虽然去除了输入图像的雾气效果,但是处理结果饱和度过高,图像中很多地方都产生了失真现象。相比来说,DehazeNet(图 11d)所恢复的无雾图像从视觉效果上更接近无雾图像,然而相较于原图来说整体较暗,导致原本较暗的地方细节丢失。通过Fast Physics-based Dehazing Network(图 11e)恢复的无雾图像从色彩饱和度方面较为接近原图,然而恢复结果整体上有些模糊。文中模型(图 11c)顾及到色彩饱和度和细节还原两个方面,从视觉效果上更加接近原图( 图 11f )。
量化评价标准方面比较。模型的量化对比结果如表2所示。由表2可知,文中的改进模型,在两个评价标准中都优于其他的模型。
表2 文中模型和其他深度学习模型的量化比较
Table 2 Quantitative comparison between our method and other deep learning methods
4 结 论
(1)雾霾天气下,雾霾颗粒会对大气光和由物体反射来的光线产生散射现象,从而影响图像采集设备最终成像,文中通过分析雾霾颗粒的这种散射作用,构建了改进的雾霾天气下成像模型,为改进Retinex-Net算法提供理论基础。
(2)为了实现改进的雾霾天气下成像模型,文中设计了一种基于U-Net结构的大气光估计网络,以改进的雾霾天气下成像模型为依据,优化Retinex-Net的增强网络,结合大气光估计网络与Retinex-Net,最终实现了图像去雾操作。对比实验结果表明,文中算法获得的去雾图像较其他算法,峰值信噪比提升至32.06 dB,结构相似度提升至0.948 8。不仅将Retinex-Net从低亮度增强领域成功应用到图像去雾领域,也证明了改进的雾霾天气下成像模型的有效性。
- [1] He K, Sun J, Tang X, et al. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353.
- [2] 陈 功, 王 唐, 周荷琴. 基于物理模型的雾天图像复原新方法[J].中国图象图形学报, 2008(5): 888-893
- [3] 蒲亨飞, 黄治勇. 图像去雾算法研究综述[J]. 软件工程, 2021, 24(5): 2-6.
- [4] 郭梦琰, 张 娟, 刘巧红, 等. 基于循环生成对抗网络的图像去雾算法[J]. 计算机工程, 2022, 48(3): 280-287.
- [5] 仲伟峰, 赵 晶. 基于生成对抗网络的图像去雾算法[J]. 激光与光电子学进展, 2022, 59(4): 337-345.
- [6] 谢志恒. 基于U-Net的单幅图像去雾算法[J]. 中国水运(下半月), 2021, 21(10): 37-38.
- [7] Wei C, Wang W, Yang W, et al. Deep retinex decomposition for low-light enhancement[J]. arXiv preprint arXiv, 2018, 18: 1-11.
- [8] Land E H, Mccann J J. Lightness and retinex theory[J]. Journal of the Optical Society of America, 1971, 61(1): 1-11.
- [9] McCartney E J. Optics of the atmosphere: scattering by molecules and particles[J]. Science, 1977, 196: 1084-1085.
- [10] Li R, Zhang X, You S, et al. Learning to Dehaze from realistic scene with a fast physics-based Dehazing Network[J]. arXiv preprint arXiv: 2004, 54: 1-12.
- [11] 张 薇. 图像客观质量评价算法及其应用研究[D]. 徐州: 中国矿业大学, 2016.
- [12] Cai B, Xu X, Jia K, et al. DehazeNet: An end-to-end system for single image haze removal[J]. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198.
- [13] Li B, Peng X, Wang Z, et al. An all-in-one network for dehazing and beyond[J]. arXiv preprint arXiv, 2017, 43: 1-9.