结合光场深度估计和大气散射模型的图像去雾方法 下载: 678次
0 引言
在恶劣的天气条件(雾、霾、雨)下,空气中大气湿度和大气气溶胶密度较高,由于这些微粒对光线的散射和吸收,导致在这种天气条件下所拍摄到的户外图像出现可见性差、对比度低的问题.在这种条件下所获取的图像对计算机视觉引用和图像理解产生不利的影响.因此,如何消除雾天图像中雾气造成的影响,从雾天图像中恢复出清晰可见的无雾图像,成为了计算机视觉领域的研究重点之一.
目前,根据图像去雾的原理和方式可以将去雾算法分为两类:基于图像增强去雾方法和基于物理模型去雾方法.基于图像增强的去雾方法,例如直方图均衡化[3]或者同态滤波算法[4],不考虑雾天图像退化的机理,仅仅对所需的部分进行增强处理.使用这类方法恢复的雾天图像很容易出现色彩失真和图像细节信息丢失等情况.为了克服以上图像增强去雾方法的局限性,研究人员通过研究和分析图像降质和退化的机理,求解图像退化的逆过程来尽可能地恢复出未退化前的图像.由此产生了一类基于物理模型去雾的方法.考虑到场景的深度信息和场景透射率之间的关系,研究者们尝试将获取的场景深度信息代入退化模型中,逆推出无雾图像.因此出现了许多估算雾天场景深度信息的算法,CHO Y等[5]利用深度传感器获取场景深度信息.ZHU Q等[10]根据图像饱和度和亮度之间的关系提出颜色衰减先验,并利用此先验对雾天图像深度进行估计.与图像增强算法相比,该类算法的针对性较强,图像信息丢失较少,去雾结果较好.然而上述方法在获取雾天图像场景深度信息依然存在局限性:1)对于场景深度信息的获取所需的硬件条件要求过高:2)单幅图像提供的信息有限,根据有限的信息所总结的先验知识存在一定的局限性,在特定的场景下(如存在大片白色区域),错误的先验信息将导致场景深度信息的偏差.
近年来,随着科技的发展和硬件条件的提高,对于图像深度的计算有了更多的方法和思路,光场相机的出现为图像深度获取提供了更有效的工具.光场相机得益于其独特的物理结构,使得仅需一次曝光拍摄即可获取场景的4维光场信息[13],分别为场景2维空间位置信息和2维角度方向信息.空间信息表征了场景的位置关系,角度信息表征了场景的视角变化.因此光场图像能更好地揭示场景的3维几何结构,研究人员通过对光场数据的分析将光场成像技术运用到场景的深度估计当中[13-15].本文利用光场图像处理的特点,提出了一种融合光场深度获取和暗通道计算图像透射率的去雾方法.利用光场相机[16]获取的场景多视角图像以及光场深度计算的原理,从4维光场数据中计算出场景的深度信息,能够有效地解决难以从单幅图像提取场景深度的问题.将根据光场深度信息计算出的图像透射率与暗通道透射率相融合得到更精细的透射率,同时利用场景深度信息的引导对场景的天空区域进行分割,单独针对天空区域进行大气光的获取,有效避免了前景的干扰,最后通过大气散射模型对中心视角图像实现去雾.
1 相关工作
为了更准确地描述雾天图像,1976年MCCARTNEY E J根据大气颗粒物对光照的散射作用提出了大气散射模型[2],而后NARASIMHAN S G等[1]在此基础上提出被广泛使用的图像去雾模型,模型公式为
该模型主要由入射光衰减模型和大气光成像模型两部分组成,式中t(x)表示介质的透射率且t(x) ∈ (0,1), x为图像像素点的坐标,A表示场景的大气光,I(x)表示实际观测到的图像即雾天图像,J(x)表示去雾后的图像即待恢复的无雾图像.假设大气中的雾均匀分布且场景深度已知,则可通过式(2)计算出透射率
式中,β为大气的媒介衰减系数,d(x)为图像中x处像素的深度值.由式(1)可知,雾天图像的恢复重点在于图像透射率和大气光强的计算.针对透射率的计算,BERMAN D等[11]分析无雾图像的颜色在RGB色彩空间形成不同的颜色簇(Haze-line),通过这些簇对场景的深度进行估计,再由图像深度信息计算得到图像透射率.QING C等[6]使用颜色衰减先验获得雾天图像深度信息,再通过聚类对深度进行分类,对不同深度的区域进行透射率的计算.HE K等[9]通过大量的实验提出了暗通道先验理论,并利用暗通道估算场景的透射率.此类由先验信息获取图像的深度信息的方法存在局限性,当场景中出现大面积白色区域时先验信息失效,无法准确获取场景深度信息,会导致最终复原的图像出现一定程度的颜色失真.
在大气光估算方面,ZHU Y等[8]结合了亮度模型和暗通道先验理论对雾天图像的天空区域进行分割,在天空区域单独进行大气光的计算.JIANG B等[7]使用L0平滑滤波对天空区域进行分割,再提取天空区域的色彩信息同时计算大气光.此类大气光估算方法对于提升大气光估计的准确度有一定作用,但是没有充分利用图像深度信息,分割边界不均匀,去雾后图像在天空边界处会产生较为严重的光晕效应.
针对上述透射率和大气光估算中存在的问题,本文利用光场多视角图像的特点,从光场极平面图像中提取对应空间点的深度值,从而获得场景深度信息.有效地解决了雾天图像深度信息提取困难的问题.同时,提出了利用图像深度信息引导对天空区域进行分割,能够避免天空区域与前景在恢复图像时互相影响,更好地将场景深度信息融入透射率的计算,有利于大气光强的获取,提升了恢复图像的色彩保真度的同时能够有效减轻天空边界处的光晕效应.
2 本文方法
本文算法框图如
2.1 光场EPI深度计算
本文选用微透镜式光场相机[12],微透镜式光场相机在主镜头和成像传感器之间放置一个微透镜阵列,如
式中,d表示P点的深度值,在三维空间中的点P(X,Y,Z)对应到EPI图像上的一条直线,如
利用上述公式可以从EPI中估计出视差.由
2.2 结合光场深度获取的透射率计算
雾天光场图像中的雾气是一种特殊的噪声,上述EPI深度获取方法对噪声的鲁棒性较差,在雾气的影响下会严重降低深度估计的精度.而旋转平行四边形算子(Spinning Parallelogram Operator, SPO)[17]方法由于其即使在有遮挡或者噪声的情况下依然有很强的鲁棒性,能够充分利用EPI图像的信息,因此本文采用旋转平行四边形算子(SPO)算法计算雾天光场图像的深度信息.
SPO算法引入置信度来对所求结果进行评价,并根据置信度分配横向、纵向EPI深度估计结果的不同权重值,使结果更加精确.横向EPI图像和纵向EPI图像对该像素点进行深度估计,通过定义一个置信度来衡量可靠性,将横向EPI与纵向EPI的深度估计值进行加权求和得到最终的深度估计结果,即
式中,dy,v* (x,u*,θ),dx,u* (y,v*,θ)分别是横向和纵向EPI图像深度估计的结果,Cy,v* (x,u*),Cx,u* (y,v*)为二者的权重.由式(5)计算可以得到光场雾天图像的深度信息ds (x) =du,v (x,y,θ).将雾天图像的深度信息代入式(2)中可得场景初始透射率为
光场深度获取得到的图像深度信息存在一定的局限性,由于图像中雾气的影响,当场景中距离过大时(天空区域),通过光场深度计算得到的深度信息并不可靠,由此计算得到的透射率也存在问题.因此,本文将暗通道去雾中透射率计算结果与光场深度计算透射率结果按照一定权重进行融合可以有效地提升透射率计算的结果.暗通道计算图像初始透射率为
式中,ω取0.95,
t(x)为融合后的透射率.C与1-C分别为td (x)和ts(x)的权重,C可通过图像深度信息结合sigmoid函数确定,即
式中,α1是影响曲线倾斜度的参数,α2是水平坐标的中心,dn (x)为图像深度值归一化之后的值.根据文献[8]中的研究以及sigmoid函数的性质,存在gs = α1dns-α1α2和gf = α1dnf-α1α2,使得C (gf) ≈ 0, C (gs) ≈ 1.即小于gf为前景区域,大于gs为天空区域.gf到gs为前景到天空的过渡区域.则可通过gf与gs求得参数α1、α2,即
式中,dns为归一化后天空区域的深度值,dnf为归一化后前景区域的深度值.由式(10)可求得参数α1、α2,为
通过式(11)、(12)可确定(9)中的参数.在计算权重时结合图像的深度信息,随着图像深度的增加,在深度透射率和暗通道透射率融合的过程中,能够有效减少天空区域雾气对场景深度计算的影响.式中gs与gf的取值决定了透射率融合的结果.本文中取gs=6, gf = -6,dnf = 0.15,dns = 0.60,此时对大部分透射率融合都能够取得较好的结果.
2.3 深度引导天空区域分割
当提取出场景深度信息之后,可根据式(8)计算出场景的初始透射率.由于雾天图像的特性,随着深度的增加雾气的浓度也会随之增加,在无穷远处,即天空区域,受噪声影响严重,会进一步影响后续雾天图像的复原.通过
在理想的情况下,d (x)的值域为[0,+ ∞],从式(1)、(2)可以得到
由式(13)可得,距离足够远的情况下,I(x)近似等于大气光A,即大气散射模型中的大气光可近似看作无穷远处的亮度.本文充分利用雾天图像场景深度信息,以场景深度图为引导图像,结合canny边缘检测对雾天图像的天空区域进行分割.之后单独对天空区域进行大气光的求解,具体步骤如下
首先通过高斯滤波对雾天图像平滑去噪,利用上一节得到的初始深度图对平滑后的雾天图像进行引导滤波
式中,Id是引导图像,I是输入的待滤波图像,f是滤波后的输出图像,W是根据引导图确定的权重值.在这一步中加入深度信息的引导,通过深度图像引导滤波之后能够平滑平坦区域同时突出图像中的主边界,从而有利于后续天空边界的筛选.
通过边缘检测筛选出合适的边缘,筛选出的边缘并不能直接确定天空区域的边缘,因此根据以下两个天空区域的特性对边缘做二次筛选,最终确定天空边缘
式(13)给出了天空区域筛选的两个条件.在初次筛选后的边缘中任取一条边缘,假定此时的边缘为天空边界.(x,y)为初筛边缘上点的坐标,u为偏移量,偏移量可以根据场景实际情况进行选取,通过大量实验得到偏移量u取10时可满足大部分场景需要,本文中u = 10,边缘点s (x,y)通过加减偏移量可移动至天空区域和前景区域,此时可对偏移后的两点进行判定.条件bs (x,y -u)> bf (x,y+u)以像素亮度为标准,天空区域点(x,y -u)对应的亮度应高于前景区域点(x,y + u)对应的亮度;条件ds (x,y - u)> df ( x,y + u)以深度作为筛选标准.天空区域点(x,y - u)对应的深度值应大于前景区域点(x,y + u)对应深度值.可多次选取不同的点重复进行此判定以保证结果的准确性,当以此边缘作为天空边界选取的点皆满足上述两个条件时,即可判定此边缘为天空区域边缘,根据确定的边缘即可对天空部分进行分割.若不满足条件则证明此边缘非天空边界,选取下一条边缘进行判定,直至找到天空边界为止.在分割完成之后,针对天空区域估算大气光的值,如
2.4 雾天图像恢复
根据大气散射模型可知,图像去雾的最终目的是从雾天图像中恢复无雾图像.由式(1)、(2)可知
为了避免在进行图像复原时产生过多的噪声,本文采用文献[10]的方法将透射率t (x)限制在0.1到0.9之间,最终的图像复原公式为
式中,β为大气散射系数.β选取的过大或者过小都会导致最终图像恢复的质量不佳.因此在对图像进行恢复的时候应当选取合适的β.在大气均匀分布的情况下,大气散射系数β值可以被认为是恒定值.本文中β取值均为1.
3 实验结果及分析
为了验证本文所提出算法的有效性,本文分别在合成雾天光场图像和真实场景拍摄的雾天光场图像上进行实验,并与文献[8-11]中的方法去雾图像的结果进行定性以及定量分析.
3.1 实验设置
本文实验在PC硬件配置为Intel Core i5-4590 CPU 3.3 GHz×4cores,RAM 16GB,操作系统是Windows 10 64位的台式电脑上完成,实验编译软件是MATLAB 2016a.
实验中使用的雾天图像包括合成的雾天光场图像以及使用Lytro Illum相机[16]进行拍摄的真实雾天图像.在Stanford Lytro Dataset数据集[18]上采用文献[10]中的算法合成雾天图像存在无雾真值,该数据集由Lytro Illum采集的真实场景得到.由Lytro Illum相机拍摄的真实雾天光场图像,图像空间分辨率为625像素×434像素,角度分辨率为15°×15°.由于微透镜边缘接收光线不足,因此边缘视角图像存在黑影,本文选取中心部分9°×9°个视角作为实验图像.
由于数据集存在真值,因此对去雾之后的图像与原图像之间计算峰值信噪比(Peak Signal to Noise Ratio, PSNR)和结构相似性(Structural Similarity Image Measure, SSIM)作为量化评价指标.PSNR和SSIM取值越大,表示去雾算法的效果越好.
式中,Ir0、Ig0、Ib0表示未经处理的原图像RGB三个颜色通道,Ird、Igd、Ibd表示去雾之后的图像三个颜色通道的值.MSE表示当前图像Id和参考图像Io的三个颜色通道的均方误差(Mean Square Error, MSE),H、W分别为图像的高度和宽度,式(19)中L表示图像颜色的最大值.
式中,μx和σx分别表示原始无雾图像的灰度平均值和方差,μy和σy分别表示去雾后图像的灰度平均值和方差,σxy为原始无雾图像和去雾后图像的协方差,C1 = (k1l)2和C2 = (k2l)2是用来维持稳定的常数.l是像素值的动态范围,k1 = 0.01,k2 = 0.03.
3.2 实验结果
3.2.1 算法分析
从
3.2.2 合成数据集
1) 定性分析.
2) 定量分析.
表 1. 图像去雾结果的PSNR比较
Table 1. Image dehaze comparison of PSNR
|
表 2. 图像去雾结果的SSIM比较
Table 2. Image dehaze comparison of SSIM
|
表 3. 图像平均去雾时间对比
Table 3. Image dehaze comparison of average time
|
3.2.3 真实场景
4 结论
本文针对单幅雾天图像提供信息有限,难以通过直接获取场景深度信息进行图像去雾,以及分割不精确导致的光晕效应等问题,在大气散射模型的框架下,提出了结合光场成像技术获取雾天场景深度信息进行去雾的方法.利用光场深度获取得到场景的深度信息,根据场景深度计算图像初始透射率,将图像初始透射率与暗通道透射率进行加权融合得到最终的精细透射率.同时在场景深度信息的引导下结合边缘检测算法对图像的天空区域进行分割,针对天空区域单独计算大气光强,避免前景造成的干扰.将计算得到的最终透射率与大气光强输入大气散射模型对光场图像中心视角图像进行去雾处理.实验结果表明,本文所提出的方法能够有效地减轻恢复图像的色彩失真,同时能够很好地处理天空区域,减轻图像天空边界的光晕效应,取得了较好的去雾结果.本文将光场图像处理技术应用于图像去雾领域,探索了光场图像处理技术与图像去雾结合的可能性以及优势,将来的工作会针对雾天图像进行研究,进一步发挥光场深度估计的优势,使用抗噪性更高的深度线索计算雾天图像的深度信息并对算法进一步优化以降低算法的耗时.
[2] MCCARTNEY E J. Optics of the atmosphere:scattering by molecules and particles[M]. New York, John Wiley and Sons, Inc., 1976:421.
[5] CHO Y, SHIN Y S, KIM A. Online depth estimation application to underwater image dehazing[C]. OCEANS 2016 MTSIEEE Monterey, IEEE, 2016.
[6] QING C, HU Y, XU X, et al. Image haze removal using depthbased cluster selfadaptive parameters[C]. 2017 IEEE International Conference on Inter of Things (iThings) IEEE Green Computing Communications (GreenCom) IEEE Cyber, Physical Social Computing (CPSCom) IEEE Smart Data (SmartData), IEEE, 2017: 10701075.
[11] BERMAN D, AVIDAN S. Nonlocal image dehazing[C]. Proceedings of the IEEE Conference on Computer Vision Pattern Recognition, 2016: 16741682.
[12] NG R, LEVOY M, BRéDIF M. Light field photography with a hand-held plenoptic camera[J]. Computer Science Technical Report, 2005, 2(11): 1-11.
[16] Lytro.[OL]. Available: https:illum.lytro.com.
[18] RAJ A S, LOWNEY M, SHAH R. Lightfield database creation depth estimation[R]. Department of Computer Science, Stanfd University, Technical Rept, 2016.
[19] 王 国权, 周 小红, 蔚 立磊. 基于分水岭算法的图像分割方法研究[J]. 计算机仿真, 2009(5): 265-268.
[20] PRICE B L, MSE B S, COHEN S. Geodesic graph cut f interactive image segmentation[C]. Twentythird IEEE Conference on Computer Vision & Pattern Recognition, IEEE, 2010.
Article Outline
高隽, 褚擎天, 张旭东, 范之国. 结合光场深度估计和大气散射模型的图像去雾方法[J]. 光子学报, 2020, 49(7): 0710001. Jun GAO, Qing-tian CHU, Xu-dong ZHANG, Zhi-guo FAN. Image Dehazing Method Based on Light Field Depth Estimation and Atmospheric Scattering Model[J]. ACTA PHOTONICA SINICA, 2020, 49(7): 0710001.