APP下载

暗原色先验与NL-CTV模型相结合的图像去雾方法

2018-08-20赵胜楠魏伟波潘振宽

计算机工程与应用 2018年16期
关键词:原色透射率效果图

赵胜楠,魏伟波,潘振宽,李 帅

ZHAO Shengnan,WEI Weibo,PAN Zhenkuan,LI Shuai

青岛大学 计算机科学技术学院,山东 青岛 266071

School of Computer Science and Technology,Qingdao University,Qingdao,Shandong 266071,China

1 引言

雾是一种常见的自然现象,它会使大气的能见度降低,拍摄的景物图像发生退化,这一现象会影响户外识别、跟踪、智能交通等系统的正常工作。因此,如何在有雾天气下获得清晰图像,对大气退化图像的复原和景物细节信息的增强有着非常重要的现实意义。雾天图像复原方法是基于大气退化物理模型的方法[1-2],先建立退化模型,反演退化过程,补偿退化过程造成的失真,以获得未经干扰退化的无雾图像或无雾图像的最优估计值,从而改善雾天图像的质量。

基于先验信息的雾天图像复原方法中,He等[3]通过对大量无雾图像统计特征的观察,发现暗原色先验统计规律,即在无雾的非天空区域,若把图像分为多个子块,则每个子块至少在一个颜色通道上有亮度很小的像素点,其暗原色图像各像素点的值接近于0。运用这一先验,找出图像局部子块的暗原色,并粗略估算大气透射率。Levin等[4]提出了软抠图(Soft Matting)算法来细化和平滑透射率图,但求解拉普拉斯矩阵方程,计算量庞大。He等[5]提出用导向滤波算法来细化透射率,该方法运算快,实用性强。

基于色彩恒常理论(Retinex)的去雾算法[6]是现阶段图像增强方法中的主流算法,对去除薄雾具有很好的应用效果。文献[7]提出了一种基于暗通道先验和Retinex理论的快速单幅图像去雾方法,该方法通过简化大气散射模型和色调调整得到复原图像,能有效提高复原图像的清晰度和对比度。

基于偏微分方程的雾天图像复原方法中,TV(Total Variation)去噪模型[8-9]最为经典,已广泛应用于图像处理方面。对雾天图像的处理,可借助大气散射模型(Monochromic Atmospheric Scattering Model,MASM)[10],建立户外图像全局去雾和局部去雾的能量优化模型。彩色图像可以看作多层灰度图像,可以直接将灰度图像噪声去除的变分模型用于各层图像,但是由于各层图像边缘处的扩散强度不一致造成边缘模糊。为此,Blomgren等[11]提出了一种层与层之间耦合关系的CTV规则项,该规则项具有良好的彩色图像边缘保持效果。大量实验[12]表明,基于非局部算子的CTV模型同样可以实现彩色图像的边缘保持和纹理保持。

本文结合暗原色先验信息和偏微分方程的优点,提出暗原色先验与NL-CTV模型相结合的新型去雾模型,最大程度地实现图像清晰化和保持图像的纹理、边缘等特征。

2 暗原色先验和NL-CTV模型的相关背景知识

2.1 暗原色先验

Narasimhan和Nayar等[13-14]基于McCarteny的散射模型和环境光模型,提出了单色大气散射模型来建模雾天条件下的图像退化过程,其数学表达式为:

式中,第一项为直接衰减项,第二项为大气衰减项。I为退化图像;J是输出图像,即待恢复的无雾图像;A是大气光强度,其值可以借助于暗原色先验知识来获取;t为大气传输函数,即透射率。显然,这是一类典型的病态反问题,因此需要一些先验知识。

暗原色先验统计规律[3]表明,在无雾的非天空区域,若把图像分为多个子块,则每个子块至少在一个颜色通道上有亮度很小的像素点,并且其暗原色图像各像素点的值接近于0。

式中,Jc表示彩色图像J的每个通道;Ω(x)表示以像素X为中心的一个窗口。根据文献[3],暗原色分量与传输分量t͂(x)存在如下关系:

通过式(3)便可粗略求得透射率图。式中,ω∈(0,1]是一个常数,引入因子的目的是保留一定程度的雾,使结果图像看起来更加自然。最终,暗原色模型复原图像公式如式(4)所示:

式中,t0是为避免除数为0而设置的一个常数。

2.2 非局部算子

根据文献[15-17],设u(x):Ω→R为噪声去除后的图像,非局部方法以图像中包含当前像素点的小邻域(片)与包含其他像素点的小邻域(片)的相似度为基础,该相似度定义为:

式中,σ为高斯核函数的宽度参数;h表示相似度的阈值。从而可以定义非局部梯度为:

对于非局部矢量v(x,y),定义其内积:

从而x点处非局部梯度的模为:

非局部矢量之非局部散度的定义为:

从而非局部Laplacian为:

2.3NL-CTV模型

彩色图像可以看作多层灰度图像,因此可以将灰度图像去雾的变分模型用于各层图像,但由于不同图像层的耦合,容易引起图像的虚假边缘。采用一次范数L1能保持边缘,但可能会产生分片现象,而二次范数L2不会产生分片现象,但可能会导致边缘模糊。文献[11]提出了一种层与层之间的耦合关系的规则项来替代TV模型的规则项,表达恢复后图像光滑程度的先验知识。因此,纹理保持的彩色图像NL-CTV模型为:

式中,λ是惩罚参数;是数据项,表示观测图像与恢复后图像的接近程度。

3 本文提出的算法

本文结合暗原色先验和NL-CTV模型的优点,尝试从全变分的角度建立带雾图像的变分能量模型。先利用暗原色先验精确估算出大气光值和透射率分布,推导包含大气光值A和大气传输函数t的能量泛函,再通过NL-CTV模型中规则项与数据项的约束,复原不同场景深度的图像部分,最大程度地实现图像清晰化和保持图像的纹理、边缘等特征。构建的新型去雾模型如下:

其中,λ是惩罚参数,可以控制复原图像的清晰程度;I为带雾图像;J为待去雾图像。

3.1 大气光值的估测

文献[18]直接采用最亮像素值估计大气光值,但结果容易受高亮度噪声或白色物体的影响。文献[3]在暗原色图中按亮度的大小取前0.1%的像素点,对照这些位置,找出原始带雾图像I中对应位置的像素点,满足条件的所有像素点的最大像素点值即为A的值。但是若图像中天空区域小于暗原色求取中滤波窗口的尺寸,则错误地滤除了天空区域。因此,采用文献[19]中提出的大气光估测方法,首先选取有雾图像暗通道值较大的前30个像素点颜色值的平均值作为环境光的初始估计值,即然后根据大气光一般总偏向白色的特点,调整选取的像素点个数,进一步校正大气光,使其满足如下条件:

这里Bmax取0.01,以尽量减少噪声对大气光估算的影响,致使恢复的图像不会出现颜色失真,同时环境光又不至于过大导致最终恢复的图像偏暗。

3.2 精确透射率的获取

软抠图算法实质上是采取差值算法来细化和平滑透射率图,其作用是把输入图像的前景部分从整个图像中分离出来,由于需要求解大型拉普拉斯矩阵方程,计算量庞大。本文采用导向滤波算法[5]取代软抠图来细化透射率t,该方法主要依靠简单的方框模糊效应,运算较快。

3.3 模型的求解

求解该模型的方法很多,由交替优化方法、梯度下降方法及半隐式迭代等可得到关于主变量的解,如对偶算法[20]、Augmented Lagrangian 算法[21]和 split Bregman算法[20]等,这些算法都避免了运算TV规则项里复杂的曲率,实现快速迭代。鉴于非局部复杂的迭代模式,根据参考文献[17],本文采用split Bregman快速算法来求解该模型,在很大程度上提高了收敛速度。先引入非局部矢量wi和非局部Bregman迭代参数bi:

式中,k代表迭代次数。令来简化计算过程,从而可将式(12)转化为如下split Bregman迭代优化格式:

可得到关于Ji的Euler-Lagrange方程为:

及关于wk+1的近似软阈值公式为:

4 实验仿真及数据分析

本文实验在Intel®CoreTMi5-4590 CPU 3.30 GHz,4.00 GB内存的PC机上进行,采用的编程环境为Matlab R2010b。本文算法中的参数t0=0.1,ω=0.95,τ=0.125。图1为λ选取不同值时的效果图,从图1可见,随着λ值的减小,图像越来越清晰。根据图1的实验结果,以下3组实验均取λ=0.001。

图1 λ取不同值的效果图

为了验证提出算法的优越性,将该算法与He算法、暗原色先验和Retinex相结合算法[7]进行比较,选取了以下3组代表实验。

图2是航拍图像及各算法去雾的效果图。图2(a)是原始图,像素为297×257,其特点是图像以薄雾为主,景深变化平缓,景物纹理复杂,有大量深度相等的物块;图2(b)是He算法的效果图,近景处图像去雾效果自然,但远景部分细节没有得到增强,且图像处理颜色偏暗;图2(c)是暗原色先验和Retinex相结合的算法效果图,颜色对比度增强明显;图2(d)是本文算法的效果图。对比可看出图2(d)处理效果最好。

图2 航拍图像和各算法的去雾效果图

图3 花园图像和各算法去雾的效果图

图4 大桥图像和各算法去雾的效果图

表1 各算法质量评价的对比

图3是花园图像及各算法去雾的效果图。图3(a)是原始图像,像素为442×433,其特点是薄雾,且房屋带有纹理;图3(b)中去雾效果较好,但植物与房屋交汇处出现了光晕;图3(c)对比度有所增强,但边缘保持效果并不是很理想;图3(d)不仅去雾效果自然,而且边缘、纹理也保持较好,从视觉上看效果优于图3(b)和图3(c)。

图4是大桥图像及各算法去雾的效果图。图4(a)是原始图,像素为496×324,其特点是浓雾,景深较大,且色调偏紫;图4(b)中近景部分细节得到了增强,但总体色调偏暗;图4(c)提高了对比度,但边缘处理效果一般;图4(d)处理效果最为自然。

上述3组实验结果表明,He等[3]算法能复原不同雾浓度和场景深度的图像,去雾效果自然,但对远处景物的对比度增强不足,且处理效果普遍偏暗;暗原色先验和Retinex相结合的算法可以获得较好的清晰度和对比度,但边缘保持效果并不是很理想;本文算法不仅使图像去雾效果最为自然,而且最大程度地保持了图像纹理和边缘的特征。

为了客观说明本文算法的去雾性能,从两个角度对各个算法处理的效果图进行测评:第一个是采用MSE和PSNR作为图像质量的客观评价指标,针对每个像素,对比原图像和去雾后图像,评估两者之间在像素上的差异。MSE的值越接近0,PSNR越大,说明处理后图像失真小。第二个采用的是SSIM(Structural Similarity)结构相似性,它分别从亮度、对比度、结构三方面度量图像相似性。SSIM取值范围[0,1],其值越大,表示图像失真越小,其公式如下所示。

5 结束语

依据带雾图像的物理特性,将NL-CTV模型与暗原色先验相结合,提出了一种针对单幅彩色图像的去雾算法。实验结果表明,利用改进的大气光估测方法,精确估计大气光值,可以克服图像背景中白色物体的干扰;通过规则项和数据项的约束,使处理结果色彩更加自然,无色偏或者伪影效应;采用split Bregman快速算法来求解该模型,可以在很大程度上提高收敛速度。本文算法可以较好地恢复彩色带雾图像,视觉效果良好,并且能较好地保持纹理特征,但运算量庞大,时间和空间复杂度较高,去雾算法的复杂度还有待降低。

猜你喜欢

原色透射率效果图
等离子体随机分布对THz波传输特性的影响
苏楠作品
《客厅效果图》
效果图1
效果图2
一种改进的场景透射率修正图像去雾算法
纯色太阳镜镜片耐日光辐照性能试验研究
一种应用于车牌检测的改进暗原色去雾算法
原色儿童村:让孩子回归自然