基于半选择性曝光融合的雾天图像复原算法
2023-05-24陈照春
陈照春
(1.福建省特种设备检验研究院,福建 福州 360008;2.国家特种机器人产品质量检验中心(福建),福建 福州 360008)
雾是一种自然现象,在有光的条件下,会产生大气散射,对于户外采集的图像会造成遮挡问题,同时也会引起图像的对比度降低和颜色退化,严重影响基于机器视觉的系统的工作,如交通监控、地形勘探、智能导航和无人驾驶等。为了有效提高出行的安全,减少雾对人们生命财产的影响,对于雾天图像的复原具有重要意义。
图像去雾最早起源于对大气散射和损失的研究,根据反射与散射的关系,发展出两种模型:基于人眼视网膜双皮层[1]和大气散射模型[2]。前者是NASA为了提高航天发射的安全性开发的一种图像增强模型,该基础模型演化出三种:单尺度Retinex[3]、多尺度Retinex[4]和带颜色恢复的多尺度Retinex[5]。虽然很多学者对其改进,不断突破,有了较大的发展,但该类模型主要针对的是低对比度图像,对于雾天图像的复原有很大的局限性,主要表现在容易造成色彩畸变和过增强等问题。
鉴于基于人眼视网膜双皮层方法的缺陷,学者根据大气散射和损失关系,建立了基于大气散射模型的模型[6]。该模型是通过图像中目标的深度信息来进行复原,因此在建立之初很受限制。之后,He等[7]通过大量的统计试验发现了暗通道先验理论(DCP),该方法简化了大气散射模型的求解,从而大大提高了算法的应用性。由于该模型处理后会出现一定的色彩畸变和亮度损失问题,之后,很多学者在该模型的基础上不断的进行研究。
目前,针对暗通道先验方法的研究主要集中在以下两类:基于神经网络的方法和基于模型修正的方法。
基于神经网络的方法是最近几年随着人工智能方法发展才开始在该领域得到应用。Cai等[8]通过有雾图像与无雾图像的关联关系,提出了一个去雾的网络。Zhang等[9]提出了一个带有残块的密集连接的金字塔网络。Ren等[10]提出了一个门控融合网络的端到端的训练模型。Qin等[11]提出了一个残差注意力块的FFA-Net。虽然这些基于深度学习的方法很好的解决了图像去雾的问题,但这些模型需要大量的样本进行训练。对于自然环境下的雾天图像,随机性较大,因此这些方法也不能很好的适应。
基于模型修正的方法是一种对影响暗通道先验变量进行精细化修正的方法。众所周知,暗通道理论中影响复原结果的变量为:全局大气背景光和透射率。因此,模型修正方法中主要针对的是以上2个方向。针对全局大气背景光的修正,主要是通过分割和识别的方法,剔除图像中非天空区域的高反射目标,如Wang等[12]提出一种区域分解和融合的方法将图像分为天空区域和非天空区域进行复原,Zhu等[13]采用图割的方法进行分割天空区域,通过能量最小化进行求解,获取无雾的图像。针对透射率的优化,主要集中在一些先验方法的开发,如彩色线[14],雾线[15],颜色损失先验[16],加权导向滤波[17],局部常数假设[18]等。这些方法根据先验信息,很好地修正了透射率,但由于先验信息的不确定性,自然环境中雾的多变性,造成了很多先验方法的鲁棒性不高。
图像融合借助相关特征,通过融合的思想很好的解决了复原中不缺性的问题,所以,受此启发,结合雾天图像构造中,图像的清晰和模糊区域类似于曝光的特征。本文提出了一种基于半选择性曝光融合的雾天图像复原算法。为了解决曝光的问题,运用统计学方法,分析雾图的直方图特征,对明亮区域进行了分割,以准确获得不同的全局大气背景光。为了减少光晕伪像,本文提出了一种基于边界限制的快速自适应双边滤波来优化传输。为了提高复原的视觉效果,本文构造了一种选择性曝光融合方法。为了减少计算开销,本文使用图像缩放的方法进行传输。
本文通过统计先验的方法,解决了图像的亮度失真问题。通过构造基于边界限制的快速自适应双边滤波来优化透射率图像,减少了光晕现象。最后,开发了多曝光融合方法,改善了图像去雾的视觉效果。
1 算法
经典的暗原色理论被描述成以下数学模型[19,20]
I(x)=J(x)t(x)+A(1-t(x))
(1)
式中:I(x)表示雾天采集的图像,J(x)表示复原后的图像,t(x)表示透射率图像,A表示全局大气背景光值。该理论通过先验假设,结合式(1)得到复原后的图像为
J(x)=(I(x)-A)/max(t1(x),t0)+A
(2)
式中:t1(x)经过导向滤波优化后的透射率。t0为限值,一般设定0.1。
雾天图像的复原是一个不适定问题,建立在经典的暗原色理论之上的求解,都是在寻找一种最优的复原方法。本文在统计试验的基础上,通过大量分析雾天图像有雾区域的特征,对雾天图像进行分割,获取天空的区域;之后通过自适应边界的相对快速双边滤波对透射率图像进行优化。最后,结合大气背景光有效范围,运用多权重曝光融合,复原雾天图像,其流程图如图1所示。
图1 算法的流程图
1.1 大气背景光获取
经典的方法对全局大气背景光的求取采用的是全局方法,该方法不能兼顾图像中明暗的变化,从而容易出现偏移,造成图像强亮度边缘的光晕现象。
运用统计学方法,分析雾天图像的直方图特征,发现雾的区域梯度均匀且偏小,亮度偏大。基于此特点,本文提出一种基于先验统计的方法,实现对雾天图像进行分割,获取图像中明亮区域,也就是雾存在的区域,精准地实现对大气背景光的获取。
考虑到雾天图像的特点,本文从两个方面对图像进行区域分割处理。亮度色空间的分割:首先将图像转化到HSI色空间,获取图像的亮度空间;其次对亮度空间进行自动阈值处理、中值滤波处理;最后进行小区域的形态学腐蚀,文中通过试验,设定的腐蚀最小面积为图像的1/1 000。梯度域的分割:首先将图像转化为灰度图像;其次获取灰度图像的梯度,运用梯度的阈值,进行特定的二值分割;最后通过中值滤波处理和形态学最小区域腐蚀,获得分割的区域。通过以上的两种分割区域,综合判断图像中明亮的区域。
ac=f1(Ic(x)),c∈{r,g,b}
(3)
式中:ac是每个通道图像的明亮区域图像,f1(·)为通过最优逼近原理对图像直方图的局部分割点的求取方法,Ic(x)为输入的雾天图像,ac为每个通道内图像的分割阈值点,r、g、b表示输入图像的三个通道。
传统的暗原色理论中天空的亮度值A求取,采用的是暗通道图像中亮度最大的0.1%的像素的均值,通过对大量的雾天图像进行处理发现,该估算的方法会造成图像的亮度偏暗,且对于不同亮度雾景,由于天空的亮度值估计的不准确,其效果往往相差很大。本文在试验的基础上,对大量的不同亮度的雾天图像进行统计,并与实际的天空的亮度值对比,构建拟合出大气背景光值的有效范围函数。
A=[min(nac),max(nac)]
(4)
式中:nac=[min(ac),at,max(nac)],其中at是每个通道内大于min(ac)值中占比最多的像素点。图2是根据统计先验获取的阈值进行明亮区域分割的效果图,鲁棒性比较高。
图2 大气背景光区域的提取
1.2 透射率图像的优化
采用固定边界限制求取的初始透射率图像一定程度地避免了暗通道图像的“阶梯”效应,但直接采用,可能会出现一定的光晕现象,尤其是在浓雾和亮度明显变化的区域[22]。为了解决这个问题,本文提出一种基于边界限制的自适应双边滤波方法来优化透射率图像。
首先将输入图像缩小一半,根据辐射立方体的定义,边界约束定义为
(5)
针对边界约束后的初始透射率图新,本文设计了一种自适应双边滤波的方法,来优化初始透射率图像,其泛函为
t2(x)=f2(ti(x))
(6)
式中:t2(x)优化后的透射率图像,f2(·)是自适应双边滤波的平滑方法,根据文献[23],定义如下
(7)
式中:Ω是一个以原点为中心的窗口,中心φi和宽度ω(j)是空间变化的函数。
(8)
(9)
式中:窗口通常设置为φi(t)=[-3ρ,3ρ]2。文中采用文献[24]提出的解析逼近方法进行求解。如图3所示,对透射率图像进行二次优化,可以有效解决DCP方法中的‘阶梯’效应,从而降低光晕现象。
图3 透射率图像优化过程
1.3 半选择性曝光融合图像融合
在边界限制的自适应双边滤波方法和基于直方图特征的大气背景光值范围提取基础上,本文设计了一种选择性曝光融合方法。首先,对多个不同曝光程度图像的进行构造
Ji(x)=(I(x)-Ai)/(max(t2(x)↑n,t0))λ
(10)
式中:Ji(x)是初始复原后的图像,↑n是上采样运算,λ是gamma校正的参数。
经过初始复原,获得了曝光度不同的图像,为了获取更好的视觉效果,根据图像曝光特征,提出了一种半选择性多权重曝光融合方法。
众所周知,图像熵反映图像平均信息量的多少。在获取初始曝光图像过程中,信息量越大,图像越清晰,因此本文在这里通过图像的信息熵设计一个半选择器,对图像进行初选。
首先,本文需要设计半选择函数,其定义如下
H=Fmb(EJ)
(11)
式中:Fmb(·)表示求解局部最优值。EJ表示图像熵的值。H表示输出的参与融合的图像。其中,EJ的求解如下
(12)
式中:pi是直方图图像J中第i个统计小区间值。N是总的统计区间,一般设置为256。由于图像的熵获取输入是灰度图,因此需要把输入的图像Ji(x)转化为灰度图,之后缩放到50×50,提高处理速度。
其次,设计多图像融合方法。融合具体步骤如下。
通过高斯平滑滤波操作,获取局部对比度权重Cωi,公式如下
(13)
式中:Cgi=G(Ji(x)*h(x))表示对Ji(x)进行高斯滤波,G(·)表示灰度处理。Cωi表示不同图像的对比度权重,i表示每个通道。
根据初始复原后的图像,获取亮度映射权重。由于图像存在曝光和欠曝光问题,通过一定的阈值操作,直接获取视觉感较好的区域
(14)
式中:Bi表示亮度分割的阈值,其值范围为[10,30]。Bωi表示最终的亮度权重。最后,通过不同图像的颜色差异获取颜色差异性权重Dωi,其公式如下
Dωi=(Clωi⊕s1)⊖s2
(15)
式中:Clωi表示计算的图像颜色差异性,Clωi=exp((Hei(x)-Hmi(x))/δ2),Hmi(x)是中值滤波处理函数,Hei(x)表示直方图均衡函数,s1、s2表示半径为r1、r2圆状腐蚀盘,⊕、⊖表示膨胀和腐蚀。
对三个权重进行规整和规则化滤波,获取最终的融合权重Wfi,公式如下
Wfi=Rf(Cωi×Nf(Bωi×Dωi))
(16)
式中:Rf(·)表示递归滤波处理,Nf(·)表示归一化处理方法。
通过最终的融合权重,获取复原结果如下
(17)
式中:Jf(x)表示最终融合的图像。如图4所示,获取的初始复原的图像有2个,分别是图4的(b、c),之后通过融合获取最终的复原图。
图4 多曝光融合的结果
2 试验结果及分析
本文的试验平台为Matlab R2018a,系统为双核2.4GHz CPU好Windows 10操作系统,试验的对象为当前经典的雾天数据库SOTS。为了有效地对算法的效果进行评价,本文对HE[7]、Meng[22]、Cai[8]、Bui[16]、Gao[25]、Ju[26]进行主观和客观评价。客观评价采用全参考和无参考两种评价方法对多种经典算法进行分析。此外,为了更加有效地说明算法的效率,本文对算法处理时间进行分析。
2.1 算法效果的主观分析
目前,雾天图像分为自然状态下的和合成状态下,为了更加合理地对算法的效果进行客观分析,本文将从这2个方面分别进行试验,对算法进行主观分析。
图5是户外自然雾天图像的多种算法处理效果,其中第一列是原图,第2列到第6列分别是上述的5种对比方法,最后一列是本文算法的方法。由于天空区域对求取大气背景光的值很重要,影响着雾天图像复原结果,因此本文在户外自然图像的选用中,着重用天空区域占比不同的图像,以便检验本文算法对不同天空区域的鲁棒性。本文将从颜色保真度,清晰度和图像的视觉感三个方面进行分析。
图5 户外自然雾天图像的多种算法处理效果
在颜色保真度方面,图5里在天空区域占比比较低的图像中,如第一行,每种方法复原结果颜色保真度都比较好,图像中各种目标的颜色得到有效的复原,但随着天空区域占比扩大,如第四行和第二行,在天空区域,HE、Meng和Bui出现了明显的光晕现象,发生色彩畸变。Gao 的方法比以上三种方法稍弱,针对不同的图像,出现一定程度的色彩畸变。Ju的方法部分出现了颜色畸变。Cai和本文方法复原后的图像色彩保真度比较好。
在清晰度方面,图5中,每种方法都能达到增强复原的目的,但每种方法增强的程度不同。HE和Bui方法增强的程度最强,导致复原后图像的对比出现过增强现象,图像亮度偏低,很多细节无法辨认,如第5行图像,图中的高楼基本被掩盖,出现细节丢失问题。Meng的方法增强程度弱于以上方法,但在天空区域也出现了一定程度的过增强现象。Gao的方法很大程度增强了图像的细节,每个景物都清晰可见,但出现一定的颜色畸变问题。Cai和本文方法复原后的图像很好的恢复了图像的清晰度。Ju的方法复原后的图像对比度比较大,图中的目标比较清楚,图整体清晰度最好。
在图像的视觉感方面,以上7种方法在一定程度上都提高了图像的视觉感,但提高的程度不同。HE、Meng、Bui、Ju这4种方法通过增强滤波的方法提高图像的清晰度,达到提高视觉感,但其中某些强亮度边缘区域出现了光晕现象,严重影响图像整体的视觉感。Gao的方法虽然丰富了图像的细节,但由于局部过增强,也影响视觉感的提高。Cai的方法在视觉感方面明显优于以上的5种方法,但处理后图像亮度有所损失,低对比度的目标无法清晰可辨,且图像表面仍有淡淡的薄雾,这些都在一定程度上影响着视觉感。Ju的方法虽然清晰度有很大提升,但与输入的雾图像颜色有一定的改变。与以上算法进行对比,本文算法针对天空区域占比不同的图像,在该区域没有出现颜色畸变,在颜色保真方面具有较高的鲁棒性,此外,本文算法在提高图像清晰度的同时,也很好地提高了图像的视觉感。
图6是合成雾天图像的多种算法处理效果,其中第一列是原图,第2列到第7列分别是上述的六种和本文方法对比方法,最后一列是无雾的图像。
图6 合成雾天图像的多种算法处理效果
在图6中,HE、Meng和Bui这三种处理的雾天图像,出现了严重的色彩畸变和亮度损失问题,图像的清晰度和视觉感也不能有效提高,如以上6幅图像。Cai和Gao的方法很好地复原了图像,图中大部分景物都清晰可辨,在天空区域,也没有出现较大的色彩畸变,但视觉效果上,距离无雾的图像还有较大的差距。Cai的方法降低了图像的亮度,图中低对比度区域无法可见,如第二行和第六行图像。Gao的方法虽然很大程度提高了图像的亮度,但局部的过增强依然影响图像的视觉感,如第四行和第六行图,图中的建筑物顶端出现了一定的过增强现象。Ju的方法很好地提高了图像的清晰度,但是在这过程中的增强,影响了图像的颜色恢复,造成一定的色畸变。
与以上方法相比,本文算法很好地复原雾天图像,在天空区域没有出现畸变,图中各种目标都清晰可见,如第三行图,本文算法在视觉效果上明显优于无雾的图像。此外,在图像的亮度方面,本文算法处理后,图像的亮度基本和原图保持一致,处理后的视觉效果基本和无雾图像一致。
2.2 算法的客观评价分析
户外雾天图像由于在采集过程随机性非常大,且很难获取相同视场角度下的无雾的图像,因此针对户外自然状态下有雾的图像,本文采用无参考的评价方法(ENIQA)[27];针对合成的雾天图像,本文采用无参考(ENIQA)[27]和全参考的评价方法(SSIM)[28]。
无参考的评价方法值越大,说明图像的视觉感越好。全参考的评价方法的值越接近于1,说明和参考图像约接近。表1是针对图5做的评价,表2是针对图6做的评价。在评价中,本文把最好的两种方法用黑体表示。
表1 图5质量评价
在图5中,客观评价采用无参考的评价方法,具体的客观评价值如表1所示。
从表1可以看出,针对这10幅自然状态下的图像,文献[7]与[26]表现最差,没有产生一个最高值的评价值,主要原因是DCP和IDE方法在处理自然图像时,缺乏有效的判断和优化。文献[22]优于前2个,只产生了一个最高值。文献[25]与[8]的处理结果,优于前4种方法,但只产生了3个最大值。在所有的对比文献中,只有方法[16]表现得最好,产生了4个最大值。与以上的优秀对比方法相比,本文方法产生7个最大值,优于以上的各种方法。
在表2中,针对无参考的评价方法,表现最差的是文献[22]、[8]、[25]和[26],均没有产生一个最大值。文献[7]的结果优于以上4个对比方法,产生了3个最大值。对比方法中,效果最好的是文献[16],产生了4个最大值。与这5种文献相对比,本文方法产生了5个最大值。
针对全参考图像评价方法,从表2可以看出,本文算法最接近与实际场景中无雾的图像,产生了6个最大值。其次是文献[8],也产生了6个最大值,但其值略小于本文方法。其余的几种对比方法都基本类似,没有产生最大值,与无雾的图像差距较大。
为了对算法的复杂度进行评价,本文根据对图6的6个图进行平均时间的计算,如表3所示。
表3 算法的平均处理时间对比 s
在表3中可以看出平均处理时间最短的是文献[16],其次是文献[7],其余的都在2s以上。本文方法平均处理时间排在第5,主要原因是通过融合来复原,增加了算法的复杂度,但从表1和表2可以看出,处理后图像的视觉效果是最好的。
3 结论
传统的基于暗原色理论算法在处理雾天图像时,会出现一定程度的亮度损失、强亮度边缘区域会出现“光晕”现象、算法的复杂度较高和效率低等问题。鉴于此,本文在大量统计试验的基础上,结合图像分割理论,实现对图像中明亮区域的有效分割,准确估计出大气背景光值范围。对于透射率图像,本文设计了一种自适应边界限制的双边滤波方法,对透射率图像进行优化。结合图像融合的优势,本文构造了一种选择性曝光融合方法,通过融合多图像,获得比较符合人眼视觉的去雾图像。通过主客观试验对比证明本文方法能有效地解决去雾过程中出现的色彩和曝光问题,同时还提高视觉效果。此外,由于采用融合的方法进行复原,增加了算法的复杂度,这也是本文下一步的重点研究工作。