基于天空区域识别暗通道算法的红外图像去雾

2021-07-26 01:15邵明省
激光与红外 2021年7期
关键词:透射率交叉大气

邵明省

(鹤壁职业技术学院电子信息工程学院,河南 鹤壁 458030)

1 引 言

雾天条件下获取的红外图像容易丢失信息,如图像对比度下降、远景变得模糊等等,红外图像去雾算法不但需要增强其对比度和细节,同时不能破坏红外图像像素分布信息[1-2]。

暗通道算法(Dark Channel Prior,DCP)由何恺明提出[3],通过分析有雾图像暗通道先验假设进行去雾,去雾效果自然并且真实,但是暗通道算法适合图像中不包含天空区域或者图像中没有明亮区域。田源对通过混合通道把暗通道算法划分远景和近景区域(Near and Far Scene Dark Channel Prior,NFCDCP),并且在不同区域设置调节系数以便优化调节[4],但是此方法适合图像中远景、近景区域比较容易分割的图像,如果远景、近景区域连接处出现相互交叠现象,则不太适合使用。宋瑞霞提出含有大片天空区域图像的去雾算法(Large Sky Region Dark Channel Prior,LSRDCP),通过图像的亮度值对天空区域进行分割[5],最终图像去雾的色调更加自然,但是对天空区域比较小的图像或白色物体比较多的图像不易找出正确的分割阈值。Zhu提出图像亮度和暗通道先验(Fusion of Luminance and Dark Channel Prior,FLDCP)的融合方法对有雾图像恢复[6],适合图像中有广镜头的天空区域,但是若空中的光线是在太阳周围区域选取,将使图像发生颜色偏移,导致恢复效果不佳。Gao 等人提出多聚焦图像融合方法(Multi-Focus Image Fusion,MFIF),通过引入天空区域的分割求取全局大气背景光[7],但是需要拉普拉斯滤波,导致处理时间较长。以上方法虽然能够获得完整的天空区域,但是若天空区域和非天空区域之间出现交叉现象,交界处在去雾后出现边缘残留现象。

本文采用天空区域识别暗通道算法(Sky Region Recognition of DCP,SRRDCP)对图像进行去雾,双阈值算法把图像划分为天空区域、非天空区域、交叉区域,增加了不同区域的大气光值、透射率计算的差异性。实验仿真显示本文算法的红外图像去雾效果清晰,评价指标较优。

2 天空区域识别暗通道算法

2.1 基于双阈值的天空区域识别

在最大限度地保留天空区域可见光图像清晰部分的前提下,将非天空区域模糊不清的部分转换为近红外图像,从而得到一幅符合人眼视觉特性的清晰图像[8]。通过上限阈值α、下限阈值β来对图像进行天空区域、非天空区域、交叉区域识别,0<β<α<255,当图像大于上限阈值α的区域即为天空区域,当图像小于下限阈值β的区域即为非天空区域,介于α、β之间的区域为天空区域和非天空区域之间的交叉区域。

由于天空区域颜色较亮且平滑,上限阈值α获取方法:

(1)

其中,mean(L)为图像亮度均值。

非天空区域颜色较暗并且像素梯度变化大,下限阈值β获取方法:

(2)

2.2 天空区域大气光值、透射率估算

2.2.1 基于八个三角形循环的天空区域大气光值估算

把有雾图像天空区域划分为八个相同三角形[9],分别计算八个区域的像素均值与标准差之间的差值,并选取差值最高的区域进行继续划分为八个三角形,一直重复此迭代操作。大气光值估算要在雾浓度最高的区域确定,即像素均值与标准差之间的差值比较大的区域:

S(ni)=|M(ni)-D(ni)|

(3)

其中,i=1,2,…,8,S(ni)为第i个三角形区域的均值和标准差之间的差值;M(ni)和D(ni)分别为该区域的均值和标准差。

2.2.2 天空区域透射率估算

为了避免天空区域去雾图像亮度发暗和发白的现象出现,设置参数λ:

λ=ρmav

(4)

其中,0≤ρ≤1/mav,mav为全部像素的平均值。

(5)

其中,Num为像素总数。

如果当整个有雾图像在亮度方面有点发暗时,mav变小,则λ变小,使得大气透射率t(x)变大,去雾后的图像稍微变亮一点;当有雾图像发亮时,进行相反操作。

对λ进行界定:

λ=min(ρmav,0.9)

(6)

得到透射率表达式:

(7)

其中,Amin为图像天空区域的大气光值最小值。

2.3 交叉区域大气光值、透射率估算

交叉区域为天空区域与非天空区域相互交叠的区域,在不同图像交叉区域中的天空区域、非天空区域所占比例不同,若按天空区域、非天空区域进行直接计算,将导致大气光值、透射率过大或者过小,如果大气光值比真实值偏大,则去雾图像远景较暗,近景较亮;若比真实值偏小,则去雾图像远景较亮,近景较暗。

2.3.1 交叉区域大气光值

交叉区域既有天空区域也有非天空区域,需要对所含的天空区域、非天空区域分别求取大气光值再进行均值操作。

选择交叉区域中的天空区域亮度值前0.1 %像素的平均值作为大气光值:

An=mean(max0.01 %I(x))

(8)

交叉区域中非天空区域大气光值通过暗通道求取:

(9)

其中,Jdarkm(x)为非天空区域的暗通道均值;φ为微调参数,避免交叉区域中非天空区域高亮物体对大气光值的影响。

交叉区域大气光值:

(10)

2.3.2 透射率估算

交叉区域中天空区域透射率求取:

tn=min(τAn(1-min(min(In(x)/An))),1)

(11)

其中,τ为比例因子,即天空区域在交叉区域所占的比例。

交叉区域中非天空区域透射率求取:

(12)

其中,ε∈(0,1)为常数,本文取0.95。

交叉区域透射率:

(13)

2.4 非天空区域大气光值、透射率估算

暗通道算法适合非天空区域的红外图像去雾,但是由于暗通道算法选择有雾图像中亮度值排序中靠前的0.1 %像素,将这些像素最大值作为有雾图像的大气光值。但是有时最亮点可能为非天空区域的白色物体、反射光物体,因此在非天空区域计算中要避免白色高亮物体。

2.4.1 非天空区域大气光值

对暗通道算法计算出的非天空区域大气光值A0进行修正。

(14)

其中,w=7+9e-20v,v为修正因子,log(vw)>0,给大气光值适量的增加,log(vw)<0,不进行校正。

2.4.2 透射率估算

对暗通道算法的透射率进行优化操作[10]。

(15)

其中,Idark(x)为非天空区域的暗通道值。

(16)

其中,tq≤1是非天空区域像素透射率的最小值。

2.5 无雾图像恢复

在得到全局大气光值和各区域的透射率后,可估计出无雾图像:

(17)

算法流程:

①输入图像;

②通过双阈值对图像划分天空区域、交叉区域、非天空区域;

③计算天空区域大气光值、透射率;

④计算交叉区域大气光值、透射率;

⑤计算非天空区域大气光值、透射率;

⑥按公式(17)进行红外图像去雾;

⑦输出有雾图像。

3 实验仿真

在实验对比中,计算机操作系统为WIN7,CPU为3.0 GHz,内存为8 GB,软件环境为Matlab 7.0。涉及到的算法有:DCP、NFCDCP、LSRDCP、FLDCP、MFIF、SRRDCP。

3.1 视觉效果分析

视觉效果分析如图1、图2所示,其中图1(a)、图2(a)为有雾图像,图1(b)、图2(b)为DCP算法去雾效果,图1(c)、图2(c)为NFCDCP算法去雾效果,图1(d)、图2(d)为LSRDCP算法去雾效果,图1(e)、图2(e)为FLDCP算法去雾效果,图1(f)、图2(f)为MFIF算法去雾效果,图1(g)、图2(g)为本文SRRDCP算法去雾效果。

图1 有雾图像1视觉去雾效果分析

图2 有雾图像2视觉去雾效果分析

图1(a)为天空区域几乎被非天空区域覆盖的有雾图像,图2(a)为天空区域、非天空区域交界处包含复杂交叉区域的有雾图像,从图1、图2的处理结果可以看出本文SRRDCP算法能够对天空区域、非天空区域、交叉区域进行较好的去雾,视觉效果清晰,对于天空区域、非天空区域交界处的交叉区域也能够进行有区分去雾,这是因为本文SRRDCP算法通过双阈值对图像进行了划分了天空区域,也对天空区域、非天空区域之间的交叉区域进行了划分,不再单一性的只对天空区域或者非天空区域进行去雾,这样提高去雾的清晰度。

3.2 评价指标分析

3.2.1 平均梯度

根据图形在某一个方向细节变化,评判该细节的清晰度,公式为:

(18)

其中,Z(i,j)为去雾后的图像,M、N为图像尺寸。

D平均梯度数值越大,图像的层次感越好,某些细节部分处理得很好。

3.2.2 综合评价模型

(19)

其中,S为结构相似函数,用于衡量结构信息的保留程度;hist为直方图相似函数,越接近于1越好;L为有效细节强度函数,用Canny算子提取图像边缘数量再统计获得,越大越好;Q值越大其效果越佳[11]。

各种算法对去雾图像各进行40次实验,有雾图像1去雾的平均梯度、综合评价结果如图3所示,有雾图像2去雾的平均梯度、综合评价结果如图4所示。

从图3、图4可以看出,本文SRRDCP算法对红外图像去雾在平均梯度、综合评价指标对比分析较优,其中对天空区域与非天空区域有比较复杂的交叉区域的有雾图像1去雾后的平均梯度值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分别提高了28.02 %、24.14 %、21.55 %、17.24 %、12.93 %;综合评价值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分别提高了19.88 %、16.87 %、15.06 %、14.76 %、12.05 %。有雾图像2去雾后的平均梯度值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分别提高了29.73 %、24.77 %、22.52 %、18.02 %、13.51 %;综合评价值相比DCP、NFCDCP、LSRDCP、FLDCP、MFIF分别提高了31.13 %、26.42 %、23.58 %、18.87 %、14.15 %。

图3 有雾图像1各种算法去雾评价指标分析

图4 有雾图像2各种算法去雾评价指标分析

4 结 语

本文对有雾图像的天空区域识别后进行去雾,把图像划分为天空区域、非天空区域、交叉区域,同时不同的区域采用不同的方法计算大气光值、透射率,避免暗通道算法不适合含有天空区域红外图像去雾的局限性。实验仿真显示本文算法能够有效地去除含有天气区域图像中的雾气,平均梯度、综合评价相比其他算法较好,为红外图像去雾研究提供了一种新方法。但是,本文算法由于对有雾图像划分了天空区域、非天空区域、交叉区域,分别求取了大气光值、透射率,导致在处理时间上不具有明显优势,提升处理时间这将是以后研究的重点。

猜你喜欢
透射率交叉大气
等离子体随机分布对THz波传输特性的影响
宏伟大气,气势与细腻兼备 Vivid Audio Giya G3 S2
一种改进的场景透射率修正图像去雾算法
“六法”巧解分式方程
纯色太阳镜镜片耐日光辐照性能试验研究
连数
大气古朴挥洒自如
大气、水之后,土十条来了
连一连
光子晶体耦合缺陷的透射特性研究