1 引言图像质量的好坏是视觉系统效用发挥的关键因素。在雾霾天气下,由于受到大气中介质的散射,户外成像设备获得的图像会出现细节丢失、色彩亮度低、场景模糊等问题,雾霾天气极大影响了各种视觉系统效用的发挥。在图像去雾方面应用广泛的方法主要有3种:基于图像增强的方法、基于物理模型的方法和基于深度学习的方法。基于图像增强的方法如直方图均衡[1]、小波变换[2]等,这些方法不考虑图像退化的原因,通过提高雾天图像的对比度来增强图像的视觉效果。基于物理模型的方法通过建立雾天图像退化模型,补偿退化过程造成的失真复原无雾图像。He等[3]提出暗通道先验去雾方法,但该方法不适用于天空、光源等明亮区域且大气光值的计算容易受到明亮区域的影响。孙景荣等[4]结合概率分布函数和引导滤波实现了天空与非天空区域的精准分割,并采用对数自适应变换和改进的暗通道先验算法估计天空与非天空区域的透射率,合成对应像素的透射率实现图像的去雾。基于深度学习的方法使用大量图像数据对网络模型进行训练,通过网络模型预测透射率或直接得到去雾图像。乔丹等[5]通过卷积层实现浅层信息的提取和深层特征的融合,然后由反卷积模块还原图像尺寸,采用双边滤波优化透射率后依据大气散射模型复原去雾图像。李玉峰等[6]将大气散射模型变形为端到端的去雾模型,将多个未知参数统一为一个参数并运用卷积神经网络对其进行估计,最后将参数代入去雾模型中得到无雾图像。李云红等采用迁移学习的预训练模型来增强样本的特征属性,并利用残差注意力子网络辅助迁移学习子网络来训练网络模型的参数。利用集成学习的方法可以融合双网络的特征得到去雾图像。该类方法受数据集的影响较大,不适用于所有场景下的雾图,并且需要花费大量的时间进行训练,在硬件上也有要求。除上述3种去雾方法外,GI(Ghost Imaging)[7]、灰度投影等方法也可实现一定的去雾功能。本文提出一种基于明亮区域分割的图像去雾算法。使用亮度阈值分割和区域生长将雾天图像分割为明亮区域与非明亮区域,并采用亮通道先验和超像素对这两个区域的透射率计算公式进行改进,经过融合、细化后得到优化的透射率。同时通过四叉树分割对雾天图像进行分割,取所得区域像素的亮度平均值为大气光值,通过大气散射模型复原去雾图像,最后使用伽马校正对图像的亮度进行调整。实验结果表明,改进算法可有效解决光晕和色彩失真的问题,在明亮区域和非明亮区域均可取得较好的去雾效果。2 暗通道先验理论2.1 大气散射模型根据大气散射模型,雾天图像可表示为:Ix=Jxtx+A1-tx ,(1)其中:Ix为雾天图像,Jx为无雾图像,tx为透射率,A为大气光值。求出tx和A后,可根据式(1)复原无雾图像。2.2 暗通道先验去雾原理暗通道先验是He等在大量图像的观测基础上得到的一个统计规律,可表示为:Jdarkx=minc∈r,g,bminy∈ΩxJcy→0 ,(2)其中:Jdark是暗通道图像,Jc是图像J在每个颜色通道的分量,c表示r、g、b 3个颜色通道,Ωx为方形滤波窗口。假设A已知且在足够小的区域内tx不变,式(1)等式两边除以大气光值后作为颜色通道最小值和局部区域最小值:minc∈r,g,bminy∈ΩxIcyAc=txminc∈r,g,bminy∈ΩxJcyAc+1-tx .(3)根据暗通道先验理论,将式(2)带入式(3),得透射率为:tx=1-minc∈r,g,bminy∈ΩxIcyAc .(4)为使去雾图像更加自然,引入修正系数ω(0ω1)来保留一定的雾气,ω取0.95,式(4)重新表述为:tx=1-ωminc∈r,g,bminy∈ΩxIcyAc .(5)得到透射率后,将透射率和大气光值代入式(1),就能通过雾天图像复原无雾图像。3 改进算法暗通道先验不适用于明亮区域。首先对雾天图像进行分割,采用亮度阈值分割和区域生长相结合的方法将雾天图像分割为明亮区域与非明亮区域,然后对透射率和大气光值分别进行优化,最后通过大气散射模型完成去雾并使用伽马校正对去雾图像的亮度进行调整。3.1 图像的分割RGB颜色空间只包含红绿蓝3个颜色通道,无法根据亮度进行分割。将雾天图像从RGB颜色空间转换到YCbCr[8]颜色空间,转换公式为:YCbCr=0.2570.5640.098-0.148-0.2910.4390.439-0.368-0.071RGB+16128128 .(6)Y、Cb、Cr分别为此颜色空间的亮度分量、蓝色分量、红色分量。对Y分量设定一个阈值,将雾天图像中亮度大于此阈值的区域分割出来,取Y分量中亮度最大值和最小值的平均值与130的和为此次分割的阈值,分割结果如图1所示,通过此次分割可以获得雾天图像中一部分明亮区域。10.37188/CJLCD.2022-0297.F001图1亮度阈值分割图像Fig.1Brightness threshold segmentation image为获得完整的明亮区域与非明亮区域,选择区域生长[9]进行后续分割。取亮度阈值分割获得的明亮区域的质心为生长点;以每个像素点与其4邻域内像素点的灰度值之差R和阈值T的大小关系为相似性判断的依据,T取0.1,若R≤T,说明此像素点满足生长准则,并将其并入已生长区域,反之则不并入,以新并入生长区域的像素点为新的生长点,重复上述过程;当不再有满足生长准则的像素点时停止生长。分割结果图2所示,明亮区域与非明亮区域可完整分割开。10.37188/CJLCD.2022-0297.F002图2区域生长分割图像Fig.2Region growing segmentation image3.2 透射率的优化3.2.1 明亮区域透射率的优化根据大气散射模型推导出透射率计算公式为:tx=1-minc∈r,g,bminy∈ΩxIcyAc1-minc∈r,g,bminy∈ΩxJcyAc .(7)由暗通道先验可得:minc∈r,g,bminy∈ΩxJcyAc→0 .(8)将式(8)带入式(7),即可得出透射率计算公式为:tx=1-minc∈r,g,bminy∈ΩxIcyAc .(9)明亮区域暗通道值Jdark不等于0,即:minc∈r,g,bminy∈ΩxJcyAc≠0 .(10)所以暗通道先验去雾方法对明亮区域并不适用[10],从而:tx=1-minc∈r,g,bminy∈ΩxIcyAc1-minc∈r,g,bminy∈ΩxJcyAc1-minc∈r,g,bminy∈ΩxIcyAc . (11)因此暗通道先验去雾在明亮区域求得的透射率比该区域透射率的实际值小。采用亮通道先验改进明亮区域透射率的计算公式。亮通道先验是Yan等[11]对大量图像进行观测后得到的一个统计规律,可表示为:Jbrightx=maxc∈r,g,bmaxy∈ΩxJcy→255 .(12)假设大气光值已知,式(1)等式两边除以大气光值并作颜色通道最大值和局部区域最大值运算得:maxc∈r,g,bmaxy∈ΩxIcyAc=t brightxmaxc∈r,g,bmaxy∈ΩxJcyAc+1-tbrightx . (13)根据亮通道先验理论,将式(12)带入式(13),化简后得明亮区域透射率的计算公式为:tbrightx=maxc∈r,g,bmaxy∈ΩxIcy-Ac255-Ac .(14)3.2.2 非明亮区域透射率的优化暗通道先验去雾是建立在局部区域内透射率不变的假设上的,但最小值滤波的方形滤波窗口内可能包含不同景深的像素,如图3(a)所示,大部分滤波窗口内都含有不同景深的物体。根据tx=e-βd(x)可知,景深d(x)与透射率tx成反比,所以当滤波窗口内存在不同景深的物体时,透射率不变的假设将不再成立,导致透射率计算错误,采用SLIC(Simple Linear Iterative Clustering)得到的超像素代替方形滤波窗口改进非明亮区域透射率计算公式。SLIC将彩色图像转化为五维特征向量,然后对五维特征向量构造距离度量标准,对图像进行局部聚类的算法,可以获得均匀、紧凑的超像素。分割结果如图3所示,相邻且相同景深的物体被分割到同一个超像素内。10.37188/CJLCD.2022-0297.F003图3两种滤波窗口的对比Fig.3Comparison of two filtering windows每个超像素内都是相同景深的物体。根据tx=e-βd(x)可知,景深相同处透射率相同[12],这就满足了暗通道先验去雾中透射率不变的假设,改进的非明亮区域透射率计算公式为:tdarkx=1-ω min c∈r,g,bminy∈ΩxIcyAc ,(15)其中Ωx为滤波窗口,即每个超像素的区域。3.2.3 透射率的融合与优化求得明亮区域透射率tbrightx和非明亮区域透射率tdarkx后,通过加权融合的方法将这两个透射率融合,得到粗略的透射率为:tx=ω1tbrightx+ω2tdarkx ,(16)其中:ω1和ω2为加权系数,满足ω1+ω2=1的约束条件。当ω1ω2时,主要对雾天图像的非明亮区域进行处理;当ω1=ω2时,同时对雾天图像的明亮和非明亮区域进行处理;当ω1ω2时,主要对雾天图像的明亮区域进行处理。对ω1和ω2分别取不同的值,计算每组(ω1,ω2)所得去雾图像的客观评价参数,取参数最优时的(ω1,ω2)值进行去雾。用粗略的透射率进行去雾处理,透射率图和去雾图像中会产生块效应,并且一些边缘信息丢失,如图4所示。使用引导滤波[13]优化粗略的透射率。引导滤波是一种线性滤波方法,可使输入图像在另一个图像的引导下,增强输入图像的边缘信息并平滑图像噪声。10.37188/CJLCD.2022-0297.F004图4引导滤波前后的透射率图像和去雾图像Fig.4Transmittance image and defogging image before and after guided filtering以粗略的透射率图为输入图像,雾天图像为引导图像,引导滤波结果如图4所示。可以看出,在引导滤波前,透射率图像存在明显的块效应和光晕现象。在引导滤波后,块效应和光晕的问题得到解决。3.3 大气光值的优化He方法中取暗通道图像亮度前0.1%像素中亮度最大值为大气光值。但当场景中存在天空、光源等明亮区域时,大气光值的计算会出现偏差。采用四叉树分割的方法来计算大气光值。雾天图像已经通过亮度阈值分割和区域生长分割为明亮区域x1i和非明亮区域两部分x2i,定义各区域xni的平均灰度为该区域得分S(xni),可表示为:S(xni)=mean(I(xni)) .(17)如果初次分割后得分最高区域为图像的非明亮区域,即maxS(x1i)∈S(x11),则按照四叉树分割方法把非明亮区域继续分割,再计算每个部分的得分,继续分割直到达到终止条件时停止分割,分割得到设定大小区域xfinal。如果初次分割后最高得分区域为图像的明亮区域,即maxS(x1i)∈S(x12),则对明亮区域的S(x12)进行加权计算,加权系数为η,然后比较{S(x11),η×S(x12)}的大小,对分数大的区域继续分割,直至达到终止条件,η取0.9。终止条件为:区域的最大灰度平均值与第二大灰度平均值之差小于ST,当满足该条件时停止分割。对于n级分割,S(xnk)为最大灰度平均值,终止分割条件为:minS(xnk)-Sn(xnk¯)≤ST .(18)如果最终筛选得到的区域有2个,那么需要对这两个区域的平均灰度值和平均梯度值进行确定,将这二者的商作为判断准则,即:S'(xni)=mean(I(xni))/gradient(I(xni)) ,(19)式中:mean(I(xni))表示区域的平均灰度值,gradient(I(xni))表示区域的平均梯度值。比较区域一的S'(xfinal)和区域二的S″(xfinal),选择得分较大的区域作为xfinal,并将大气光值取为该区域前亮度10%像素的平均灰度值。3.4 图像的复原在确定大气光值以及透射率之后,通过大气散射模型复原去雾图像。当t(x)很小,趋近于0时,可能会发生色彩失真的问题。因此引入阈值t0限制透射率的最小值,t0取0.1,去雾公式为:Jx=Ix-Amaxtx,t0+A .(20)雾天图像由于受到环境和光照的影响,一般亮度偏低,再通过暗通道算法处理会导致图像整体亮度和色调更暗,因此为了更好地保留图像细节、提高对比度,应对图像的亮度进行调整[14]。将雾天图像从RGB空间转换到HSV空间后采用二维伽马[15]函数对图像进行亮度调整:O(x,y)=255I(x,y)255γ ,(21)γ=(m255)m-V(x,y)m ,(22)式中:V(x,y)为去雾图像HSV空间中的亮度分量,m为亮度分量的均值,γ为校正参数,O(x,y)为二维伽马校正处理后的输出图像。二维伽马校正可将像素点处的像素值与亮度分量的均值相结合,实现不同区域光照值的自适应校正从而生成新的HSV图像,最后将其转成RGB图像。这样可以在有效保留原始图像有效信息的同时压缩图像的动态范围,图像的对比度和质量也得到提高。4 实验结果与分析为了验证本文算法的有效性,从主观和客观两方面将本文算法与其他去雾算法进行比较。4.1 主观评价以5幅雾天图像为实验对象,用文献[3-6]的方法与本文方法进行对比实验,去雾结果如图5所示。可以看出,各种算法都可发挥一定的去雾作用,处理后的图像在对比度和细节信息等方面均获得一定改善。文献[3]去雾图像的整体去雾效果较好,但明亮区域中发生了色彩失真的问题;文献[4]的去雾图像在非明亮区域去雾后整体偏暗,轮廓和边缘信息不明显;文献[5]和文献[6]的去雾图像在近景区域偏暗,部分暗区域出现细节丢失,远景区域去雾不彻底;本文改进算法的去雾图像在有效去雾的同时保留了图像的细节信息,亮度和清晰度也得到了增强。10.37188/CJLCD.2022-0297.F005图5不同算法的去雾图像Fig.5Defogging images of different methods4.2 客观评价去雾图像的客观评价从峰值信噪比(PSNR)、信息熵(IE)、新增可见边之比(e)和梯度均值(r)等方面进行衡量[16]。PSNR指标通常用来衡量图像失真度,PSNR值越大说明图像色彩的失真度越小;IE反映出每张图像中的信息量,值越大说明图像信息量越多;e越大,说明图像细节还原越多;r反映了图像梯度的增加程度,取值越大,图像质量越好。实验对象选择3.1节中的雾天图像及各算法的去雾图像,实验结果如表1~表3所示。实验结果表明,改进后去雾图像的PSNR比改进前提高了6.5%,信息熵提高了2.1%,e提高了5.5%,r提高了5.3%。10.37188/CJLCD.2022-0297.T001表1不同算法去雾图像的PSNR和IETab.1PSNR and IE of defogging images with different algorithms图像文献[3]文献[4]文献[5]文献[6]改进算法PSNRIEPSNRIEPSNRIEPSNRIEPSNRIE19.673 76.745 114.516 66.502 610.872 36.003 813.583 26.215 414.814 96.923 4210.257 07.124 613.074 47.353 79.207 36.756 112.517 26.143 613.226 67.353 6310.411 57.208 411.635 47.348 912.495 26.139 613.604 77.124 714.002 77.411 1412.856 67.636 814.575 27.195 413.914 26.483 712.667 97.584 815.345 57.871 5514.729 37.321 715.128 77.049 713.996 77.178 913.145 77.008 115.491 77.291 110.37188/CJLCD.2022-0297.T002表2不同算法去雾图像的e和rTab.2E and r of defogging images with different algorithms图像文献[3]文献[4]文献[5]文献[6]改进算法ererererer10.777 81.930 30.627 31.810 91.367 24.265 40.759 62.384 60.788 43.839 321.575 52.005 11.194 31.902 32.135 23.820 90.911 31.960 91.741 53.040 430.487 51.359 10.467 51.377 80.418 02.215 90.485 91.352 40.491 61.651 640.293 91.090 50.209 41.171 60.490 71.800 90.317 61.236 50.398 51.310 250.154 40.987 20.100 20.788 10.259 51.725 60.261 81.361 50.282 31.453 610.37188/CJLCD.2022-0297.T003表3不同算法去雾的运行时间Tab.3Running time of defogging with different algorithms图像运行时间/s文献[3]文献[4]文献[5]文献[6]改进算法15.502 45.906 36.703 15.093 85.243 725.586 24.797 47.812 56.484 45.471 935.787 46.243 58.343 86.968 85.281 347.127 57.442 98.218 89.625 03.109 455.867 25.179 37.328 14.859 43.578 1本文改进算法去雾图像的PSNR取得最大值,说明改进算法去雾图像的失真更小。本文改进算法去雾图像的一部分IE小于其他算法去雾图像的IE。光晕和色彩失真是图像信息熵的组成部分之一,由于改进算法在改进透射率计算公式后,去雾图像中没有了光晕和色彩失真的问题,并且通过引导滤波解决了去雾图像中的块效应,所以IE较其他算法有一定的下降。虽然改进算法的e和r不及文献[5]算法,但是在其他指标上均表现良好,考虑到改进算法在主观评价方面的良好表现,本文改进算法具有一定的优越性。表3为不同算法去雾的运行时间,可以看出,改进算法的运行时间优于文献[3]算法,说明改进算法在解决文献[3]暗通道先验去雾问题的基础上还缩短了运行时间。同时,可以发现本文改进算法的部分运行时间并不是各个算法运行时间中的最优值,这是由于改进算法采用区域生长进行图像分割,随着图像中明亮区域的增多,区域生长分割图像所用时间也就越长,这就是明亮区域多的图1、图2、图3运行时间较长,而明亮区域少的图4和图5运行时间较短的原因。因此,如何对区域生长进行改进以减少去雾时间是未来研究的重点。5 结论在暗通道先验去雾的基础上,提出一种基于明亮区域分割的图像去雾算法。通过分割雾天图像后对不同区域透射率的计算公式分别进行改进,解决了去雾图像中光晕和色彩失真的问题。对不同算法的去雾图像从主观和客观两个方面进行对比,实验结果表明,改进后去雾图像的峰值信噪比与改进前相比提高了6.5%,信息熵提高了2.1%,新增可见边之比提高了5.5%,梯度均值提高了5.3%。本文算法可有效复原无雾图像,得到清晰且对比度高的图像。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读