基于对数-S型函数分段估计的快速去雾算法

2023-08-16 07:01吕东霞杨燕张金龙张雯波
液晶与显示 2023年8期
关键词:型函数光幕景深

吕东霞, 杨燕, 张金龙, 张雯波

(兰州交通大学 电子与信息工程学院, 甘肃 兰州 730070)

1 引言

在雾霾等恶劣天气条件下,成像设备获取的图像会出现细节丢失、颜色偏移、局部偏亮、饱和度降低和质量退化等问题[1],导致图片承载的信息价值利用率降低,因此,对雾霾天气下拍摄的图像进行清晰化处理有着重大的科学研究意义。目前,对雾霾图像清晰化的处理方法有两大类:传统方法和基于深度学习的方法。传统方法包括图像增强和基于物理模型的图像复原。图像增强是通过一定手段对降质图像有选择性地突出图像中感兴趣的特征或抑制图像中某些不需要的特征来改善图像的质量。图像增强类方法[1-3]有直方图均衡化、Retinex算法、小波变换[4]等,但这类方法不考虑图像的退化机制,增强结果存在信息丢失、去雾效果不理想等问题。

图像复原类算法利用图像退化的物理机制反演退化过程,建立数学模型,通过先验知识或假设估计关键未知参量,实现图像复原。基于物理模型复原的方法近年来发展迅速。He等[5]通过对大量清晰图像的观察提出暗通道先验去雾算法,该算法认为清晰图像的局部非天空区域存在通道值较低甚至接近于0的像素点,由此直接估计透射率进行去雾。该方法简单有效并取得了显著的去雾效果,但复原结果在天空区域出现失真并且在景深变化剧烈区域存在残雾。Zhu等[6]通过观察有雾图像的HSV颜色通道发现,图像亮度和饱和度的差值与雾浓度呈正相关关系,因此提出颜色衰减先验去雾算法。该算法通过近似估计景深达到去雾目的,但复原结果依然存在去雾不彻底现象。Wang等[7]提出基于线性变换的快速去雾算法,该算法通过构造有雾图像与无雾图像最小通道的线性关系估计清晰图像暗通道,实现去雾。该方法获得了较好的去雾效果,但复原结果整体较暗,颜色失真严重。Yang等[8]提出一种以边缘保持函数代替最小滤波拟合暗通道的去雾算法,该算法利用幂律压缩和线性衰减克服了最小滤波的局限性,进而得到了较为准确的透射率,但是一些含有超远景区域的图像会产生一定的失真现象。Tarel等[15]结合大气光幕固有约束条件与中值滤波得到大气光幕,实现快速去雾,但是恢复的部分图像会出现视觉模糊的效果。基于物理模型的雾图复原尽管需要先验和假设进行透射率和相关参数的辅助计算,但因其考虑了雾图的成因,因此,此类方法能够得到更加真实的去雾图像。

基于深度学习的方法经常需要对大量的样本进行训练来获取模型参数,搭建网络实现图像去雾。Ren等[9]设计了一种用于透射率估计的多尺度网络(Multi-scale Convolutional Neural Network, MSCNN),其主要思想是对粗级网络与精细尺度网络得到的透射率进行融合,获得了较好的复原结果。Li等[10]将透射率与大气光整合为一个参量,设计了一种轻量化多尺度网络结构(All-in-One Dehaze Network, AOD-Net)。该网络消除了大气光与透射率分开训练的误差,取得了较好的复原效果,但该算法存在去雾不彻底、复原结果整体偏暗的问题。Qin等[11]提出一种端到端的特征融合注意力网络(Feature Fusion Attention Network, FFA-Net),可以有效提取图像特征并直接恢复无雾图像,但是网络结构存在过拟合问题,对于真实场景有雾图像复原效果不理想。此类方法近年来使用较多,但因为模型固有的缺陷和数据集因素,导致该类方法对真实环境下的雾图处理效果较差。

针对图像去雾研究中存在的去雾不彻底、颜色偏暗、处理速度较慢等问题,本文提出了一种基于对数-S型函数分段估计的快速去雾算法,通过对大气散射模型的分析和推导得到大气光幕与有雾图像最小通道的正相关关系,利用分段函数快速估计远近景大气光幕。并利用中值滤波获取有雾图像中通道,对其进行形态学闭操作,再经交叉双边滤波处理得到大气光。最后通过大气散射模型得到去雾图像。实验结果表明,本文算法的复原结果具有颜色鲜艳、细节信息丰富、去雾效果显著的优点。

2 图像去雾背景

在计算机视觉领域中,雾天条件下的图像退化过程通常用大气散射模型来描述[12-14]:

式中:I(x)表示有雾图像;J(x)表示无雾图像;A为大气光;t(x)为透射率;A(1-t(x))被定义为大气光幕,描述了粒子对大气光的散射作用,具体表述为:

当大气介质均匀时,透射率可表示为:

其中:q表示大气散射系数,d(x)表示场景深度。根据式(1)可知:大气光幕V(x)小于退化场景I(x)并且为正值,以上约束关系可描述为:

式中:min(Ιc(x))表示退化场景的最小通道图像,c∈(r,g,b)表示退化场景的3个颜色通道。在大气散射模型中,I(x)是唯一的已知项,因此,实现去雾的关键是对透射率t(x)和大气光A的精确估计。根据公式(2)发现,可从大气光幕的角度进行去雾。Yang等[18]结合大气光幕固有约束条件与联合双边滤波得到大气光幕,实现了单幅图像去雾。该算法虽然取得了较好的去雾效果,但边缘信息的丢失导致在去雾图像上出现了模糊的视觉效果。

3 本文算法

本文算法流程如图1所示。首先求取有雾图像的最小通道和最大通道值,将最小通道值通过对数-S型函数分区域处理得到大气光幕。再将最大通道值进行中值滤波,经过形态学闭操作得到大气光。最后通过大气散射模型恢复无雾图像。

图1 算法流程框图Fig.1 Algorithm flow block diagram

3.1 大气光幕

在使用大气散射模型去雾时,对透射率的估计较为常见。对式(1)两端进行最小值操作,经过变形推导透射率:

用A进行归一化处理可得:

由式(2)可得:

当A已知时,结合式(5)、(6)可得:

观察式(7),可以得到大气光幕V(x)与最小通道值存在一定的正相关关系:

对式(1)两端进行最小值操作,经过变形可得:

3.2 估计大气光幕

在图像去雾理论中,大气光幕反映了一定的雾浓度信息,即在有雾图像远景区域,雾浓度[17-19]分布较高,大气光幕较大;在有雾图像中近景区域,雾浓度分布较低,大气光幕较小。基于上述大气光幕在远近景区域分布的差异,为得到较为准确的大气光幕,对其进行分区域估计。由于雾气的存在影响了图像亮度,结合雾气在远景区域的分布特征,本文用有雾图像像素均值作为阈值将图像分为近景区域和远景区域。根据Yang等人[16]提出的基于最小通道与景深双约束的大气光幕估计方法可知,浓雾区域的大气光幕灰度值较大且相邻像素之间的差异性很小,而薄雾区域大气光幕灰度值较小且差异性明显。此关系描述如图2所示,可以观察到大气光幕随退化图像最小颜色通道的变化关系在远近景具有不同的速率:在中近景区域,大气光幕随最小通道变化较为剧烈,在远景区域变化缓慢。在大气光和大气散射系数已知的前提下,根据式(3)可知,透射率与景深呈负相关。大气光幕与景深具有相似性,景深与大气光幕存在一定的正相关,最小通道与透射率呈现负相关,与景深存在正相关。最小通道在一定程度上表示景深,因此采用最小通道代替景深估计大气光幕。式(2)、(3)、(11)的透射率、大气光幕、最小通道、景深的关系如图3所示。

图2 大气光幕与最小通道的对应关系Fig.2 Correspondence between atmospheric light veil and minimum channel

图3 透射率、大气光幕、最小通道和景深的关系。Fig.3 Relationship of transmittance, atmospheric light veil, minimum channel, and depth of field.

根据上述特征,本文提出了一种基于对数-S型函数分段估计模型。模型采用的分段函数包括两部分,分别为对数函数和S型函数。在图像空间域增强中,对数变换可以对高灰度值部分进行压缩,低灰度值部分进行扩展。S型函数也可以对高灰度值部分进行压缩,低灰度值部分进行扩展,但是对数函数和S型函数的压缩扩展程度不同。考虑到大气光幕与最小通道变化关系的特征,选取S型函数对远景区的高亮像素进行压缩,对数函数对中近景区域进行处理,通过以上一组分段函数对大气光幕进行估计。具体函数表达式为:

式中:x表示有雾图像的最小通道值;f(x)表示估计大气光幕;a、b表示去雾参数;m表示有雾图像的像素均值,用于区分远近景区域。具体实验结果如图4所示。经过对数复原的图像在远景区域去雾不彻底,在近景区域去雾效果较好,保留了丰富的纹理细节;经过S型函数复原的图像在远景区域去雾彻底,颜色自然,在近景区域出现了偏色以及失真等问题。利用对数-S型函数分区域处理后的图像综合了对数、S型函数的优点,从视觉效果来看,具体表现为在远近景处去雾彻底,颜色自然,亮度适宜,保留了丰富的纹理细节。

图4 不同函数对图像的复原Fig.4 Recovery of images by different functions

图5中,a、b为去雾参数,目的是控制去雾程度。为了直观地说明a、b对去雾程度的影响,选取具有远近景的有雾图像进行仿真。实验结果如图5所示,当a、b的值不同时,去雾程度也是不同的。当a、b的值较小时,去雾不彻底;当a、b的值较大时,去雾彻底但出现了失真。因此,对一副图像取不同的a、b会产生不同的复原结果。首先设置a为定值,b随一定规律变化,同样设置b为定值,a随一定规律变化,根据视觉效果对比选取去雾效果最佳的参数。为了提高普适性,进行了大量图像的仿真测试。结合新增可见边e和信息熵s对图5不同参数下的恢复图像进行评价,当a=0.90,b=0.85时,图5(e)获得了很好的视觉效果,指标值达到了最大(表1)。所以当a=0.90,b=0.85可以获得最佳的去雾效果。

表1 不同参数下的图像恢复指标Tab.1 Image recovery indicators with different parameters

用Yang算法[18]获得的大气光幕恢复的图像取得了较好的去雾效果,但整体偏暗,并且远景去雾不彻底。本文大气光幕恢复的图像色彩自然,亮度适中,去雾彻底。实验结果如图6所示。

图6 Yang 与本文的大气光幕以及复原图对比Fig.6 Comparison of the atmospheric light veil and the recovery in Yang and ours

3.3 大气光估计

在图像去雾中,大气光值[5,8,16-20]是关键参数之一。大气光的估计会影响去雾图像的亮度,若估计过高,则恢复的图像偏暗;若估计过低,则恢复的图像偏亮。He[5]等人算法选取暗通道中排名前0.1%的最亮像素点对应的像素均值作为全局大气光值。该方法易受白色等高亮物体的影响,导致大气光值估计不准确,去雾效果不理想。为了避免全局大气光估计误差带来的问题,Sun[21]等人提出了一种在场景中局部光源与局部大气光相同的前提下,从有雾图像的局部定义大气光的方案,该方法对有雾图像最大值通道进行形态学操作和滤波处理得到局部大气光函数,获得了较好的去雾效果。局部大气光相较于全局大气光在低亮度区域处理更加准确,因此,本文提出了中通道局部大气光估计方法。提取有雾图像的最大值通道,如式(13)所示:

其中:MF(·)是中值滤波函数,mid(x)为获取的中通道。对中通道进行形态学闭操作得到A1(x):

其中:imclose(·)表示形态学闭操作。为了解决形态学闭操作处理后局部过亮问题,对A1(x)进行交叉双边滤波处理得到局部大气光A(x)。本文局部大气光与Sun局部大气光对比如图7所示。对于近景地区和超远景天空的退化图像,本文大气光估计更加准确。在获取图像的大气光后,结合大气光幕,根据式(1)、(2),清晰图像的表达式为:

图7 大气光对比Fig.7 Atmospheric light comparison

4 实验结果与分析

为了验证本文算法的可行性和有效性,从主观和客观两方面对各算法复原结果进行对比。对比算法分别选取He等人[5]提出的暗通道先验算法、Wang等人[7]提出的线性传输算法、Yang等人[8]提出的Haze Removal算法、Qin等人[11]提出的特征融合注意力网络算法(Feature Fusion Attention Network,FFA-Net)(训练条件:选择SOTS数据集,运行环境为Windows 10, PyTorch, NVIDIA GPU+CUDA)和Wu等人[16]提出的自适应gamma矫正估计的图像去雾算法。

4.1 主观评价

主观分析可以最直观地反映出恢复图像的效果。本文从真实有雾图像到测试集有雾图像各方面进行实验分析。对于真实有雾图像,选取含天空区域和不含天空区域两类有雾图像。对于测试集图像,从RESIDE数据集中选取5张室内室外有雾图像。第一类图像复原结果如图8所示,第二类含有天空区域的复原结果如图9所示,测试集复原结果如图10所示。从He等人[5]算法可以看到,雾气基本去除干净,但在景深突变区域存在严重的光晕效应且去雾不够彻底,天空区域出现偏色现象且颜色偏暗。Wang等人[7]算法的边缘保持较好,在很大程度上消除了光晕和伪影,但出现了明显的去雾不彻底现象和颜色偏暗问题。Wu等人[16]算法的效果较好,但存在去雾不彻底现象且复原结果偏亮,因而视觉效果一般。Qin等人[11]的特征融合注意力网络算法恢复的图像雾气残留过多,细节纹理信息不明显。Yang等人[8]算法解决了暗通道先验算法中最小值滤波引入的光晕和伪影问题,利用一种幂律压缩函数求取有雾图像的暗通道图,较好地消除了光晕伪影,但存在轻微的去雾不彻底现象,去雾效果相对较好。本文算法能够彻底去雾,恢复的图像亮度清晰,色彩自然。与其他几种算法相比,本文算法抑制了光晕效应及块状伪影的产生,同时能恢复出较多细节纹理信息,天空区域保持相对较好,没有出现颜色失真现象。如图10所示,在测试集的对比图中,很明显可以看出本文算法同样具有很好的复原效果。其中He等人[5]算法、Wang等人[7]算法、Qin等人[11]算法在天空区域出现了不同程度的失真、光晕、颜色偏暗和过饱和现象。Yang等人[8]算法有轻微的去雾不彻底现象。Wu等人[16]算法具有相对较好的效果,但也存在去雾不彻底现象,明显不及本文算法。本文算法在细节、颜色、亮度上取得了很好的效果。

图8 不含天空区域雾图复原效果对比Fig.8 Comparison of haze images restoration without sky area

图9 含天空区域雾图复原效果对比Fig.9 Comparison of haze images restoration with sky area

图10 合成雾图复原效果对比Fig.10 Comparison of composite haze images restoration

4.2 客观评价

为了进一步验证算法的可行性和有效性,本文从定量指标的角度对各算法进行对比。对于真实环境下的有雾图像采用无参考图像质量评价指标[22-24],选择新增可见边e、平均梯度r、信息熵s和运行时间t作为评价指标。对于指标e、r、s;值越大越好;对于t,值越小越好。对于测试集复原的图像采用峰值信噪比(Peak Signal to Noise Ratio, PSNR)和结构相似性(Structural Similarity, SSIM)作为评价指标,PSNR和SSIM的值越大越好。这些指标的数学表达式分别如式(12)~(21)所示:

其中:n0为有雾图像的可见边数;nr为复原图像的可见边数;ri表示pi处复原图像与原有雾图像的平均梯度比;φr为复原图像的可见边集合。

其中:M和N分别表示图像的宽和高,L表示图像的最高灰度级,Hw表示灰度级为w的像素的个数。

式中:fmax为最大像素值,通常取255;MSE为原有雾图像与复原图像的均方误差;SSSIM为结构相似性;PPSNR为峰值信噪比;μi和μ0分别为有雾图像和清晰图像的均值;σ1和σ2分别为有雾图像和清晰图像的协方差;w1和w2分别为避免分母为0的常数。本文对图8、图9的10幅真实有雾图像和图10测试集下的5幅有雾图像进行客观指标的计算对比,如表2、表3所示。可以看出本文算法在新增可见边、平均梯度、信息熵和运行时间几个方面都取得了较好的效果,尤其在平均梯度和信息熵指标上优势明显,并且运行时间优于其他算法。在表4中,测试集下本文复原的图像的峰值信噪比(PSNR)和结构相似性(SSIM)均有一定的优势,指标不及Qin算法,是因为Qin算法的去雾网络过拟合,在真实有雾图像上基本不去雾,这也是该网络需要优化的问题。所以无论是真实有雾图像的复原还是测试集下图像的复原,本文算法都取得了很好的去雾效果。

表2 客观评价指标e和rTab.2 Objective evaluation on index e and r

表3 客观评价指标s和tTab.3 Objective evaluation on index s and t

表4 数据集评测指标Tab.4 Indictors of dataset

5 结论

针对现有雾天图像清晰化方法存在的光晕、伪影、去雾不彻底等问题,本文提出一种基于对数-S型函数分段估计的快速去雾算法。利用像素均值区分远近景区域,将最小通道值通过对数-S型函数拟合大气光幕,然后结合本文提出的的中通道局部大气光的估计方法,利用大气散射模型恢复无雾图像。通过实验发现,本文算法对真实有雾图像和测试集下的图像均有很好的去雾效果,复原图像的新增可见边、平均梯度、信息熵分别提升了17.4%、50.5%、30%,运行时间比传统快速去雾算法降低了17.5%,解决了存在的光晕、伪影、去雾不彻底问题且快速有效。

猜你喜欢
型函数光幕景深
一种结合物理模型和景深估算的图像去雾算法
几类“对勾”型函数最值问题的解法
针对复杂光线环境而生,相伴九城巡展 ACME艾可美|常焦抗光幕
非理想状态下斜幕面对四光幕阵列精度靶测量误差的影响*
Orlicz Sylvester Busemann型函数的极值研究
激光复合光幕靶测速系统设计
V-型函数的周期点
用共轭法解Dhombres型函数方程
一种电梯光幕保护系统的设计
简明FOTO词典:景深