基于HSI颜色空间暗通道的亮度保真去雾方法

2023-06-21 08:31周岳钰黄晓晓
关键词:雾天透射率先验

汪 燕,高 静,周岳钰,黄晓晓,闻 军*,朱 柱,2

(1.安庆师范大学 电子工程与智能制造学院,安徽 安庆 246133;2.金陵科技学院 计算机工程学院,江苏 南京 211169)

室外图像监测和采集设备易受雾、雨、烟等低能见度环境影响以致无法正常使用。近年来,为了提高恶劣天气下的图像质量,对有雾图像的去雾复原成为当下图像处理领域的研究热点之一。目前,去雾方法主要有两类:基于图像增强的方法[1-2]和基于物理散射成像模型的方法[3-4]。然而,图像增强方法在处理高密度模糊以及亮度较暗的图像时,往往会呈现过增强、信息丢失、颜色失真等现象。针对这一问题,学者们提出了一种基于物理散射成像模型的去雾改进方法,其核心是透射率矩阵估计,包括图像块先验[3-6]和像素先验[7-8]两种途径。

图像块先验策略通过从局部图像块中获得先验信息来实现透射率估计,是当前主流且高效的处理手段。最为经典的是He等[3]提出的基于暗通道先验的透射率估计算法,主要利用暗通道先验以得到场景像素的视觉深度,在此基础上通过导向滤波[9]来优化透射率矩阵。这种方法可有效去雾且颜色保真,然而也存在亮度损失、过饱和和细节处去雾不彻底等不足。Bui等[4]提出了一种基于颜色线先验的去雾算法,可有效避免过饱和问题,但很容易将高亮度近景区域误认为高密度雾天区域。很多深度学习去雾算法的实质也是图像块层面的先验策略[5-6]。基于卷积神经网络,Cai 等提出了一种end-to-end 去雾模型[5]。Golts等也基于上下文聚合网络提出了一种end-to-end去雾模型[6]。这些基于深度学习的去雾方法在一定程度上弥补了传统图像块先验策略的不足,但在亮度保护、性能提升方面仍具有局限性,且需要足量数据来支撑训练。而像素先验策略是通过提取像素的最小通道信息来估计透射率。Lu等[7]将HSV(Hue-Saturation-Value)颜色空间中像素的饱和度引入暗通道来估计透射率,并利用导向滤波来优化像素的透射率,可有效避免过饱和现象,但容易造成复原图像颜色不自然。而Ju等[8]提出了一种基于gamma校验先验的透射率估计算法,可以有效复原目标细节,但易破坏图像的颜色细节。总体来说,基于像素级先验的透射率估计具有很高的执行效率,但仅仅从像素中获取信息会导致图像块的信息遗漏,从而影响透射率估计的准确性。

考虑到上述问题,本文融合图像块策略和像素策略,提出了一种基于HSI(Hue-Saturation-Intensity)颜色空间的暗通道先验算法来帮助恢复原始场景。首先,根据图像的亮度和饱和度来建立暗通道计算框架,并引入场景的原始颜色浓度和亮度变化,从而进一步优化暗通道计算模型。其次,建立关于图像透射率、原始颜色浓度、原始亮度变化的方程组以获得图像的透射率,并估计出大气光强,最后恢复原始场景。本文创新和主要贡献在于:(a)在HSI颜色空间中建立暗通道先验的计算模型,对传统暗通道先验进行了有效拓展;(b)采用亮度和亮度变化来表达暗通道亮度特征,使其兼具局部一致性和像素个体差异性;(c)由颜色浓度、亮度变化构造暗通道细节特征项以保护图像颜色、饱和度,适度提升了亮度;(d)透射率方程包含图像块亮度,又融入像素颜色、细节,去雾结果兼具两种先验优势。

1 HSI空间中暗通道先验

1.1 RGB空间中的暗通道先验

传统的暗通道先验由何凯明博士[3]提出,即RGB图像中绝大多数区域存在灰度值趋近于0的颜色通道。依此先验为突破口,结合物理散射成像模型,有效解决了图像去雾问题中求解方程未知量过多的病态问题。雾天图像的成像模型可表达为

其中,xi是有雾图像像素i的像素值,yi是原始场景无雾图像所对应像素的像素值,ti是这一像素的透射率,A是场景中的整体大气光强。

根据文献[3],暗通道计算模型可定义为

由于环境光强A具有整体一致性,对其进行归一化处理,再取透射率最低的前0.1%像素来计算环境光强A,复原结果为

由公式(3)和公式(4)可以看出,传统的暗通道先验主要存在三方面不足:(a)在暗通道估计值偏大时,透射率值会偏小,从而像素值赋值越小,修复结果越暗;(b)若环境光强偏大,暗通道为零区域透射率值也偏大,导致去雾不完全,修复结果饱和度也会降低;(c)仅用局部图像块来提取暗通道信息,会缺失像素个体特征反应,易出现细节处薄雾残留。

1.2 HSI空间中的暗通道先验

在HSI颜色空间中,H、S和I分别表示图像的色度、饱和度和亮度,且S和I分量的乘积表示图像的颜色浓度[10]。像素j的亮度分量I和饱和度分量S可表示为

由公式(2)、(5)和(6)可知,像素i的暗通道可以用S和I分量表达为

上式包含了像素的亮度、饱和度和颜色浓度。结合每个颜色通道的像素值计算模型及公式(5)和公式(6),将环境光强A视为常数,可进一步得到雾天图像和原始场景之间的颜色浓度关系,有

将公式(8)代入公式(7)可得

显然,以图像块亮度计算暗通道会使像素细节缺失,因而本文引入亮度通道的灰度变化参量M(the median of the deviations from the median)[11]来自适应调节暗通道亮度,以减小图像块计算模式带来的细节损失。M可有效提取像素亮度变化:

2 本文去雾算法

借助上述暗通道先验,以公式(3)为计算模型,归一化处理A后可以解出图像的透射率;利用透射率,提取并计算出环境光强;最后分别代入物理散射成像模型,就可以复原出原始场景。

2.1 透射率计算

结合公式(3)和公式(12),透射率的计算模型可表达为

上式结合了像素颜色浓度、细节和局部图像块亮度,因而兼具图像块级和像素级透射率计算方法的优点。

解出透射率:

以透射率t为输入,以雾天图像x为引导,通过导向滤波进一步优化图像的透射率:

其中,ε是值很小的调整常数[5],可以防止ak过大。通过导向滤波,使得t*中的细节更丰富。

2.2 环境光强A估计

选取图像中透射率最低的前0.1%像素来构造像素集xA,且xA中像素值的平均值即为环境光强A。考虑到浓雾区域饱和度低、亮度高、细节模糊等特征,将这些参量归一化后构造权重可提高环境光强A的准确性:

上式中,MA、SA和IA是将xA中亮度变化、饱和度和亮度分别归一化后的向量,e是各分量为1的适当维数向量是向量xA的RGB通道。运算符“∘”是哈达玛积,表示对应元素相乘,结果是同型向量。运算符“·”是数量积,表示对应向量元素的积之和,结果是实数。

2.3 原始场景复原

将透射率t*和环境光强A代入大气光成像变形公式(3)中,可复原雾天图像的原始场景:

其中,常数0.1用来减少噪声干扰。

3 实验结果与讨论

为了衡量本文算法的性能,本文另外选取了六种不同算法作为对照,即经典的基于图像块先验的DCP去雾算法[3]、基于非局部特征的NLD颜色线去雾算法[12]、结合图像块先验和深度学习的DH-net去雾算法[5]、基于聚合网络和图像块先验的GDH-net去雾算法[6]、基于像素饱和度调整的SDH去雾算法[7],以及基于像素动态范围调整的整体像素先验IDGCP 去雾算法[8]。实验环境为Matlab R2018b Win7 2.50 GHz Intel i5-3210 M PC机。文中的暗通道和导向滤波所涉及到的图像块尺寸分别为15和50。

3.1 主观质量评价

图1至图3对比了本文算法和其他算法的去雾结果。可以看出,DCP算法、NLD算法、GDH-net算法以及IDGCP算法均可有效去雾,而DCP和GDH-net可有效保护图像颜色,但算法复原结果暗、亮度损失大,如图1(b)和图1(f)所示;IDGCP算法不能有效地保护图像的颜色细节,如图1(c)所示;NLD算法复原结果的饱和度偏高,出现过饱和现象,如图1(d)所示;SDH算法较好地保护了图像的细节,但去雾结果出现了较明显的颜色失真,如图1(g)所示;DH-net算法较好地保护了图像的亮度,但出现了明显的去雾不彻底现象,如图1(e)所示;采用像素颜色浓度替代图像块颜色浓度,并引入M参量自适应调节暗通道亮度以减小细节损失,因此不仅能够有效去雾,在亮度和饱和度的保护上也明显优于其他算法,而且颜色保护也与DCP和GDH-net结果相近,如图1(h)所示。

图1 草堆图像去雾结果

图2 郊区图像去雾结果

图3 城市图像透射率

图2对比了不同算法对雾天郊区图像的去雾结果。将图2(a)中的远景浓雾区域、中等景深雾区域和近景薄雾区域分别标注为A、B和C。对于浓雾区域A,本文算法可有效去雾,而其他算法去雾均不彻底。本文算法对于透射率计算结合图像块亮度与像素颜色、细节特征,兼具图像块与先验优势,因而在浓雾区域拥有较好去雾效果。对于中雾区域B,除DH-net算法,其他算法均可有效去雾,且在视觉上本文算法亮度和颜色保真能力最好,这是因为DH-net算法采用深度学习的方式直接估计输入雾图与透射率的关系,可能发生过拟合而导致透射率估计值不准确。对于近景C区域,由于雾浓度低,本文算法和对比算法均可有效去雾。NLD算法采用Non-local先验方法以将像素聚类成雾线,而本文算法融入了像素的亮度差异特征,因此这两种算法更能保护颜色细节和亮度。

图3对比了本文算法和其他算法的雾天城市图像透射率。可以看出,DCP算法、NLD算法和GDHnet算法对远景区域的透射率存在过小估计,使得远景区域过度去雾,以致复原结果饱和度过大。IDGCP算法、DH-net算法和SDH算法过高估计了远景区域的透射率,结果导致这三种算法无法对远景区域有效去雾。相比之下,本文算法透射率更符合由近及远的渐变规律,且估计值更准确,如图3(h)所示。

3.2 客观质量评价

采用雾浓度感知估计因数FADE(Fog Aware Density Evaluator)[13]、新生边缘率e、可见边缘的归一化梯度、饱和黑白像素比例σ[14],以及图像的亮度B(Brightness)定量评价算法的去雾性能。FADE值越小对应图像中的雾浓度越低,因此,若修复结果的FADE值越小,则算法的去雾能力越好e值越大,则去雾复原结果越好。数值越大去雾结果对比度越高。σ是复原图像中黑白饱和像素比例,数值越小去雾结果越好。对于亮度B,可取图像中所有像素亮度的平均值,其相对于雾天图像亮度降低越小,则去雾结果的亮度保护能力越有效。

表1列出了采用本文算法和其他算法来处理自然雾天图像的FADE值和B值结果。在绝大多数情况下,本文算法复原结果的亮度值和原始图像的亮度更接近,表明本文算法具有更有效的亮度保真能力。此外,无论是单个图像的FADE数据还是测试图像的FADE平均数据,本文算法的FADE值更低,这说明本文算法较其他算法去雾能力更强。同时表2 列出了各种算法处理自然雾天图像的e值值和σ值。根据表中数据,本文算法的e值和σ值在大多情况下是最优值值全部高于其他算法,表明本文算法的去雾结果抑制过饱和能力、对比度和细节保护能力更强。

表1 本文算法和其他算法去雾结果的亮度值(B)和FADE值

表2 本文算法和其他算法去雾结果的e、σ和值

表2 本文算法和其他算法去雾结果的e、σ和值

为进一步评价本文算法的性能,随机选取了公开数据集SOTS[15]中的200张人造雾天图像来进行去雾处理。由于人造雾天图像的原始无雾图像已知,故本文计算了峰值信噪比值(PSNR)、结构相似性系数值(SSIM)[16]和特征相似性系数值(FSIM)[17]来评价去雾结果。由表3数据可知,本文算法的PSNR值、SSIM值以及FSIM值明显高于其他算法,说明本文算法去雾后最接近原始无雾图像,去雾效果最好。图4给出了人造雾天图像处理效果,可以看出,本文算法与原始图像的视觉差异最小。综上所述,本文算法在自然雾天图像和人造雾天图像上都能有效去雾,且能够保护原始图像亮度,视觉感知效果最好。

表3 本文算法和其他算法处理人造雾天图像的PSNR、SSIM及FSIM值

图4 人造雾天图像处理结果

4 结论

本文提出了一种基于HSI颜色空间暗通道的亮度保真去雾算法。该算法首先构造了HSI颜色空间中暗通道计算基本模型,然后引入像素原始颜色浓度和亮度变化来优化该模型,将图像块亮度的局部一致性、原始场景颜色和细节个体差异性兼顾到透射率中,提高了透射率的准确性,缓解了传统图像先验策略算法易损失亮度、破坏饱和度和丢失细节等问题。此外,针对暗通道中场景的颜色浓度和细节,使其亮度适度减小,合理提升了透射率,复原结果亮度得以保真。采用图像块亮度保留了传统图像块先验策略局部透射率相似性,通过颜色浓度和细节将引入像素特征差异,将透射率从图像块级提升到像素级,使得饱和度和细节得到保护。本文算法复原结果更加接近原始场景,也更加符合视觉感知。

猜你喜欢
雾天透射率先验
为什么在雾天不适宜进行晨练
基于无噪图像块先验的MRI低秩分解去噪算法研究
纯色太阳镜镜片耐日光辐照性能试验研究
微波辐射计对昆明雾天的监测及应用
基于自适应块组割先验的噪声图像超分辨率重建
雾天高速公路交通安全风险评估
基于平滑先验法的被动声信号趋势项消除
先验的废话与功能的进路
石墨烯光栅太赫兹透射特性的研究
玻璃长波透射率对普通双层中空玻璃热特性的影响