基于颜色衰减先验的去雾算法

367 阅读2分钟

上一次简单介绍了一下这个基于暗通道先验的去雾算法。虽然效果不错,但是还是希望可以有另外一种方法来作为对比。接触了一下一个新到的算法,基于颜色衰减先验的去雾算法。

这个color attenuation prior算法本质上也是一种统计上的发现。之所以对于单图像进行去雾处理是一个较难的内容是因为一个图像中包含的关于场景结构等信息非常少,因此很难获得较为全面的信息从而进行去雾。然而,大脑在面对一幅图像的时候其实是可以很快的分辨清楚哪里有雾、哪里没有,或者很快分辨清楚近景、远景而不需要其他太多的资料。作者基于这一思考,通过对很多副有雾图像进行分析发现了统计意义上的结论从而提出一个新的思路。作者通过对很多图像的远景、中景、近景进行分析发现了haze的浓度与亮度和饱和度之差呈正比

img

在上一篇文章中,介绍《single image Haze Removal Using Dark Channel Prior》中提到了雾图构成的公式。雾图主要由两部分组成,一个是大气光成分以及对应的物体反射同时被particles所散射最后剩下的进入手机中混合构成的图像即为雾图。

作者通过两幅图像分析了雾图和无雾图的区别。

img

在有雾的情况下,存在着以下的情况,

公式

  1. 直接的衰减会导致反射能量的减弱,从而导致brightness的低值。即公式中 公式
  2. 大气光成分会增强brightness的值并且降低饱和度saturation。

总结下来,即为,当雾的程度越大,大气光成分的的影响越大。因此,我们可以考虑通过研究saturation和brightness之间差来分析雾的浓度。公式表达,即为,

公式

其中 公式 为景深, 公式 是雾的浓度, 公式 分别是value of brightness of scene,以及saturation。这个公式就是color attenuation prior。

作者通过构建训练样本采集了超过500张图像,最后得出了合适的参数。最终公式如下,

公式

最终,参数结果为,

公式

作者最后在文章中,比较了好几种不同的去雾算法,并且给出了自己算法优势和劣势。大家可以看看原文,我只是讲到了我自己项目中所需要的部分。

A Fast Single Image Haze Removal Algorithm Using Color Attenuation Prior