暗通道融合亮通道优化的夜间图像去雾算法

2021-04-09 13:44李鹏飞何小海卿粼波吴小强
液晶与显示 2021年4期
关键词:均衡化透射率先验

李鹏飞, 何小海*, 卿粼波, 石 伟, 吴小强

(1. 四川大学 电子信息学院,四川 成都 610065;2. 中国民航局第二研究所,四川 成都 610000)

1 引 言

在夜间有雾条件下,光线受到空气中微粒的反射、散射和吸收的影响,容易造成拍摄的图片对比度低、整体亮度低和成像模糊的现象。这种情况下采集到的图像会影响图像采集、目标跟踪、显著性检测、辅助驾驶等计算机视觉系统的性能。消除雾霾可以提高上述系统的性能,因此从有雾图像中消除雾霾至关重要。相对于白天去雾,夜间去雾由于人工光源的渗入,光源周围的大气光更亮,到场景点的入射光和反射光受到雾霾衰减等因素的影响,使图像不同部分的照明不均匀,因此夜间的大气光不能假定为均匀的,相比白天去雾,夜间去雾更具挑战性。

近年来,夜间图像去雾的研究方法按照是否对雾天的成像机理进行分析可分为基于图像增强的方法和基于物理模型图像复原的方法[1]。图像增强算法有直方图均衡化、Retinex算法、小波变换和亮度对比度变换等,该类方法没有考虑光成像原理,可能丢失部分图像的细节信息。基于物理模型的方法是研究雾霾图像退化过程,建立退化模型,得到去雾图像或其最佳估计,该类方法通常能够保留丰富的信息,可以得到自然的结果。

目前白天去雾的研究很多,已经取得许多优秀的研究成果,比如基于暗通道先验的去雾算法[2-3]、基于非局部先验去雾算法[4]等,而夜间去雾的研究相对较少。Zhang等人[5]设计了一个考虑了夜间不均匀的光照条件和人工光源对颜色影响的夜间去雾模型,该算法去雾后图像颜色自然,但容易出现局部失真;Li等人[6]分析了灯光等光源的光晕和光色,在去雾前先消除光晕的影响,通过估计局部大气光来矫正颜色,再利用暗通道先验去雾;Park等人[7]首先用相对平滑假设分解出光晕,然后用整体和局部大气光融合的方法估计大气光,利用权重熵估计透射率函数,但去雾的同时可能会放大噪声;Santra等人[8]考虑了夜间空间变化的大气光,提出一种白天夜间都适用的去雾方法;Zhang等人[9]提出最大反射率先验来估计变化的大气光颜色图,并消除颜色图对输入图像的影响,然后通过改进的暗通道方法估计透射率函数,最后得到了颜色均衡的去雾图像;Liao等人[10]采用深度学习的方法去除雾霾,在合成的有雾图像上取得了良好的去雾效果,但是在训练过程中缺乏大量的真实雾图和相应的无雾参考图像数据集。

本文针对夜间复杂的光源条件,通过加权差分图像作为参考进行引导滤波来估计含场景轮廓信息的大气光,通过拉普拉斯锐化处理的灰度图像作为参考图像引导滤波来估计补充细节的大气光,然后将二者融合;在计算透射率函数时结合暗通道和亮通道各自的优点提出联合优化的透射率函数,弥补了暗通道先验透射率在夜间光源区域的不足。

2 夜间有雾图像成像模型介绍

在计算机视觉和计算机图形学中,广泛用于描述白天有雾图像的模型是I(x)=J(x)t(x)+A[1-t(x)][2],白天去雾模型基于A是常量和大气光为场景主要光源的假设,而夜间的光照条件复杂,所以它不太适合于夜间图像去雾,典型的夜间有雾图像成像模型[1,11]为:

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

(1)

式中:I是观察到的图像,J是无雾图像,A(x)是大气光,t是场景到相机的透射率函数。J(x)t(x)包含图像中大部分的信息及细节,与场景辐射的衰减有关,A(x)[1-t(x)]与大气光在雾霾天气中的散射有关,代表大气光散射过程中引起的薄雾粒子[6]。

3 本文算法介绍

受最近研究进展的推动,本文基于式(1)描述的模型实现去雾。由夜间雾霾天气成像模型(1)可以看出,求出t(x)和A(x)即可以恢复出无雾的图像。本文算法通过原图像的加权信道差分图像作为参考对均衡化处理后的图像引导滤波[12]得到包含轮廓信息的大气光分量Awcd,通过原图像的拉普拉斯锐化灰度图作为参考对均衡化处理后的图像引导滤波得到补充细节的大气光分量Alaplace,然后将二者融合得到大气光A。本文通过暗通道透射率tDCP和亮通道透射率tBCP的加权融合得出透射率函数t(x),然后由式(2)求出去雾图像,算法结构如图1所示。

图1 算法结构图Fig.1 Algorithm structure diagram

3.1 大气光估计

在雾霾天气中,场景成像前一般要经历多次散射,例如雾天条件下光源周围出现的光晕就是多次散射的一种表现,使用引导滤波可以平滑光源的变化。文献[13]在能见度恢复过程中分析了大气中的薄雾,指出像素点处薄雾的强度值大于0小于该像素点三通道的最小灰度值,本文使用RGB三通道中最小灰度值的0.7倍来近似薄雾,然后使用式(3)得出的加权信道差分图像作为参考图像进行引导滤波[11],得到包含轮廓信息的大气光。文献[14]指出引导滤波的关键模型参数是通过原始图像场景中物体的边缘信息来选择的,本文使用输入图像的拉普拉斯锐化灰度图作为参考图像引导滤波得出补充细节的大气光,最后将二者融合得到最终的大气光。计算公式如下:

(2)

(3)

(4)

IIaplace=Igray-Laplace(Igray)/2,

(5)

(6)

式中,I为输入图像,将I转换到Iab空间,对l分量做直方图均衡化处理得到图像Ilab,然后使用式(4)得到均衡化处理后的图像Ieq。Imax、Imedian、Imin分别为输入图像中像素点处灰度值的最大值、中值和最小值,Igray为I的灰度图像,Laplace为核大小为3×3的拉普拉斯变换,Awcd=GuidedFilter(Iwcd,Ieq)、AIaplace=GuidedFilter(IIaplace,Ieq)为引导滤波得到的两个大气光分量,Awcd为以Iwcd为参考图像引导滤波得到的大气光,AIaplace为以IIaplace为参考图像引导滤波得到的大气光,A(x)为求出的大气光函数。图2为本文算法和其他算法A的对比。

图2 不同方法估计的大气光Fig.2 Atmospheric light estimated by different methods

3.2 透射率函数估计

空气中少量的雾霾是人类感知深度的线索[2],即使在晴朗的天气里,我们看遥远物体时依然感觉到有少量雾霾的存在,估计透射率函数t时要避免出现0值,小的t值可以增强暗区域的亮度,但是当t接近于0时可能会产生噪声,大的t值可以抑制高亮度。在计算透射率函数时使光源位置有较大的t值可以抑制光源过度增亮,在暗区域使t值较小可以增强暗区域的亮度。本文计算透射率函数t的过程分为3个步骤:计算暗通道、计算亮通道、暗通道和亮通道的加权融合。

3.2.1 暗通道先验

暗通道先验是基于户外无霾图像的统计,在图像中非天空的局部区域中,一些像素点在至少一个颜色通道(RGB)中具有较低的强度,在有雾图像中,假设非天空区域景物至少有一个彩色通道是弱反射的,这些暗通道像素的强度是由大气光决定的[2],而天空区域大气光的所有通道都有强反射,当场景对象上有大面积区域类似于天空(白色)且没有阴影时,暗通道先验可能是无效的。本文在计算透射率时对天空和光源等图像中较亮的区域进行了改进,避免在这些区域出现极小的t值,得出tDCP的计算公式如下:

(7)

式中:

(8)

(9)

(10)

TGmax=0.4×max(IA),

(11)

式中,Ω(x)是以像素点x为中心的窗口区域,Ac为3.1节求出的大气光。

3.2.2 亮通道先验

夜间有雾图像可能会受到灯光、火光等光源的影响,为了弥补暗通道先验在这些光源区域的不足,文献[11]使用了亮通道先验,即光源区域像素通常包含至少一个具有高强度的颜色通道,在亮通道先验的基础上,提出了亮通道透射率的计算方式:

(12)

本文对tBCP(x)进行了一个增强运算,用于增强亮通道中低强度的亮度[15],同时防止高亮区域出现极端的增强:

(13)

式中,max(tBCP)为tBCP中的灰度值最大值。

3.2.3 计算权重α

由于tDCP较适合应用在非光源区域,tBCP较适合应用在光源区域[11],权重α用于融合暗通道和亮通道透射率,本文通过式(15)中设定的判断条件,对图片中较亮的区域计算较大的α值,从而在使用式(20)融合暗亮通道时给亮通道tBCP一个较大的权重;对于图片中较暗的区域,为避免过度增强弱光区域加入了自适应权重系数[16],如式(15)所示。

(14)

(15)

式中:

(16)

(17)

(18)

tGmax=0.4×max(Imax),

(19)

I为经均衡化处理后的输入图像。

3.2.4 计算透射率函数

本文采用加权融合的方法来计算透射率函数t(x),tBCP和tDCP加权融合的传输函数为:

(20)

之后对上式求出的t(x)做限制对比度自适应直方图均衡化[17]处理,再用Igray作为参考图像引导滤波得到细化的透射率函数。图3为一组不同算法求出的t(x)函数图的对比:

3.3 去除夜间有雾图像的雾霾

在计算出大气光A(x)和透射率函数t(x)后,根据夜间雾霾图像成像模型(1),可用公式(2)得到去雾图像。

图3 不同方法求出的透射率Fig.3 Transmittance calculated by different methods

4 实验和结果分析

本文算法采用PyCharm COMMUNITY 2019.2 Python3.6编程实现,计算A(x)使用的引导滤波卷积核直径为60;窗口Ω的大小对透射率t有重要影响,太大或太小的窗口尺寸都可能会导致不准确的t值估计,本文在求tDCP和tBCP时用Ω尺寸为15×15;求α(x)用的Ω窗口大小为15×15;用于限制对比度自适应直方图均衡化的网格大小为16×16;细化透射率t(x)用的引导滤波卷积核直径为30,实验分为主观评价、客观评价和算法处理时间对比。

4.1 不同算法去雾效果的主观对比

图4~图74组为去雾结果对比,从图中灯光区域的对比可以看出本文算法可以保持光源的轮廓形状。

图4 不同方法对亭子图片的去雾效果Fig.4 Dehazing results of different methods on pavilion picture

图5 不同方法去雾效果对比(第二行为图中红框位置放大的结果,从图中可以看出,算法[8,11]去雾后亭子顶部的纹理过于变暗)Fig.5 Comparison results of different dehazing methods (The second line are the magnification results of the red box area in the picture, the textures on the top of the pavilion are too dark after dehazing by algorithm [8,11])

图6 不同方法对薄雾和较浓的雾图像去雾效果对比Fig.6 Comparison of dehazing results of different methods on haze and dense haze images

图7 不同方法去雾效果对比Fig.7 Comparison of different methods of dehazing results

从图中可以看出,文献[5]去雾后亮度和细节均有改善,但部分区域会存在噪声放大的现象;文献[6]取得了较好的去雾效果,但抑制光晕的过程中光源位置周围容易产生黑色伪影;文献[8]去雾后亮度整体偏暗,部分暗区域会出现细节丢失;文献[9]去雾效果良好,但少量区域会产生颜色失真,如图7中树叶和铁路位置所示;另外图6中路灯位置出现黑色伪影;文献[11]去雾后图像有着良好的对比度,但少量暗区域会出现细节丢失,如图5湖边亭子的顶部位置所示;另外在图7第3幅图路灯位置出现了模糊的情况;本文算法去雾后在保持图像细节的同时取得了良好的去雾效果。

4.2 客观指标评价

客观评价将本文算法的去雾结果与文献[5,6,8-9,11]进行了对比。因在现实场景中同时获得夜间有雾的图像和与其对应的相同条件下拍摄的无雾Ground Truth图像是困难的[7],因此采用BRISQUE、NIQE、信息熵和对比度4个无参考指标作为参考。

无参考客观评价指标BRISQUE可以测量图像细节的损失程度,该指标值越低代表图像质量越好[14,18];NIQE用来评估图像质量,越小的数值代表图像质量越高[19];信息熵反应图片的信息量,数值越大代表信息越丰富[20-21];对比度[1]反应图像细节丰富程度,数值越大越好。表1为对图4、5、6计算的4个指标的对比情况,表2为对图4~图7中的图片计算的上述4个指标的平均值。

表1 不同算法去雾后图片的指标对比Tab.1 Index comparison of images after dehazing by different algorithms

表2 不同算法去雾后指标平均值对比Tab.2 Comparison of average values of indexes after dehazing by different algorithms

续 表

从表1和表2的指标对比可以看出,本文算法在质量和细节保持方面具有一定的优势。

4.3 处理时间对比

该节将本文算法和文献[6,8,11]做了运行时间的对比,对比算法和本文算法代码均使用Matlab编程实现,测试电脑系统为Win10 home版,CPU i7-8750H,内存为8G,测试图像为本文主观对比中使用的10张图片,将图片的尺寸都调整为560×420。表3为不同算法在这10张图片上运行时间的平均值对比。

表3 不同算法的平均运行时间Tab.3 Average running time of different algorithms

从上表可以看出,本文算法运行时间比文献[6, 8]要快,比文献[11]要慢,相比文献[11],本文算法多了图片预处理的过程。另外在求暗通道和权重α的过程中增加了判断条件,还有采用两种大气光分量融合的方式等原因导致了运行时间的增加。

5 结 论

本文提出了一种简单有效的夜间图像去雾算法,通过两个大气光分量融合的方式得出适合光照不均匀夜间环境的大气光。通过自适应权重图融合亮通道和暗通道推导出的透射率函数,结合了亮通道和暗通道各自的优点,去雾后视觉效果良好。实验结果表明,在测试图片上计算的BRISQUE、NIQE、信息熵、对比度指标的平均值分别为18.281,3.494 3,7.587 2,23.809 7,与对比算法相比均有一定的提升。本文算法去雾后可以较好地保留原图像的结构信息,且细节失真较小。

猜你喜欢
均衡化透射率先验
等离子体随机分布对THz波传输特性的影响
基于无噪图像块先验的MRI低秩分解去噪算法研究
一种改进的场景透射率修正图像去雾算法
纯色太阳镜镜片耐日光辐照性能试验研究
基于自适应块组割先验的噪声图像超分辨率重建
PSO约束优化耦合直方图均衡化的图像增强算法
基于平滑先验法的被动声信号趋势项消除
制度变迁是资源均衡化的关键
先验的废话与功能的进路
直方图均衡化技术在矢量等值填充图中的算法及实现