结合Lab空间和单尺度Retinex的自适应图像去雾算法

2020-03-05 03:12马文君刘金虎王小鹏孙士伟
应用光学 2020年1期
关键词:透射率先验复原

马文君,刘金虎,王小鹏,孙士伟

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

引言

雾霾天气下,由于悬浮在大气中浮尘颗粒、小水滴等对光线折射和散射,导致获得的户外图像对比度和饱和度降低,颜色失真,可视效果较差,影响图像后续处理[1]。如在智能交通、国防和航空领域等,视觉系统会受到影响从而导致各项工作无法正常进行。因此,如何高效地将有雾图像复原成视觉效果良好的图像具有十分重要的现实意义[2]。

目前图像去雾方法主要有3 类:图像增强、机器学习和图像复原方法。图像增强方法如Retinex算法[3]和直方图均衡算法[4],这类算法在处理图像时不考虑退化原因,只为满足视觉感知,不能实现真正意义上的去雾;机器学习方法如Cai 等人[5]提出的基于端对端系统算法,通过训练数据获得模型实现去雾,但受数据集约束,具有一定的局限性;图像复原算法以He 等人[6]提出的暗通道先验算法为代表,通过分析雾图降质机理,建立图像退化模型,充分利用图像退化的假设或先验知识反演推出无雾图像,该方法去雾效果自然,一般不会有信息损失,因此该方法目前受到国内外研究学者的青睐。

近年来,国内外学者对降质图像的复原研究已取得了许多成果,He 等人[6]提出的暗通道先验算法取得了较好的去雾效果,但由于对存在天空等明亮区域的图像透射率估计过小,容易导致复原图像出现颜色失真,且软抠图的使用增加了该算法的时间复杂度;Meng 等人[7]提出的边界约束算法,能有效衰减图像噪声、增强图像的对比度,但会出现颜色失真和偏色现象。Sun 等人[8]提出了局部大气光估计算法,有效改善了暗通道算法中大气光估计不足的问题,但复原图像出现过饱和现象,且对含大片明亮区域的图像复原效果不佳,Zhu 等人[9]提出了颜色衰减先验算法,利用监督学习方法建立有雾图像的线性模型来复原景深,该方法取得一定的效果,但由于受到样本训练影响,时间复杂度较高且去雾不彻底;Wang 等人[10]通过假设雾图和无雾图最小通道之间的线性关系来估计透射率,提出一种基于线性传输的去雾算法,该算法去雾较彻底,但去雾程度越大,复原图像越暗。

本文主要针对He 等人提出的暗通道先验算法在天空区域透射率估计过小及最小值滤波使用引起Halo 效应的问题,提出了一种具有良好边缘保持效果和较低时间复杂度的图像去雾算法。该算法将单尺度Retinex 算法和边缘检测算子相结合,并将RGB 空间转换到Lab 颜色空间,得到融合边缘信息的“伪”去雾图;其次,使用交叉双边滤波优化介质传输率。最后,结合大气散射模型复原出无雾图像。

1 背景

Cartney[11]首先提出了大气散射模型,后由Narasimhan[12]对此模型进行推导和演化,得出了雾霾天气条件下的大气散射模型:

式中:x为像素点;I(x) 为 有雾图像;J(x)为无雾图像;A(x) 为 大气光;t(x)为透射率; β为大气散射系数;d(x)为场景深度。

由(1)式,透射率t(x)可表示为

其中c表示R、G、B3 个通道。

He 等人通过对5 000 多幅无雾图像进行统计和观察发现,86%的像素灰度级分布在[0,16]范围内,由此根据概率统计知识提出了暗通道先验理论:

其中:Jdark为有雾图像的暗通道图;Ω(x)为以像素x为中心的最小值滤波窗口;Jc(c∈{r,g,b})为3 个颜色通道的分量。

结合(1)式和(4)式,在假设大气光值A(x)为常数情况下透射率为

其中,为了保证恢复图像的真实感,本文取 ω为0.95。该理论对大多图像成立,但由于暗通道选用3×3 的滤波窗口进行最小值滤波,导致对边缘高频信息估计过小,复原出图像在景深突变处出现明显的Halo 效应。此外,由于在天空等明亮区域无法满足暗通道先验假设的条件Jdark(x)→0,使得透射率估计过小,故暗通道先验算法对此类图像失效。

2 本文算法

本文提出了一种结合Lab 空间和单尺度Retinex的自适应图像去雾算法,以解决暗通道先验算法在大片天空等明亮区域透射率估计不足的问题。首先,在单尺度Retinex 算法优化亮度分量时,将RGB 颜色空间转至Lab 空间,对亮度分量使用Canny 算子进行边缘检测,将边缘区域与非边缘区域分离,非边缘区域以最小均方误差为依据进行自适应高斯滤波,求得优化后的亮度分量,再转至RGB 空间得到“伪”去雾图,并根据暗通道先验得到透射率的粗略估计;然后,使用交叉双边滤波消除由最小滤波产生的Halo 效应,得到较准确的透射率;其次,对大气光的选取,本文采用Sun 等人提出的局部大气光估计方法来改善全局大气光取值不足而导致复原图像偏暗现象,最后,结合大气散射模型得到无雾图像。本文算法流程图如图1 所示,实现效果如图2 所示。

图1 本文算法流程图Fig.1 Flow chart of our algorithm

图2 本文算法实现效果过程Fig.2 Effect process diagram of our algorithm

2.1 透射率的粗略估计

根据Retinex 理论[13],图像S可表示为

式中:S为原始有雾图像;R为 反射分量;L′为亮度分量;(x,y)为图像中位置坐标。若将有雾图像看作观测图像,亮度分量在图像中引起的变化较平缓,而反射分量在图像中引起的变化则会造成图像颜色突变。在此基础上,将亮度分量分离出去,求出反射分量,即可得到“伪”去雾图像。

为了方便计算,对(6)式两边作对数操作:

由(7)式可知,只要估计出亮度分量L′(x,y)的值,就可求得反射分量R(x,y),因此亮度分量的估计结果会影响图像复原效果。

Lab 色彩空间3 个分量都是相互独立的,故单独处理亮度分量不会对a、b分量产生影响。本文将RGB 通道转为Lab 通道估计亮度分量,可以有效避免Retinex 算法在RGB 通道处理时不区分色彩和亮度导致的色彩失真。

对Lab 空间亮度分量进行高斯卷积估计亮度分量,表达式如下:

式中“*”为卷积运算,高斯平滑函数

G

(

x

,

y

)的表达式为

式中:k是规一化常数,满足σ是函数所选的尺度参数,当 σ值较大时,复原图像颜色保真度较好,但出现部分细节丢失现象,当 σ值较小时,细节恢复较好,但图像颜色失真严重。由于反射分量与所选尺度 σ值有关,本文针对上述σ取值较敏感的问题,将雾对图像的影响假设为噪声,利用拉普拉斯算子对整个图像作均分处理,以最小均方误差为依据自适应获取尺度 σ的最优值:

式中:W和H分别表示原始图像的高和宽;N=[1 -2 1;-24-1;1-2 1]为离散拉普拉斯变换掩模。

由于单尺度Retinex 算法没有考虑边缘影响,导致复原后图像边缘细节信息丢失,本文使用Canny 算子来获得图像边缘信息E(x,y),其中边缘部分为1,非边缘部分为0。获取边缘信息后,为达到良好的保边效果,仅对非边缘信息进行高斯滤波得到融合边缘信息的亮度分量:

根据(8)和(11)式可得到初步估计的反射分量:

其中r(x,y)=log(R(x,y))。

图3 透射率对比Fig.3 Comparison diagram of transmittance

转至RGB 空间,反射分量R(x,y)即为近似为无雾的“伪”去雾图像,用表示,根据暗通道先验理论得到透射率的粗略估计:

2.2 透射率优化

由于使用最小值滤波后的透射率伴有明显的块状效应,而交叉双边滤波有边缘保持、平滑细节和降低噪声的优点,故采用交叉双边滤波对透射率进行优化。即:

式中:E=minc∈{r,g,b}Ic(x);D=t1(x);pw是计算t2(x)的窗口;z表示空域部分;zj是 窗口pw中围绕像素x的位置;Ej是zj对 应的值域部分;k1、k2分别是值 域 和空域滤波器;hr、hs分别是值域和空域滤波器内核;C是归一化常数。(14)式的效果如图3(d)所示。

由图3 可以看出相比于He 等人算法,本文算法对天空区域的透射率估计更加准确,景深交替处纹理过渡平滑,更能反映深度信息。

2.3 局部大气光的估计

大气光值A是基于大气散射模型去雾的另一个非常重要的参数,当A值大于真实值时,复原后图像整体偏暗且部分细节丢失,反之亦然。考虑到He 等人[6]选取全局大气光值在出现误差时会影响整体处理效果,采用Sun 等人[8]提出的局部大气光值估计方法。该方法可以反映图像的局部特征,有效消除由于全局大气光误差造成的整体不足现象。

首先计算图像的最大值通道Amax(x);其次对Amax(x)进行形态学闭操作来消除局部内过大像素A(x)。的干扰;最后利用双边滤波来满足大气光局部平滑的特性,从而得到边缘保持良好的局部大气光

2.4 图像复原

根据大气散射模型及上文求得的透射率和局部大气光,可以恢复出无雾图像J(x):

其中阈值下限t0是为了避免透射率趋于0 时J(x)出现噪声干扰,本文t0取0.1。

3 实验结果与对比分析

本文实验和仿真均在PC 机上采用MATLAB 2016 的环境下运行,PC 机配置Inter(R)Core(TM)i7-7500U CPU@2.7 GHz 2.90 GHz 8.00GB(7.88 GB可用),并与经典算法作了实验对比,从主观和客观对实验结果进行分析。本文选用的经典去雾算法有:He 等人[6]提出的暗通道先验算法、Meng 等人[7]提出的边界约束算法、Zhu 等人[9]提出的颜色衰减先验算法和Sun 等人[8]提出的局部大气光估计算法。选取了不同场景的雾图进行对比。

3.1 主观评价

本文选景深变化平缓、景深变化剧烈、有强光源或白色物体、大片天空区域及浓雾图5 种图像进行恢复,恢复效果对比如图4 所示。

图4 景深平缓图像效果对比Fig.4 Comparison of experimental effect

Image1 为景深平缓图像恢复效果对比,图4(b)算法和图4(e)算法对细节恢复不明显;图4(c)算法通过增加约束条件解决大气散射模型病态问题,虽复原细节增多,但牺牲了图像的色彩保真度;图4(d)算法和图4(f)算法取得了较好的恢复效果,但图4(d)算法出现过饱和现象;图4(f)算法恢复图像细节明显,且颜色保真度更好。

Image2 为景深突变图像恢复效果对比,图4(b)、图4(e)算法恢复图像存在不同程度残雾,且恢复细节不明显;图4(c)算法恢复图像天空区域出现明显偏色现象;图4(d)算法恢复图像色彩过饱和;图4(f)算法恢复图像亮度适宜,近景区域色彩丰富,远景区域恢复出了天空色彩及云彩纹理。

Image3 为强光源和白色物体图像恢复效果对比:图4(b)恢复图像整体偏暗;图4(d)算法通过增加约束条件牺牲了图像色彩保真度,导致恢复图像存在伪影现象;图4(c)算法复原图像出现过饱和现象;图4(e)算法恢复图像存在残雾;图4(f)算法恢复图像亮度适宜,细节明显。

Image4 为存在大片天空区域图像效果对比,图4(b)、图4(c)和图4(d)算法恢复的图像在非天空区域能取得较好效果,但在天空区域都出现了严重失真;图4(e)算法去雾不彻底;图4(f)算法恢复图像近景细节明显增多,亮度及饱和度适宜。

Image5 为浓雾图像恢复效果对比,各算法去雾都不彻底,图4(b)算法恢复图像颜色偏暗且细节不明显;图4(c)和图4(d)算法残雾现象严重;图4(e)和图4(f)算法恢复效果较好,但都存在少量残雾,图4(f)算法恢复图像细节相对较多。

3.2 客观评价

采用Hautiere 等人[14]提出的可见边梯度法进行评价。通过对可见边e、归一化平均梯度r¯、饱和像素点个数 σ及运算时间作为指标对几种去雾方法进行比较分析。其中,e和值越大,σ值和运算时间复杂度越小,则表示去雾效果好。对应数学表达式如下:

式中:n0为 雾图的可见边数;nr为复原图像的可见边数;ri和pi为复原图像与原始图像的梯度比; ℘i为复原图像的可见边集合;ns为复原图像的饱和像素点;W和H为图像的宽和高。表1~表4 为实验结果对比。

表1 可见边Table 1 Visible side

表2 归一化平均梯度Table 2 Normalized average gradient

表3 饱和像素点个数Table 3 Number of pixels in saturation point

表4 运行时间Table 4 Running time

由表1 可见边看出Meng 的算法可见边值非常小,而本文算法有一定的优势,主要是因为本文算法利用融合边缘信息的高斯滤波估计亮度分量,复原出较多的边缘细节信息,但Sun 等人算法对图1 和图3 处理效果优于本文算法,本文算法整体算法优于He 等人算法及Zhu 等人算法;由表2平均梯度[15]看出Meng 的算法同样存在不足,本文算法整体优于4 种经典算法;由表3 饱和像素点看出本文恢复图像的饱和像素点值整体低于其他算法,故算法仍优于其他算法;由表4 运行时间可以看出几种经典去雾算法基本上都比较耗时,本文算法采用单尺度retinex 算法计算复杂度相对较小,运行时间明显优于其他算法。综上分析,本文算法具有一定的优越性。

4 结论

本文针对暗通道先验算法在明亮区域透射率估计过小及景深边缘处出现Halo 效应的问题,在暗通道先验算法的基础上,将Lab 颜色空间、边缘检测算子与单尺度Retinex 算法相结合,提取亮度分量单独处理,避免了传统Retinex 算法提取亮度分量而对色彩产生影响。边缘检测增加了复原细节,解决了最小值滤波引起的Halo 效应,并根据Retinex 理论得到粗略透射率,然后使用交叉双边滤波对透射率进行优化,平滑细节、降低噪声。实验表明,本文算法时间复杂度较低,且复原后图像色彩保真度较高,细节丰富,对天空区域处理较好,且在客观评价中也体现出一定的优势。但是本文对远景图像去雾不足,进一步解决该问题提高去雾效果将是接下来的研究方向。

猜你喜欢
透射率先验复原
温陈华:唐宋甲胄复原第一人
噪声对相干衍射成像重构物体图像的影响
浅谈曜变建盏的复原工艺
毓庆宫惇本殿明间原状陈列的复原
基于无噪图像块先验的MRI低秩分解去噪算法研究
一种改进的场景透射率修正图像去雾算法
纯色太阳镜镜片耐日光辐照性能试验研究
基于自适应块组割先验的噪声图像超分辨率重建
康德审美判断的先验演绎与跨文化交流
基于平滑先验法的被动声信号趋势项消除