一种改进的场景透射率修正图像去雾算法

2019-09-20 03:20
测控技术 2019年4期
关键词:透射率修正大气

(华东交通大学 电气与自动化工程学院,江西 南昌 330013)

近年来,很多学者关注到了单幅图像去雾方法,这些方法利用单幅图像中的先验信息或一些合理的假设,实现了图像去雾。这些主流的去雾算法一般可分为三类:对比度拉伸算法[1-2]、基于Retinex模型的图像增强算法[3]和基于大气散射模型的去雾算法[4-7]。Tan[4]通过比较对比度高低的先验、规整化马尔科夫随机场的处理结果,使局部对比度最大化来对图像进行去雾处理; Fattal[5]假设邻域内的色度和透射率是完全不相关的,所以特征不突出的地方实现结果较不理想;Tarel[6]等人通过中值滤波估计消散函数,没有单中值滤波器边缘保持特性,导致图像恢复在深度突变的地方残留少量雾气;He[7]等人第一次提出了暗通道先验去雾方法并达到了比较好的去雾效果。针对图像去雾领域中存在的失真问题,从透射率错误估计的方面改进了这个方法,并进行了分析。本文设计了一种场景透射率估计方法,首先通过对场景透射率进行粗估计来得到一种块透射率;再利用上下文正则化对块透射率进行更深一步的细化处理来得到较准确的场景透射率;最后再使用一种改进的容差机制修正场景透射率错误估计的区域来获得一个更加准确的透射率值。最终,利用大气散射模型和准确的透射率来处理有雾图像达到一个去雾的效果。

1 本文算法

大气散射模型数学模型表达式如下:

I(x)=t(x)J(x)+(1-t(x))A

(1)

式中,I(x)为有雾图像;J(x)为无雾图像;A为全球大气光;t(x)为场景透射率。可以用下式来表示t(x):

t(x)=e-βd(x)

(2)

式中,β为介质消光系数;d(x)为目标距离摄像机的距离;t(x)、J(x)被称为直接衰减项。

1.1 场景透射率的粗估计

本文探究了辐射的约束,这种限制能够变成透射率的约束,通过透射率的约束来获得粗估计的块场景透射率。

去雾过程就是沿着A到I(x)的指向来获得无雾清晰图像J(x)。可见,往外面推,能达到更好的去雾效果[8]。通过下式可以看出线性外推:

(3)

顾及到场景辐射都是带有约束条件的,所以

C0≤J(x)≤C1,∀x∈Ω

(4)

式中,C0和C1为两个与给定图像相关的常向量。因此,对于任意一个像素点x,J(x)的外推必须位于由C0和C1边界点组成的辐射立方体(Radiance Cube)中,从另一面来看,对t(x)的边界约束可以从对J(x)的边界约束变化而来。假设A是给定的,这样可以得到任意像素点x的边界约束[9]。然后,t(x)的下界能够利用式(3)和式(4)来获得,最后能够推导下面的对于t(x)的边界约束:

0≤tb(x)≤t(x)≤1

(5)

式中,tb(x)为t(x)的下界,由式(6)给出:

(6)

(7)

式中,ωx为x为中心的局部块。可以看出边界约束是一种应用范围更广的先验知识[10]。

1.2 场景透射率的细化

为了更好地保护图像的边缘信息,通过在约束上加一个权函数W(x,y)的方法来实现:

(8)

式中,x和y为相邻的点。基于x与y的约束,加权函数对其进行了调节[11]。

(9)

整个图像域中的加权上下文正则化积分致使t(x)上的上下文正则化[12]

(10)

其中的图像域。 对于正则化,用L1范数的积分来代替L2范数的积分[13]。

为了便于计算,式(10)的离散化形式为

(11)

式中,I为图像像素点的下标索引的集合;ωij为加权函数W(x,y)的离散化。代替式(11)的求和秩序,又引入差分算子,因此可以进一步重写式(11)为

(12)

为了便于计算,对式(10)用离散化形式来进行表述:

(13)

(14)

1.3 目标函数的求解

根据1.2节的分析,通过最小化以下的目标函数可以得到优化的透射函数t(x):

(15)

第一个是数据保真项,用于测量t(x)和根据边界约束得出的基于块的透射率之间的保真度;第二个是t(x)的上下文约束[14]。

详细地说,相较于变量分裂的方法,加了一个辅助变量uj(j∈ω)产生了一个约束项:uj=Dj⊗t,则式(15)的目标函数就变成了包含两个参数的有约束的优化问题:

(16)

然后使用二次性的惩罚函数用于将约束项纳入式(16),这样一来,有约束的优化问题就等价转化为一个无约束的优化问题:

(17)

式中,β为权重;uj为辅助变量。当β→∞时,式(17)将收敛于式(15)。

1.4 场景透射率的修正

通过第1.3节,可以获得精确的场景透射率,但是由于在某些区域错误地估计了获得的场景透射率,因此需要找到错误的估计区域并对其进行修正[15]。

选取学校的一处景点的雾天图像进行分析,得到含明亮区域的去雾效果图如图1所示。从图1(a)可以看出,天空附近的颜色失真十分严重,但从图1(b)中可以看到天空区域的颜色,相比之下失真得显然不是那么严重,但仍然有轻微的颜色失真。这些失真明显是由边界约束得出的基于块的场景透射率引起的[16]。

图1 含明亮区域的去雾效果图

当有雾图像I接近全局大气光A时,实际局部块的灰度值要大得多,如果通过使用式(6)来获得透射率,则计算得出的透射率值要低于实际尺寸。在这种情况下,复原后将会被扩大许多倍,因此天空区域的失真现象便会出现[17]。

不考虑边界约束的假设,推导出的透射率的函数应为

(18)

根据以上的分析可以得出,如果想要消除色彩失真的现象并恢复真实无雾的图像,将灰度值调整为接近全局气体光A的明亮区域的透射率,使得估计的透射率t与实际透射率更加一致。对于这种情况,引入一个定义为容差的参数K,对于|I-A|

(19)

2 仿真分析

本文从网上随机选取了两幅有雾图像并实景拍摄了南昌市两处地标性景点的有雾图像,图2和图3展示了本方法与He[7]、Meng[20]、Tan[4]、Tarel[6]等人提出的算法对有雾图像的去雾效果和处理的细节。从图像去雾来看,本文算法的效果可以很好地应对亮度较大的天空位置失真与细节上halo失真的问题。由表1中客观评价数据可知,信噪比和信息熵的值越大,代表图像去雾的效果更好,且本文算法处理的结果在信噪比、信息熵和细节强度、色调还原、结构信息4个指标上均优于He、Meng、Tan、Tarel等人提出的算法,本文算法对图像去雾的效果更好。

本文去雾流程如下。

图2 实验效果比较

图3 本文算法去雾效果细节处理

算法八一广场(图2第三行)滕王阁(图2第四行)信噪比信息熵细节强度色调还原结构信息信噪比信息熵细节强度色调还原结构信息He61.876511.76840.15370.53640.697663.860914.65760.18830.85360.7168Meng66.676412.34430.20890.62760.715669.830814.87630.21980.87470.7148Tarel61.138711.37890.13760.46780.618761.455714.45520.15450.65590.5465本文68.878913.98720.27670.69760.739873.987615.76370.27820.89760.7456

(1) 场景透射率的粗估计。

输入:全球大气光A、有雾图像I、块大小sz×sz和上边界点C1、下边界点C0;

① 透射率下边界tb:

(2) 透射率细化。

输出:透射率细估计t。

② 初始化β0,βmax,βrate;

Repeat:

求ui,ti,β,ui+1,ti+1。

β=β×βrate,ui+1=ui,ti+1=tiUntil:β≤βmax。

(3) 透射率修正。

输出:修正透射率ttrue。

① 初步修正透射率:

② 改进容差机制系数K。

利用复合函数对容差机制系数K进行改进,再把改进后的容差系数带入上式,计算使得透射率的增长趋势趋向于平缓。

3 结束语

本文算法的优点在于能够比较好地对灰度值大于全球大气光区域进行处理,对于在全球大气光区域灰度值接近的场景透射率进行了修正,改进了原有的容差机制的模型,结合原有的幂函数和对数函数,构成一个递减复合函数,确保了透射率和领域的透射率在补偿程度上差别不大,从而确保灰度值和全球大气光区域相近有较好的处理效果。稳步提升透射率,然后提高透射率的升高强度,这样就能非常好地去除彩色失真。本文算法普遍性强,很多雾化图像都可通用,方法过程简单,容易实现,不需要构造新的参数,使用方便,且能够无失真地恢复出清晰图像。

猜你喜欢
透射率修正大气
噪声对相干衍射成像重构物体图像的影响
Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
修正这一天
宏伟大气,气势与细腻兼备 Vivid Audio Giya G3 S2
如何“看清”大气中的二氧化碳
纯色太阳镜镜片耐日光辐照性能试验研究
软件修正
大气古朴挥洒自如
基于PID控制的二维弹道修正弹仿真
光子晶体耦合缺陷的透射特性研究