图像去雾技术综述

Posted Ven_J

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像去雾技术综述相关的知识,希望对你有一定的参考价值。

  研究图像去雾技术有一段时间,阅读很多文献以及实现了很多算法。因此将个人对图像去雾技术的理解写成这篇文章,避免自己忘记,以及跟广大网友交流学习。

1、概述

  图像去雾的研究算法有很多,但是主要分为两类:基于图像增强的去雾算法和基于图像复原的去雾算法。

基于图像增强的去雾算法

去除图像的噪声,提高图像的对比度,从而恢复出无雾清晰视频。具有代表性的图像增强去雾算法有:
1. 直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)
2. Retinex算法
3. 小波变换
4. 同态滤波

基于图像复原的去雾算法

根据大气退化模型,进行响应的去雾处理。具有代表性的去雾算法:
1. HE的暗通道去雾算法,导向滤波的暗通道去雾算法 (Single image haze removal using dark channel prior, Guided image filtering)
2. Fattal的单幅图像去雾算法(Single image dehazing)
3. Tan的单一图像去雾算法(Visibility in bad weather from a single image)
4. Tarel的快速图像恢复算法(Fast visibility restoration from a single color or gray level image)
5. 贝叶斯去雾算法(Single image defogging by multiscale depth fusion)
基于图像复原的去雾方法,使用了大气退化模型进行去雾,相当于图像成像时的逆变换,去雾效果会好于基于图像增强的去雾算法。本文主要讨论基于复原的去雾算法。

2、雾天图像退化模型

  在计算机视觉领域,通常使用雾天图像退化模型来描述雾霾等恶劣天气条件对图像造成的影响,该模型是McCartney首先提出。该模型包括衰减模型和环境光模型两部分。模型表达式为:

I(x)=J(x)erd(x)+A(1erd(x))(1) 其中,x是图像像素的空间坐标,H是观察到的有雾图像,F是待恢复的无雾图像,r表示大气散射系数,d代表景物深度,A是全局大气光,通常情况下假设为全局常量,与空间坐标x无关。
  公式(1)中 er(dx) 表示坐标空间x处的透射率,我们使用 t(x) 来表示透射率,于是得到下面的公式:
I(x)=J(x)t(x)+A(1t(x))(2) 由此可见,图像去雾过程就是根据I(x)求解J(x)的过程。要求解出J(x),还需要根据I(x)求解出透射率t(x)和全局大气光A。
   实际上,所有基于雾天退化模型的去雾算法就是是根据已知的有雾图像I(x)求解出透射率t(x)和全局大气光A。

估计全局大气光A:
1、暗通道去雾算法中的估计全局大气光A
  先从暗原色通道中选取最亮的0.1%比例的像素电,然后选取原输入图像中这些像素具有的最大灰度值作为全局大气光A。RGB三通道中每一个通道都有一个大气光值。
2、分块递归思想估计全局大气光A:
  先将图像平均分为四个部分,然后分别求取四个部分中的平均亮度值,选取亮度值最大的块,将这个块平均分为四个块,选取最亮的块,当分解到块的大小达到一定阈值时,在这个块中选取亮度最大的点作为全局大气光A。
3、亮度最大值作为全局大气光A
  选取输入图像中亮度最大的电的灰度值作为全局大气光A。
4、分段思量估计全局大气光A
  观察一般的图像,天空部分一般分配在图像的上1/3部分,因此将图像水平分为3个部分,然后在最上的1/3部分使用暗通道估计算法估计全局大气光A。
5、快速估计全局大气光A
  首先求取输入图像RGB三通道中的最小值,即求取暗原色通道图像,然后对暗原色通道图像进行均值滤波,然后求取其中灰度值最大的点,接着求取输入图像RGB三通道中值最大的通道图像,然后求取出灰度值最大的点,然后将两个点的灰度值的平均值作为全局大气光A。

估计透射率t(x):
1、暗通道去雾算法
  使用上面的方法先求取出全局大气光A,然后根据公式(2)可以得出:

t(x)=AI(x)AJ(x)(3)   首先可以确定的是t(x)的范围是[0, 1],I(x)的范围是[0,255],J(x)的范围是[0, 255]。A和I(x)是已知的,可以根据J(x)的范围从而确定t(x)的范围。已知的条件有:
0J(x)255,0I(x)A,0J(x)A,0t(x)1(4) t(x)AI(x)A0=AI(x)A=1I(x)A(5)   结合式(4)和式(5)可得: 1I(x)At(x)1(6)   因此初略估计透射率的计算公式:
t(x)=1I(x)A(7)   为了保证图片的自然性,增加一个参数w来调整透射率
t(x)=1wI(x)A(8)
2、迭代思想估计透射率
  要想得到好的图像去雾效果,肯定是需要去雾后的图像对比度高,并且图像的失真越小。我们对式(2)进行变换得到:
J(x)=1t(x)I(x)At(x)综述图像去雾的前世今生

实例应用:基于opencv的单张图像去雾算法

图像去雾基于matlab偏振水下模糊图像去雾含Matlab源码 396期

毕设题目:Matlab图像评价

matlab图像去雾技术GUI界面-全局平衡直方图

一种基于生成对抗网络的无人机图像去雾算法