基于L1 正则项的优化对比度增强技术的图像去雾算法
2022-04-12赵雪峰
赵雪峰
(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
0 引言
在雾天情况下,空气中存在大量的悬浮颗粒物,会对光线产生散射,导致物体反射出的光线发生衰减,同时反射光与成像设备接收到的光线发生混合,造成成像设备获取到的图像的对比度和清晰度等特征都发生改变,细节信息大量丢失。因此,需要使用去雾算法对此类低质模糊图像进行预处理,以保证成像设备获得高质量的图像。
目前,去雾算法主要分为三大类。第一类是图像增强技术,主要通过提高对比度进行去雾。该类算法适用范围广,运行速度快,但当雾霾浓度比较高时处理效果不理想。典型的代表算法主要有小波变换、直方图均衡化等方法。第二类是图像复原技术,主要通过建立图像退化模型,利用先验知识实现图像去雾。该技术去雾的效果较明显,但存在运行时间相对较长的问题。典型代表算法主要有基于暗通道先验原理的图像去雾等方法。最后一类是深度学习的去雾算法,主要利用神经网络对模型中的参数进行估计,该技术去雾的效果相对较好,但存在着去雾网络模型的训练参数过多等问题。TAN[1]基于清晰的图像比有雾图像对比度更高和大气光成分趋于平滑的假设建立了马科夫模型的代价方程进行图像去雾。朱青松[2]通过对有雾图像的场景深度建模,提出了一种基于颜色衰减先验的去雾算法。任文琦[4]提出了一种多尺度的卷积神经网络来学习模糊图像的传输映射,它由一个描述网络预测一个整体传输图和一个微小尺度的网络来细化地图。OAKLEY[5]通过构建雾霾与图像场景信息的物理模型进行对比度增强的图像去雾。TAREL[6]提出了一种利用估计的大气雾霾折射率与中值滤波器对雾霾进行锐化的去雾算法。何恺明[3]利用估计的暗通道、大气光成分与透射率代入大气光学散射模型进行去雾的先验暗通道的算法。杨冬[7]根据先验的暗通道算法训练了一个基于卷积神经网络的去雾模型。ANCUTI[8]采用多尺度融合的方式将雾霾图像分别输入拉普拉斯金字塔和高斯金字塔进行夜间的图像去雾。金亦州[9]利用雾的浓度与大气光学散射模型的关系训练了一个无监督条件的纠缠网络进行图像去雾。
本文提出一种基于L1 正则化的对比度增强的图像算法,通过增加图像的对比度来消除雾霾,设计一个包含L1 正则项的成本函数来降低雾霾造成的信息损失。L1 正则项可以在约束对比度增强的同时对去雾过程中造成的图像失真进行补偿,进一步优化透射率,求出最优的矩形窗口。实验结果表明,该算法能够有效地恢复图像细节信息并减少高对比度区域的颜色失真。
1 相关工作
大量的雾霾会导致明亮的颜色,因而式(1)中的大气光通常被估计为图像中最亮的颜色,但是,在现实场景中可能出现比大气光A更亮的物体,从而导致图像去雾失真。为了避免这种情况发生,本文利用天空等模糊区域的像素值通常较低的事实来估计大气光,采用一种基于四叉树分层的方法将一个输入图像划分成四个矩形窗口。然后,定义一个值表示每个窗口内所有像素的平均值与标准差值之间的差。将差值高的窗口进一步划分为4 个较小的窗口,重复此过程,直到选定区域的大小小于预先指定的阈值,最后确定最小化的像素值作为选择的矩形窗口的大气光。实验表明该方法选择的像素越接近天空区域,对大气光A的估计就越准确。无雾图像的模型表示如下,计算方法如下:
式中:I(x)是有雾图像,J(x)表示消除大气中各种悬浮颗粒干扰后的无雾图像,A表示大气光照强度,t表示透射率。
2 模型框架
以往的经验表明,有雾区域的对比度较小,当透射率减小时,恢复得到的无雾图像的对比度会增大。但是,如果透射率过小,无雾图像中的像素的值有可能超出[0,1]的范围,从而造成信息的丢失。有雾区域产生了较低的对比度,并且对比度随着透射率的降低而增加。本文使用一种直观的平均误差(Mean Square Error,MSE)对比度来计算恢复图像的对比度。CMSE的计算如(2)所示:
L1 正则化的计算式如式(5)所示:
式中:Ic与是Jc(x)与Ic(x)在矩形区域q处的平均值,Nc是矩形区域q处的像素值。为了得到最优对比度的函数,本文定义一个整体成本函数。
最优对比度函数计算公式如(6)所示:
式中:λ,β是两个平衡对比度函数与信息损失函数的超参数。值得注意的是,λ,β较大时,信息损失函数的值会降低。无雾图像Jc(x)的像素值的取值范围为[0,255]。Jc(x)的像素值的取值范围如式(7)、式(8)所示:
将式(7)、式(8)代入式(3),可得到透射率t的取值范围。透射率t的取值范围如式(9)、式(10)所示:
将式(9)与式(10)合并,可得到完整的透射率取值范围公式。完整的透射率取值范围如式(11)所示:
值得注意的是,式(11)的取值范围与何恺明在先验的暗通道算法[3]里使用的取值范围是相同的,但先验暗通道算法使用式(11)的假设是清晰图像中物体要比大气光暗,当清晰图像中的物体比大气光亮时是无法有效估计透射率的。因此本文同时采用式(11)进行约束,保证该算法对估计透射率的准确性。
当假设一个矩形窗口中的所有像素共享一个透射率t时,场景深度在窗口中可能会发生空间的变化,使去雾后的图像的部分区域出现条纹、色度失真等情况。为了解决这个问题,本文使用边缘保持滤波器来改进矩形窗口的透射率,达到去除条纹并增强图像细节的目的。这里采用快速导向滤波器[12]来实现图像的平滑与细化。相比传统的导向滤波器,快速导向滤波器可以显著地降低算法的时间复杂度。
3 实验结果与分析
为了验证本文算法的有效性,使用自然场景的雾霾图像作为输入图像实验,并将本文算法与何恺明的暗通道先验算法、朱青松的颜色衰减先验算法、金镇焕的对比度增强算法[11]进行分析对比。首先,调整λ,β两个超参数,根据金[12]等人的实验经验,设置λ=5,并通过实验调整β的值来获得算法最佳的效果。设置β=2 时,去雾后的图像对比度明显增强,但不能完全消除雾霾。经过反复调整,最终得到β=1.1 时,可以有效地防止信息损失,消除雾霾。对比实验过程结果如图1 所示。可以看出,暗通道算法具有明显的条纹,本文的方法表现得更好。为了测试鲁棒性,进一步与多个算法在草木雾图场景中进行实验比较,从图中可以清晰地看到由于暗通道算法估计的透射率整体偏高,导致了结果亮度偏暗。去雾后的图像内的远景轮廓细节表明本文的算法相比传统的对比度增强算法更有效地保留了信息损失。
图1 草木雾图
采用客观评价指标的方法验证提出算法的有效性。客观评价指标的公式如下所示:
式中:nr,n0分别表示有雾图像与无雾图像的可见边。
式中:ri表示p处的Sobel 梯度与原图像在此处的Sobel 梯度的比值,∆表示无雾图像的可见边集合。
式中:i表示直方图维数,fi表示去雾后的图像直方图,gi表示去雾前的图像直方图。图像对于有雾图像的质量评价指标[14]选择可见边e,平均梯度r,直方图相似度HCC为客观指标进行定量分析。去雾图像的客观指标对比如表1 所示。从表1 可以看出,在自然雾图场景下,暗通道算法由于自身的缺陷导致了客观指标较差;颜色衰减算法由于采用与暗通道算法不同的先验,所以客观指标优于后者;对比度增强算法只考虑了对比度的优化,因而客观指标并不理想。本文所提算法的效果优于对比实验的其他3 个算法。
表1 去雾算法的客观指标比较
实验采用MATLAB 语言实现,并在主频2.5 GHz中央处理器的个人计算机上进行测试。所提出的算法需要20~30 s 的时间来去除100 幅图像,而传统的对比度增强算法与暗通道的算法分别需要大约280 s、70 s,时间复杂度的结果验证了快速导向滤波器的有效性。
4 结语
本文提出了一种基于正则项的对比度增强的图像去雾算法,为从优化对比度角度进行图像的去雾提供了新思路。采用四叉树的分层搜索的方法优化大气光的估计,为了更准确地平衡对比度增强后带来的信息损失,定义了一个正则项约束的成本函数,并且较为准确地估计出了透射率。此外,采用快速导向滤波器在有效地解决图像去雾后可能出现的伪影等问题的同时,算法运行效率比传统方法更高,在客观指标上也取得了理想的结果。未来将进一步探索使用深度学习的方法来进行远距离、高浓度等不同场景下的图像去雾工作。