基于暗通道先验与梯度导向滤波的图像去雾算法

2022-05-30 06:15廖员王成辉
电脑知识与技术 2022年30期
关键词:透射率

廖员 王成辉

摘要:针对现有图像去雾算法中全局大气光值和透射率估算不准确导致图像去雾后色彩失真、去雾效果差等问题,提出一种结合暗通道先验与梯度导向滤波的图像去雾算法。首先,通过初始滤波处理,获取透射率的初始估计值,结合暗通道先验理论,引入多种控制因子,计算得到更准确的透射率;其次,引入梯度导向滤波算法,进一步优化透射率图;最后,通过大气散射模型进行恢复处理,得到去雾图像。实验结果表明,研究算法相较其他暗通道先验算法而言,其PSNR与SSIM平均提升39.64%与32.74%,研究算法在主观视觉效果和客观评估指标均优于其他算法。

关键词:图像去雾;暗通道先验;梯度导向滤波;大气散射模型;透射率

中图分类号:TP391      文献标识码:A

文章编号:1009-3044(2022)30-0027-06

开放科学(资源服务)标识码(OSID):

1 引言

信息作为人类社会和科技发展的载体,信息质量的优劣对人类的日常生活和科学研究有着很大的影响。图像作为信息的一种主要传递手段,图像采集[1-2]也是人们日常生活或科研中不可或缺的一部分。然而图像设备在采集图像时,常常会受到外部环境的影响,比如在大雾或者雾霾天的场景下,光线传播途中遇到悬浮于大气中粒径较大的气溶胶粒子,与之发生交互作用,光能的亮度、颜色等特性将发生改变,此特性不利于图像的采集。在霧霾的影响下,视频监控、远程感应、自动驾驶等实际应用场景容易受到干扰,检测和识别等高级计算机视觉任务的难度也会增大。同时随着无人驾驶汽车市场的飞速发展,未来智能车辆行业也亟待解决雾天导致的图像降质问题。因此,图像去雾成为一种愈来愈重要的技术,有着非常重要的研究价值和现实意义。

目前图像去雾算法的研究主要有三个方向[3-4]:基于图像增强的去雾算法、基于图像复原的去雾算法与基于深度学习的去雾算法。基于图像增强的去雾算法有使图像像素分布更加均匀的直方图均衡化算法(HLE)[5]、消除反射分量影响的Retinex算法[6]和放大可识别区域的小波变换算法[7]等。基于图像复原的去雾算法是以大气散射模型为基础,通过规律解得其未知因子的值,从而得到去雾图像。He等[8]研究了一种基于暗通道先验性规律的去雾技术,克服了图像失真等问题,取得了良好的图像去雾效果。然而,在灰色与白色区域,该方法存在失效的可能性,使图片颜色变得扭曲,表现出不同色块、色斑、光晕等现象;此外,该方法还存在被暗化的可能。Tan等[9]发现无雾图像由于受雾霾影响小,物体色彩呈现更丰富多样、对比度更高,利用这一特征,他们采用了提高雾霾区域去雾处理后图像的局部对比度的方法。然而,由于对雾霾区域计算可能不准确,该方法存在图片局部区域色彩过度饱和的问题。Fattal[10]带领的队伍基于在一个物体表面光滑的阴影部分与曲折凹陷的阴影部分与光线的透射率局部不相关的假设,提出了估算估计物体的辐射与照明程度,从而算出透射率图像的方法。然而,由于在团雾的情况下,有雾区域呈现纯灰或纯白色,不能可靠地获得透射率图像,该方法存在图像失真较大的问题。Tarel等[11]通过中值滤波的变形方式估计图像的透射率,结合大气光参数恢复无雾图像。然而,中值滤波不能去除强边缘附近的雾,因此该方法无法适应所有场景。Wang等[12]提出了一种多尺度深度融合(MDF)方法对单幅图像进行去雾处理,可是存在运行效率低等问题。基于深度学习的去雾算法主要分为两类:一类是使用神经网络模型对大气退化模型中的参数进行估算,另一类是使用神经网络模型(例如生成对抗网络)直接将输入的有雾图像输出为无雾图像。然而,基于深度学习的去雾算法需要依赖大量测试数据进行训练,导致成本太高,难以广泛应用到实际环境。因此基于图像增强或图像复原的去雾算法仍是目前最主流的研究方向。

针对上述问题,本文结合暗部透射通道和大气散射模型理论,选取多种控制因子,采取粗略图像透射比率图进行估算,同时结合梯度导向滤波法获取更加准确的数据信息,计算出空气中大气光照度的平均值,再将已完成简化处理的透射速率图与大气光照值纳入大气散射模型中,提出了一种效果更好的去雾方法。最后,评估与验证了本文去雾方法的实现效果。

2 理论背景

2.1 大气散射模型

大气成像可看作一个对视觉信号的编码过程。大气光在到达人眼之前,会先受到空气中悬浮粒子的类型、规模和稠密程度的影响,也就是说大气光会受到散射、折射、吸收等影响。在一些严重恶劣天气,例如:雾、霾、沙尘暴等,大气散射对图像呈现的效果都会有重要的影响,并且光传播的距离越远,大气散射的影响就越不能忽视。在晴朗的天气,空气中悬浮粒子基本能够忽略不计,对大气光的散射影响极小。雾天时,由于空气中大量悬浮粒子的存在,被观察物体最终到达人眼或者图像采集设备时,往往会呈现能见度降低、对比度差和色彩灰度等特征。

在计算机视觉领域,大气散射表现为室外视觉系统所捕获的场景图像其对比度、颜色和分辨率等特征衰减明显。散射模型主要分为两种:1)入射光衰减模型;2)大气光成像模型。它的数学描述[13-14]表示如下:

[I(x)=J(x)t(x)+A(1-t(x))]            (1)

式中:[Ix]是观察到的雾景退化图像;[A]为大气光照值;[Jx]是待取得的清晰无雾图像;[tx]为大气传输中的透射率,它是0到1之间的值。[J(x)tx]表示目标景物的直接衰减;[A(1-t(x))]表示大气光经过衰减到达传感器的能量。由此模型可知:在通常的雾景图像中,图像距离相机越远,图像的退化程度越高,其亮度也随之变高。

图像去雾的目标就是通过一定的手段获得大气光值[A]和透射率[tx],然后代入大气散射模型即可得到无雾图像[Jx]:

[Jx=Ix-A / tx+A]        (2)

2.2 暗通道先验理论

He[6]等通过对大量无雾图像进行观察发现,在非天空区域中,总会存在一部分局域图像,其像素中的R、G、B三个通道至少有一个通道的值接近于零。

根据这些统计数据,暗通道用公式表达为:

[Jdarkx=miny∈Ωxminc∈r,g,bJcy → 0]        (3)

式中:[Jx]为待取得的清晰无雾图像;[Jdarkx]为清晰无雾图像的暗通道值;[Ωx]是以像素[x]充当中心的起点窗口。暗通道先验去雾方法的提出是图像去雾领域的一个重要突破,为研究人员在进行图像去雾研究时提供了一个新思路。

2.3 暗通道先验去雾算法

上文表达式(3)的物理意义是指:先计算出各像素分量对应最小值,将其保存在一幅和原始纯灰度相同的彩色图像中(要求灰度一致),接着对彩色原始灰度图像中各个像素点采取最低值滤波处理,滤波阈值将通过窗口的各大小角度决定,通常要求满足如下条件:

[WindowSize=2*Radius+1]                     (4)

其中,暗通道先驗相应理论认为:

[Jdark→0]                            (5)

接着,将(1)式作变形得到:

[Ic(x)Ac=t(x)Jc(x)Ac+1-t(x)]                    (6)

由此可见,上标[c]是指R/G/B三个通道。若假设各个窗口中透射率函数[t(x)]属于常数,看成为[t(x)],同时[A]值属于定值,接着对上式等式两边的透射率函数分别进行两次最低值求解,便变成如下表达式:

[miny∈Ω(x)mincIc(y)Ac=t(x)miny∈Ω(x)mincJc(y)Ac+1-t(x)]              (7)

其中,[J]指待求无雾的图像,结合暗原色先验知识,发现:

[Jdark(x)=miny∈Ω(x)(minc∈{r,g,b}Jc(y))=0]                     (8)

由此得到:

[miny∈Ω(x)=mincJc(y)Ac=0]                     (9)

再将(9)式代入(7)式中,随之得到:

[t(x)=1-miny∈Ω(x)mincIc(y)Ac]                     (10)

以上结果可以看成是透射率[t(x)]的预估值。

在日常生活中,即便是蓝天白云的好天气,空气中往往也有微量颗粒出现。这些雾在使图片纯净度变低的同时,也能使拍摄中构造出更美的意境,因此,在对图像进行去雾处理时也需要适当保留相应的雾。通过表达式可知,对应的因子是[ω]。则将式子(10)修正为:

[t(x)=1-ωminy∈Ω(x)mincIc(y)Ac]                     (11)

经实验测试,[ω]=0.95效果最佳。

由式(11)得,已知[A],[I],[t],可计算得出[J]值。当透射率[t]很小时,将造成[J]值增加,进而导致图像整体透射过度。此时对白场信号透射阈值[t0]进行设置,当[t]<[t0]时,视作[t=t0],即以[t0=0.1]为标准实现图像分析。

最终恢复公式如下:

[J(x)=I(x)-Amax(t(x),t0)+A]                    (12)

利用上述理论进行去雾处理后,得到以下效果:

由图4可知,暗通道先验去雾算法的去雾效果比较明显,但是图2透射率图中出现了抠图不准确的情况,所有物体都被识别成一个个方块,导致在图4去雾后图片中,小汽车、灯柱、绿化带、电线等物体都有一层灰色的轮廓,图片的纯净度下降。因此,需要提高透视率,改进色彩失真,从而提高图片纯净度,增强图片处理效果。

3 本文算法

3.1 暗通道先验改进尝试

针对暗通道先验去雾算法的不足之处,本文首先尝试改进色彩失真的问题,实现的效果如下:

将图7与图4对比发现,改进后的图像,亮度更大,色调更统一。但在处理低亮度图片时,改进颜色会出现色彩偏淡的问题,因此需要寻找其他更优算法。

接着,尝试采取Soft matting,结合软抠图对大气透射率进行优化的方式进行图像去雾处理,得到的效果如下:

将图11与图4对比发现,通过使用Soft matting方法,雾图的透射率更加精准,图片纯净度更高。但是天空中出现了紫色的色块,绿化带左右的天空颜色差别过大,桥上的路牌也模糊不清,图片色彩失真非常严重。并且增加软抠图算法之后代码变得冗长,运行过程中耗费大量时间。这样的方式显然也无法达到去雾预期目标,仍然需要探索更好的算法方式。

通过以上对暗通道先验算法的改进尝试后发现,采取暗通道先验算法处理图片时,在运算结果中会产生有块效应,图片的纯净度下降,因此需要改进色彩失真,提高透视率和图片的纯净度。接着尝试结合Soft matting算法,对大气透射率进行优化处理发现,透射率更加精准,图片纯净度得到略微提升,然而由于软抠图实现方式的特性,代码变得冗长,图片处理将进行大量计算并消耗数据存储时间,导致运算效率下降。因此本文将采用梯度导向滤波的方法进行研究。

3.2 梯度导向滤波的实现

导向线性滤波器组件由一种比较局部线性化的滤波模型组件演变而来,是一种比较于传统的导向滤波器及其组件,在计算时输出数据效率较高,并且数据可直接进行提取,得到相应的线性方向滤波信息。导向累加滤波器必须满足条件:任意一个相同方向的函数滤波器都必须可用。导向累加滤波即对一组方向相同的每个滤波器值进行线性连续地导向累加。导向自动滤波器不仅具备导向累加滤波的独特优势和强大功能,同时它们几乎可在任一滤波方向实现自动滤波处理。经过滤波处理后的各个图像中的某个像素[i]全部能够表示成一个上下加权平均值,对应表达式如下:

[qi=jwij(I)pj]                      (13)

其中,[i]和[j]是指像素点,[wij]是指导向图像[I],[p]表示独立变化的函数。实际上,滤波与[p]线性密切相关。

经过对引导滤波算法相应资料[15-16]进行研究分析得到,若将像素[k]视作中心相应窗口[ωk]区域内,获取的图像与导向图将呈现线性关系,是部分区域的线性关系模型,如式(14)所示:

[qi=akIi+bk,?i∈ωk]                     (14)

式子中的[q]為一个输入窗口像素的系数值,[I]是指一个输入窗口图像对应像素数据,[i]和[k]表示像素点,[a]和[b]表示窗口中全部中心点像素在[k]情况下特定像素系数特点。将式子(14)两边进行求导计算,输出的输入像素梯度值和其他像素值间形成的梯度误差将构成相对线性化特征,因此它们之间达到了既能在图像边缘上充分保留图像信息,又有利于平滑处理图像的设计,此为滤波的主要特征。针对能充当半径的明确窗口[ωk],[(ak,bk)]同时视作唯一明确的常数系数,确保在局部区域范围内,若图像[I]存在边缘情况,则其输出图像[q]会呈现固定值。由于对相邻像素点而言,[?q等于a?I],因此对参数[a],[b]计算将间接获取到[q]。同时把输入图像中非边缘又不平衡区域看作噪点[n],则存在[qi=pi-ni]。最终的目标便是实现噪点最小化。

针对各个滤波窗口,可以采取相应的最小二乘法进行表示,表达式如下:

[argmini∈ωk(qi-pi)2]                     (15)

[argmini∈ωk(akIi+bk-pi)2]                   (16)

若在式子(16)中加入一个正则化参数[ε]来防止[ak]过大,需要建立损失函数,表达式如下:

[E(ak,bk)=i∈ωk((akIi+bk-pi)2+εak2)]        (17)

通过线性回归分析后,计算得到:

[ak=1ωi∈ωkIipi-μkpk)σ2k+ε]                   (18)

[bk=p-k-akμk]                         (19)

其中,[μk]与[σ2k]分别表示图像[I]在窗口中的平均值与方差,[ω]指选取区域的像素点总数,[pk]是指经过滤波处理图像[p]在窗口[ωk]的平均值。

3.3 梯度导向滤波的图像去雾计算

本文借助一张黑色像素通道图中输入的0.1%个黑色像素对应的节点位置,接着在输入图像相同的两个位置上,分别选择最亮的一个黑色像素,将其作为节点进行比对,再把整个大气的平均光照强度值和透射率分别代入恢复公式(12)中,计算处理后即可得到一张无弱光雾化的大气图像[J(x)],式子如下:

[J(x)=I(x)-Amax(t(x),t0)+A]                   (20)

在[t(x)]逐渐趋近于0的情况下,直接衰减项也将趋向0,此时恢复图像将含有噪点,因此将[t(x)]设置一个下限,[t0]通常当作0.1。

3.4 梯度导向滤波的暗通道图像去雾方法

结合暗部透射通道相关理论知识,本文算法选取多种控制因子,对图像透射比率进行估算;同时结合梯度导向滤波法获取更加准确的数据信息,计算出空气中大气光照度的平均值;再将已完成简化处理的透射比率与大气光照值全部纳入散射量模型中,从而更加准确地实现图像的去雾处理。

本文去雾处理的主要处理流程如表1所示。

本文使用Matlab软件实现图像的去雾处理过程。

4 结果分析

4.1 运行环境

本文算法的运行环境如下:

操作系统:Microsoft Windows 11 21H2。

CPU:Intel(R) Core(TM) i5-12500H 2.50 GHz。

GPU:NVIDIA GeForce RTX2050。

编程软件:Matlab R2022a。

4.2 结果分析

在相同的硬件设备和Matlab软件环境下,本文选取出图像去雾领域中的四个经典测试场景图片,对本文所提方法进行实验,最后从主观和客观两方面评估本文方法的实现效果。

4.2.1 主观评价

主观评价是指通过对同一场景下不同算法处理所得图片进行观察,在一定的评价标准下主要基于评价者对图片的主观感受对图像进行质量评判。本节对所选取的四组场景分别进行去雾处理,所得结果分别与暗通道先验算法的处理结果进行主观比较,直观地判断所得去雾图像的优劣。

首先比较两组场景的透射率图。由图12可知,左侧暗通道先验算法得到的透射率图像出现了色块,有较明显的“马赛克”感。右图使用梯度导向滤波算法得到的透射率图像则更加平滑,噪点更少,几乎没有色块。

然后针对去雾领域文献中四个经典测试图,将所得结果分别与暗通道先验算法结果进行主观比较。由图13可知,采用暗通道先验算法处理的图片,实例一中,小汽车、灯柱、绿化带、电线等物体上都有一层灰色的轮廓,图片的纯净度较低;实例二中,铁塔处出现了白色轮廓;实例三中,图片上部都有大片色块,而且整体颜色偏暗;实例四中,树木边缘细节失真较多。相比之下使用本文提出的梯度导向滤波的暗通道圖像去雾方法处理得到的图片,整体观感更佳。实例一中,天空更加纯净,汽车、护栏、路牌等标志十分清晰,图片纯净度较高;实例二、三中,处理后的图片对比原图暗度基本没有降低,更加真实;实例四中,导向滤波算法将透射率图进行了平滑处理,兼顾近处与远处的树木边缘细节,色彩更加真实饱满,去雾效果更彻底。综上,使用本文算法处理后的图像,图片的整体观感更佳,去雾处理效果更好,符合预期去雾目标。

4.2.2 客观评估

然而主观评价主要依据于人的视觉感知和主观感受,这种方法虽然直观快速,但是缺乏统一的评价标准,会因评价者的个体感官差异而导致评价结果的歧义。为了进一步验证本文所提算法的优势,本节采用了两种客观信噪评估检验方法进行评估,分别为:PSNR(峰值信噪百分比)和SSIM(结构相似性)。PSNR(峰值信噪百分比)基于对应像素点间的误差敏感,是一种衡量信号失真程度的指标,PSNR数值越大,代表图像的失真越少;SSIM(结构相似性)基于结构信息的感知模型,是一种衡量图片相似程度的指标,SSIM数值越大,代表图像失真越少。针对文中四个场景,分别对每个场景的四种去雾方法进行检测,检测结果保留4位小数,如表2~表5所示。

由表2~表5算出,针对以上四个场景,本文提出的梯度导向滤波算法相较于传统的暗通道先验算法,其两种客观信噪评估检验方法:PSNR(峰值信噪比)和SSIM(结构相似性)的提升率分别如表6所示。

由表6可知,使用PSNR与SSIM方法检测后得到,本文所提出的梯度导向滤波算法在PSNR(峰值信噪比)和SSIM(结构相似性)上都优于其他三种暗通道先验改进算法,与传统的暗通道先验算法相比较,本文算法的PSNR与SSIM平均提升了39.64%和32.74%。与主观评价结果保持一致,使用本文所提算法对雾景退化图片进行去雾处理后,所得无雾图像的噪点更少、失真更小、更加清晰。

5 结束语

本文首先阐述了现有的图像去雾技术和算法,并针对传统的图像去雾算法复杂度高、效率低、无法满足特定场景下的图像去雾等问题,选取暗通道先验图像去雾算法作为基础,提出了建立梯度导向投射滤波模型的方法,从而实现优化透射率的计算和处理。选择一种自适应自动调整透射因子[ω]的计算方法,并结合暗通道先验性理论对透射率图进行估算,采取梯度导向滤波算法对图像实现投射图细化处理,再结合预测的大气光值和投射比率,根据大气散射模型获得最终无雾图像。通过对去雾领域的四个经典场景进行实验,所得结果与暗通道先验算法及其两种改进方式的实验结果分别进行主观和客观(PSNR和 SSIM)分析对比,证明本文所提算法不仅具有更好的直观视觉效果,在客观指标上也效果理想,提升了图像去雾处理的精度和质量。

参考文献:

[1] 李成勇,王莎,陈成瑞.基于CMOS图像采集的车道偏移识别系统设计与实现[J].中国测试,2022,48(6):106-110.

[2] 邢志斌,王培毅,伍刚.无人机图像采集技术在森林防火中的应用研究[J].消防界(电子版),2022,8(12):56-58.

[3] 蒋华伟,杨震,张鑫,等.图像去雾算法研究进展[J].吉林大学学报(工学版),2021,51(4):1169-1181.

[4] 袁小平,陈艳宇,石慧.基于雾线暗通道先验改进的图像去雾算法[J].激光与光电子学进展,2022,59(8):181-188.

[5] 丁畅,董丽丽,许文海.“直方图”均衡化图像增强技术研究综述[J].计算机工程与应用,2017,53(23):12-17.

[6] Provenzi E,Fierro M,Rizzi A,et al.Random spray Retinex:a new Retinex implementation to investigate the local properties of the model[J].IEEE Transactions on Image Processing:a Publication of the IEEE Signal Processing Society,2007,16(1):162-171.

[7] 馬云飞,何文章.基于小波变换的雾天图像增强方法[J].计算机应用与软件,2011,28(2):71-72,95.

[8] He K M,Sun J,Tang X O.Single image haze removal using dark channel prior[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(12):2341-2353.

[9] Tan R T.Visibility in bad weather from a single image[C]//2008 IEEE Conference on Computer Vision and Pattern Recognition.Anchorage,AK,USA.IEEE,2008:1-8.

[10] Fattal R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.

[11] Tarel J P,Hautière N.Fast visibility restoration from a single color or gray level image[C]//2009 IEEE 12th International Conference on Computer Vision.Kyoto,Japan.IEEE,2009:2201-2208.

[12] Wang Y K,Fan C T.Single image defogging by multiscale depth fusion[J].IEEE Transactions on Image Processing,2014,23(11):4826-4837.

[13] 金仙力,张威,刘林峰.基于引导滤波和自适应容差的图像去雾算法[J].通信学报,2020,41(5):27-36.

[14] Gao T,Li K,Chen T,et al.A novel UAV sensing image defogging method[J].IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing,2020,13:2610-2625.

[15] 赵波,李洪平,金汝宁,等.一种基于自适应大气光和加权引导滤波的夜间图像去雾算法[J/OL].[2022-08-30].工程科学与技术.https://t.cnki.net/kcms/detail?v=-pqffpTiTJMjF10czFFEry1Qx0k5Qd6VHYJEs7Rz3KCMCWd0ebSazvzKDHjzE9FeOEkj1G087BaMS_mIyymPhy1NF8oFu2omIN-NuXiKW440rhjbyRtczw==&uniplatform=NZKPT.

[16] 余嘉昕,王春媛,韩华,等.基于融合代价和优化引导滤波的立体匹配算法[J/OL].[2022-07-02].计算机工程. https://t.cnki.net/kcms/detail?v=-pqffpTiTJOcAL0ggQyyA6BO3h3YviITUCe_fPL99tfqoG5TCMmvuKSUh1wiY0PIHDeS0HmaXdTH 7jfR-tP0EkXFgP6C3sS-GBFgt61FNmcSAx7p-pNfmQ==&uniplatform=NZKPT.

【通联编辑:谢媛媛】

猜你喜欢
透射率
基于多项式求根的双厚度透射率模型确定透明固体光学常数
等离子体随机分布对THz波传输特性的影响
噪声对相干衍射成像重构物体图像的影响
自适应透射率补偿函数的图像去雾算法
一种改进的场景透射率修正图像去雾算法
纯色太阳镜镜片耐日光辐照性能试验研究
图像去雾中的大气光强度自适应恢复算法研究
石墨烯光栅太赫兹透射特性的研究
光子晶体耦合缺陷的透射特性研究
玻璃长波透射率对普通双层中空玻璃热特性的影响