崔靖茹 李 晨* 潘 宁 吴倩雯
1(西安交通大学软件学院 陕西 西安 710049)2(西安交通大学第一附属医院医学影像科 陕西 西安 710061)
基于线性加权的自适应图像去雾算法
崔靖茹1李 晨1*潘 宁2吴倩雯1
1(西安交通大学软件学院 陕西 西安 710049)2(西安交通大学第一附属医院医学影像科 陕西 西安 710061)
在雾霾天气下,大气散射作用导致采集图像信息丢失。针对这一问题,以暗通道先验原理为基础,提出一种基于线性加权的自适应图像去雾算法。首先,在计算暗通道函数时,采用一种改进方法生成精确的暗原色图,并使用图像锐化技术确保场景边界特性;其次,针对复原图像对比度过深,定义一种自适应的线性加权方式计算准确的大气光强值,确保得到代表实际场景的透射率图;最后基于大气散射的物理模型,得到清晰的无雾复原图片。实验结果表明,该方法能有效地实现图像去雾,且具有效果好和速度快的优点。
图像去雾 线性加权 窗口大小 暗通道先验
图像去雾是实现图片信息提取的关键技术之一。在室外气象状况不佳的情况下,空气中存在大量悬浮的颗粒、水蒸气以及冰晶与灰尘结合形成的雾、霾颗粒。在真空条件下光沿着直线传播。但是,在实际室外场景下,悬浮颗粒(雾、霾等)导致光线在大气的传播中发生散射,使目标反射的光线强度衰减,捕获到的图像质量降低,成像后的图片难以满足户外机器识别、交通检测等实际应用的需求。对图像造成的影响主要有:对比度减小、清晰度降低、景深偏差等。这会对后期图像处理产生影响,尤其对光学成像仪器类系统(航拍、室外监控、模式识别等)影响尤为严重[1]。由图1中图像的色彩值分布可以看出,有雾图像色彩分布相对集中,像素分布范围较窄,图片色彩对比度较低[1,4]。清晰图像色彩分布相对较广,图片色彩对比度明显增强。由实验对比知,图像去雾可以增强对比度、修复色差, 增加室外图像的可视性。通过图像去雾算法增强图像特征,从而保证后续系统的稳定运行。
随着计算机模式识别技术与应用的发展,图像去雾技术开始广泛被全世界研究人员所关注。
目前,去雾技术有很多种,根据去雾算法所需的参照条件主要分为两大类:一类是多幅图像的去雾,即利用不同偏振条件下获取的多幅图像或同一场景不同天气状况下采集到的相关参数,进行去雾处理[2,7-9]。此类方法对去雾有一定效果,但在实际操作中,条件参数过于复杂,不具有广泛适用性。另一类是基于单幅图像的去雾方法。近年来,这类方法开始受到国内外研究者的关注。Tan[3]假设局部区域的环境光最大,在马尔科夫随机场模型框架中,构造边缘强度的代价函数,通过Graph cut理论估计最优的光照。此算法旨在以增强对比度的方式提高图片的清晰度。但是没有从去雾的物理模型进行分析,使恢复后的图像颜色过饱和,景深突变跳跃时会产生Halo效应,不能精确反映场景的实际情况。
图1 原图和清晰图的彩值分布图对比
Fattal[4]在研究去雾算法时提出了两个假设:(1) 假设图像局部反射率为常数;(2) 假设物体表面透射传播与传播介质局部统计不相关。利用独立成分分析来估计透射率。此算法关键在于对非线性方程的求解,复原图像效果取决于输入值的统计结果。该方法需要完整的物理信息,然而有雾条件下获得的图像,本身存在严重的色彩失真。若提高正则参数值,会导致景深边缘产生过冲失真。因此,该算法可靠性较低。He等[5-6]针对图像去雾问题提出一种新的思路,即暗通道先验算法(DCP)。该算法是He等根据大量户外无雾图像先验的统计规律提出的,即在室外清晰图像中,非天空区域场景图像的像素RGB三原色通道的最小值中,在一定大小的模板内,至少存在一个像素点的强度值很低接近于零。而有雾图像无法满足以上规律,根据此规律的特性可以对图像进行恢复。由文献[6]可知,由于暗通道先验得到的无雾图像颜色过于饱和,与真实图像存在一定的偏差,仍需进行后期处理。此外,由于暗通道先验只适用于无天空背景的有雾图像,对含有天空的有雾图像,天空区域对大气光A的求取有一定的影响,会造成求取的数值与真实值产生偏差,因而该算法适用性具有一定的局限性。
针对目前提出的问题,本文从几何角度分析了暗通道先验理论的基础思想,提出了一种改进的算法。主要改进有:(1) 提出一种新的求取暗原色图的方法;(2) 对暗原色图进行锐化处理;(3) 采用两种方式分别计算大气光强值A1和A2,并通过线性加权求得最终的大气光强A。
1.1 雾图像模型
针对图像的衰减过程,McCartney于1975年提出大气散射模型。Narasimhan给出了大气散射物理模型的成像方程式[8-10]:
I(x)=J(x)t(x)+A(1-t(x))
(1)
暗通道先验理论属于图像退化的大气散射模型[1],由式(1)可知,I(x)表示观测点接收的图像光强;J(x)表示目标点接收的实际光强;A称为大气光;t(x)表示光路的透射图。
1.2 暗原色模型
采用式(2)的方法,He通过5000张室外无天空的清晰图片和有雾图片进行实验对比。
(2)
Jdark(x)≈0
(3)
其中,Jdark(x)为原图像J(x)的暗原色颜色通道图,式中:Jc(y)为RGB三原色通道光强值,Ω(x)是以像素点x为中心的方形区域(通常取7×7或9×9的方形矩阵),式(3)称为暗原色先验公式,所获得图像成为暗原色图。实验发现,清晰图像与有雾图像的暗原色图有一定统计规律:无天空的无雾暗原色图像光强接近于0,即式(3)。
该规律指出:通过对图像的非天空区域J(x)模板内像素的RGB三通道最低值进行最小滤波处理,无天空的清晰图像的暗原色图的光强接近于0,无天空的有雾图像的暗原色图光强不为0。根据先验规律,将式(2)代入式(1),将有雾图像J(x)和无雾图像I(x)同时进行暗通道先验预处理,式(1)将转化为式(4),再将式(3)代入式(4),即式(5)可以简化求解过程:
(4)
(5)
本文通过还原暗通道先验实验发现,为了使得暗通道先验的假设成立,应尽可能地选用大尺度的模板。但是,大尺度的模板容易导致明显的块状效应,会降低算法可靠性。针对该问题,He等提出了导向滤波,以求提高算法可靠性[5]。但是该滤波器大大增加了算法复杂度,降低算法的可推广性。在还原实验的过程中,分析实验结果发现:
(1) 窗口Ω(x)取值较大时,暗原色先验理论准确性提高,图3(a)大部分非雾、霾区域偏黑,区域内透射率相同的假设可靠性降低,表现为暗原色图像出现块状区域。
(2) 窗口Ω(x)取值较小时,图3(b)中区域内透射率相同的假设可靠性提高,细微轮廓清晰。但是,暗原色先验理论准确性降低。
图3 不同暗原色图及对应灰度直方图
需要解决的矛盾是:在保证暗原色先验理论可靠性的前提下,用较小的滤波窗口,减小块状效应,保证去雾图像的边缘信息[10]。
针对上述矛盾现象,本文提出一种改进的算法,采用图像自身调节模式进行暗原色图求解:首先,针对图像求取每一个像素点的三通道最小值,然后,将该图像乘以本幅图像的亮度均值,得到新的暗通道图像(见式(5))。
(6)
由式(6),有类似He先验实验的现象,又解决了上文提出的矛盾现象 。图3和图4给出了本文算法与He算法获得的灰度直方图及暗原色图。对比本文算法与He算法的先验实验结果,发现两种算法结果基本一致。验证了本文算法可以有效地解决算法的矛盾,以及针对图像去雾的可行性。
图4 暗原色图对比图
1.3 图像轮廓锐化
He针对透射图t(x)的处理,早期使用抠图的算法进行精细化处理[5]。但是,由于在物体边界处存在景深的跳跃改变,物体边界处图像发生Halo效应,图像边缘信息损失严重。后期,He改进了算法,提出了导向滤波器,使图像边缘信息得以较好的保留。针对边界信息不完整的问题,本文引入边界锐化的思想(见式(6))。图5中通过对暗原色图进行锐化,使透射图有可靠的边界信息,保证了复原图像的细节信息,并减少了图片的处理时间。
本文采用拉普拉斯算子进行锐化,可以有效地保证边界信息(其中c取1)。
g(x,y)=f(x,y)+c×[▽2f(x,y)]
(7)
图5 对单幅图进行处理,边缘增强的对比
1.4 场景复原的线性合成思想
由式(1)可以得到复原场景公式,其中有两个参数是未知的:大气光强值A和传播图t(x)。
(8)
由前文推导可知,大气光强值A的求取对图像复原十分重要。下面对A值进行分析:将A=0、 0.5、 0.8、 1以及He等实验求得Ac(A=0.9961)分别代入暗通道先验算法,根据实验步骤求得清晰图像。实验结果如图6所示,通过实验发现A值对最后图像的饱和度有一定的影响。
图6 不同A值下,He算法的去雾效果
因此,为提高去雾图像结果的清晰度,需要更加可靠的大气光强的估算值A。由式(1)知,造成去雾结果过饱和的原因是大气光强的求取会受到天空光强的影响,使获得的大气光强值A偏离了场景的实际光强值。由式(5)得:
(9)
分析式(9)可以发现,大气光强A值会导致t(x)值偏大。针对该问题,最佳的解决方案是:通过图片自身调节来获得较准确的大气光强A。
(10)
(11)
本文提出的改进方法可以保证A值的可靠性。首先,按照式(10)求取原图的暗原色图Idark(x),然后,求取Idark(x)前0.1%的最亮点光强的平均值,作为大气光强A1。在该过程中,白色物体对大气光的求取有影响,会导致大气光强值大于实际值。为了解决该问题,本文引入与暗原色对应的亮原色图(见式(11)),亮原色图片是指求取原图片中每一个像素点三通道最大值所组成的图片Ilight(x),将Ilight(x)图片中前0.1%的最亮点光强的平均值,作为大气光强A2。此时,图片中的白色物体的光强对A2求取几乎没有影响。最后,通过线性加权得到大气光A,此刻的A值更加接近图片的真实值。
1.5 算法实现
根据本文所述算法思想,可以给出算法:
算法:基于线性加权的高效去雾算法。
(1) 输入原图I(x),利用改进式(10)进行暗原色处理,获得新的暗通道图,完成暗通道先验假设。同时,根据式(11)求取亮通道图。
(2) 通过亮通道图和暗通道图可以分别求取A1和A2
(3) 对暗原色图像轮廓锐化。
(4) 利用线性加权求取大气光强值:A=0.5×(A1+A2)。
(5) 求取t(x)=1-w0×win_dark/A;其中w0取0.95。
(6) 通过式(8),输出清晰图J(x)。
针对含天空的有雾图片,本文算法可以有效改善原始暗通道去雾算法的效果。由于无需采用最小滤波,图片的边缘信息保存较为完整,使图片处理的效果更加接近真实场景。
2.1 算法效果比较
本节将通过一系列实验验证基于线性加权的自适应图像去雾算法的有效性和合理性,采用Matlab实现在主频为3.2GHz,内存为4GB的台式机上,通过数百张现有文献的图片[3-6]进行对比实验。以暗通道先验[5]为基础,通过线性加权的思想进行去雾。
本节通过对图片去雾算法进行横向与纵向对比,验证本文算法在针对不同情况图片的可靠性。如图8-图10所示,第一组实验对同一张图片进行三种不同的算法测试,观察结果图片是否能真实地反映场景实际状况。第二组实验对图8中人群实验的结果(即(b2)、(b3)、(b4))进行色彩值分布对比。第三组实验,针对同一张图片进行不同算法的处理,对比测试图的细节效果。
图8 原图和经三种算法处理后的清晰图对比
图9 图片(人群)去雾图片色彩值分布图
图10 去雾图效果对比
第一组对比实验,将森林、人群、山脉和公路分别采用Tarel[11]、He[5-6]和本文的去雾的算法进行处理,如图8所示,经过对比实验发现,本文算法的结果比较贴近真实的色彩。在图8中,第一列代表原图;Tarel等实验结果图(第二列)的色彩分布不是很均匀;He等实验结果图(第三列)颜色过于饱和,需要对图片进行进一步的处理,才能使图片更加接近真实场景。本文算法的实验结果图(第四列)颜色均匀可靠,能较为真实地反映实际场景的颜色对比度,具有较高的可靠性。
第二组实验对比,由色彩值分布图(图9)可以发现,经过去雾算法,三种算法的结果图均有一定效果。首先,就RGB三轴阈值而言,本文的阈值较之何凯明的结果更大。其次,扩散程度较之Tarel的结果的扩散更广。通过前两组结果对比,本文算法均有一定程度的提高,使得最终结果信息更加全面。
t(x)=e-βd(x)
(12)
第三组对比实验,如图10所示,由式(11)获得图片的景深图,分别采用He[5-6]的算法、Fattal[4]算法和本文算法进行实验,对比三种算法在效果图与景深图的结果。本文结果更真实地反映图像的实际效果。首先,实验关注墙面距离的渐变程度,Fattal等的景深图在墙壁处的深度图几乎没有明显的渐变,而本文算法和He的实验结果均有一定的颜色渐变。其次,由景深图颜色规律可知,木门、树丛和墙壁得到景深图的深浅应该呈现由深到浅递减过程,且遇到边界处景深图有明显的过度。观察三个实验发现,本文算法的递减过程明显,图像边缘过度清晰。由此可知,本文算法可以更准确地反映场景距离,使结果更具有可靠性。
2.2 算法效率比较
为了验证本文所提出算法高效性,针对上述图片(图8)进行了算法运行时间测试。为消除在实验过程中的随机性,针对不同图片采用各种算法进行了50次的蒙特卡洛独立测试,表2中给出了处理时间比较结果。从表2中可以看出,与其他两类相关算法相比较,本文算法的效率最高。
表2 去雾时间对比
本文提出了一种线性加权的高效单幅图去雾算法。首先提出了一种求暗原色图的方法,并对结果进行拉普拉斯锐化处理,该方法可获得无明显块状效应且边沿特性良好的暗原色图,从而提高了透射率图的估算精度,有效避免了块状效应和Halo效应;然后,提出了一种求取大气光强A的新方法,该方法有助于进一步精确A的求取。本文不需要利用软抠图或导向滤波等方法对透射率进行细化处理,有效地降低了算法的时间复杂度。最后,本文采用公开的图像对算法进行了测试,并与相关去雾算法进行了实验对比。实验结果表明基于线性加权的自适应单幅图去雾算法能够有效地实现图像去雾的功能,且具有还原图像颜色好、效率高的优点。
[1] 吴迪,朱青松.图像去雾的最新研究进展[J].自动化学报,2015,41(2):221-239.
[2] 张小刚,唐美玲,陈华,等.一种结合双区域滤波和图像融合的单幅图像去雾算法[J].自动化学报,2014,40(8):1733-1739.
[3]TanRT.Visibilityinbadweatherfromasingleimage[C]//Proceedingsofthe2008IEEEConferenceonComputerVisionandPatternRecognition,Anchorage,AK,USA.IEEEComputerSociety,2008:1-8.
[4]FattalR.Singleimagedehazing[J].ACMTransactionsonGraphics,2008,27(3):1-9.
[5]HeK,SunJ,TangX.Guidedimagefiltering[C]//Proceedingsofthe11thEuropeanConferenceonComputerVision,Heraklion,Crete,Greece.Springer,2010:1-14.
[6]HeK,SunJ,TangX.Singleimagehazeremovalusingdarkchannelprior[J].IEEETransactiononPatternAnalysisandMachineIntelligence,2011,33(12):2341-2353.
[7]NayarSK,NarasimhanSG.Visioninbadweather[C]//Proceedingsofthe7thIEEEInternationalConferenceonComputerVision,Kerkyra,Greece.IEEE,1999:820-827.
[8]NarasimhanSG,NayarSK.Chromaticframeworkforvisioninbadweather[C]//Proceedingsofthe2000IEEEConferenceonComputerVisionandPatternRecognition,HiltonHead,SC,USA.IEEEComputerSociety,2000:598-605.
[9]NarasimhanSG,NayarSK.Removingweathereffectsfrommonochromeimages[C]//Proceedingsofthe2001IEEEComputerSocietyConferenceonComputerVisionandPatternRecognition,Kauai,HI,USA.IEEE,2001:186-193.
[10]NarasimhanSG,NayarSK.Visionandtheatmosphere[J].InternationalJournalofComputerVision,2002,48(3):233-254.
[11]TarelJP,HautièreN.Fastvisibilityrestorationfromasinglecolororgraylevelimage[C]//Proceedingsofthe2009IEEE12thInternationalConferenceonComputerVision,Kyoto,Japan.IEEEComputerSociety,2009:2201-2208.
[12] 方雯,刘秉瀚.多尺度暗通道先验去雾算法[J].中国体视学与图像分析,2013,18(3):230-237.
[13] 王一帆,尹传历,黄义明,等.基于双边滤波的图像去雾[J].中国图象图形学报,2014,19(3):386-392.
[14] 谷元保,付宇卓.一种基于灰度世界模型自动白平衡方法[J].计算机仿真,2005,22(9):185-188.
[15] 郭璠.图像去雾方法和评价及其应用研究[D].长沙:中南大学,2012.
[16] 郭璠,蔡自兴.图像去雾算法清晰化效果客观评价方法[J].自动化学报,2012,38(9):1410-1419.
[17] 禹晶,李大鹏,廖庆敏.基于物理模型的快速单幅图像去雾方法[J].自动化学报,2011,37(2):143-149.
[18] 石文轩,詹诗萦,李婕.一种边缘优化的暗通道去雾算法[J].计算机应用研究,2013,30(12):3854-3856,3862.
[19]MengG,WangY,DuanJ,etal.Efficientimagedehazingwithboundaryconstraintandcontextualregularization[C]//Proceedingsofthe2013IEEEInternationalConferenceonComputerVision,Sydney,NSW,Australia,2013:617-624.
[20]XuH,GuoJ,LiuQ,etal.Fastimagedehazingusingimproveddarkchannelprior[C]//Proceedingsofthe2012IEEEInternationalConferenceonInformationScienceandTechnology,Wuhan,Hubei,China.IEEE,2012:663-667.
THE SELF-ADAPTIVE IMAGE DEHAZING ALGORITHM BASEDON LINEAR WEIGHTING
Cui Jingru1Li Chen1*Pan Ning2Wu Qianwen1
1(SchoolofSoftwareEngineering,Xi’anJiaotongUniversity,Xi’an710049,Shaanxi,China)2(DepartmentofMedicalImaging,TheFirstAffiliatedHospitalofXi’anJiaotongUniversity,Xi’an710061,Shaanxi,China)
In haze weather, the effect of atmospheric scattering lead to the missing of the image information. Thus, the self-adaptive image dehazing algorithm based on linear weighting is proposed on the basis of the principle of dark channel prior. Firstly, during the calculation of dark channel function, the proposed approach adopts an improved method to generate the accurate dark primary picture, and uses the image sharpening technique keep the boundary characteristics of the object. Then, aiming at the over-high contrast of recovered image, a self-adaptive linear weighting method is defined to calculate the accurate values of atmospheric light intensity, ensuring that the transmittance picture of actual scene is obtained. The experimental results show that the proposed approach can reliably achieve image dehazing with good quality and efficiency.
Image Dehazing Linear weighted method Size of window Dark channel prior
2015-11-23。国家自然科学基金青年
61403302)。崔靖茹,硕士生,主研领域:图像处理和模式识别。李晨,讲师。潘宁,硕士生。吴倩雯,硕士生。
TP391
A
10.3969/j.issn.1000-386x.2017.03.027