Single Image Haze Removal Using Dark Channel Prior

Single Image Haze Removal Using Dark Channel Prior

Abstract

  • 主题:提出一种暗通道先验去雾算法,这是一种统计方法。
  • 原理:基于一种观测现象,即outdoor image的大部分局部图象包含一些像素,它们至少在一个颜色通道上具有很低的强度。
  • 作用:评估图象雾浓度,去雾恢复图象,同时获取高质量的深度图。

关于原理的解释

在绝大多数非天空的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数

Introduction

(第一段全译,阅读问题)

室外图像质量通常会被大气中的浑浊介质(如微粒、水颗粒)降低。雾霾、烟尘就是这样一种大气的吸收和散射现象。相机接受的场景的光辐射在它传播的直线上被这些介质减弱。而且,这些接收进来的光线混杂着空气光(airlight,气象名词,大气中的微粒反射周围的光线,对某个目标物质的光线造成干扰)。这种被退化的图象会损失对比度和图象保真度,如图1所示。由于散射的量度依赖于场景点到相机的距离,所以这种图象质量的退化在空间上是变化的(ps:也就是说,可通过这个变化的值得到图的深度)。

  1. 光学成像角度解释雾对图象的影响与联系。雾会通过反射或折射影响成像质量,且这种影响与空间距离有关。
  2. 去雾很重要。a)无雾的图象更优,去雾极大的提升图象可见性,修正色偏。b)目前的各层面的图像算法的性能都受限于场景光辐射的低对比度和偏差。c)去雾还可以提供场景深度信息。
  3. 目前去雾的难点。雾与图象场景未知的深度有关,故对单一的输入的含雾图象来说这个问题是欠约束的。因此,现有的方法都是基于多图象(多图不同极化程度方法)或附加信息的(已知输入图象的深度信息、3D模型)。
  4. 目前的单图去雾研究。都是基于某些限定假设的,存在局限性与漏洞。
  5. 本文的研究:提出一种新的先验方法,暗通道先验(dark channel prior),它基于这样一种统计现象:大多数非天空的图象场景中存在一些像素点(称之为暗像素),它们通常至少有一个色彩通道的强度非常低,含雾图象的暗点在这个色彩通道上的强度主要受环境光(airlight)影响,因此,这些暗像素可以直接提供雾霾传播的准确估计,结合雾的图象模型和soft matting interpolation(抠图算法),可以恢复高质量的去雾图象,同时产生对应的深度图。
  6. 当然,暗通道先验方法也存在局限性,如场景对象本身就和环境非常相似(如背景是雪地、白墙)的时候算法方法不再有效。但这种局限可忽略,因为这种情况下雾基本上看不见……

ps:整个逻辑:问题产生的原理-问题又不得不解决-解决的难点-现有的突破及它们的局限性-本文方法的突破及局限性。

整个论文关注点:雾影响与空间(景深)的关系、暗通道先验方法、soft matting interplotion、byproduct(深度图)。


Background

  • hazy image model
  • Tan's method and its shortage
  • Fattal's method Independent Component Analysis(ICA) and its defect
  • our method dark channel prior to estimate the transimission t(x)

这里之前提出的两种方式(Tan‘s method and ICA)并没有看懂……

Dark Channel Prior

  1. 暗通道先验方法基于一种观测现象:无雾的图象中非天空的图块上,至少有一个颜色通道,存在一些像素,它们的值很低近似于0.
  2. 暗通道定义及其公式表达。
  3. 实践过程:无雾风景图500*500,以patch(图块)大小为15*15绘制暗通道图,再同样的方式绘制有雾图的暗通道图。对比观察。
  4. 结论:暗通道值可以作为雾的浓度的一种粗糙估计(值越低雾越小)。

Haze Removal Using Dark Channel Prior

Transmission(rough t)

  1. 计算透射率t(x)

    根据暗通道的先验公式作为附加的约束方程,联立雾图模型方程,假设A为已知常量可计算得t。

  2. 天空部分的附加解释。t趋于0。

  3. 引入修正系数w模拟实际情况。

这里假设每一个patch内t(x)是常数,这样得出的t比较粗糙。

Soft Matting (refined t)

matting方式得到精细的t(x)值

数学推导没看懂……反正就是对图象I做一个拉普拉斯变化,然后通过一个方程,得到精化的t值。

Atmospheric Light (A)

暗通道中最亮的的1%的patches认为是雾最浓的块,回到原图,在这些patches中找到亮度最大的点就可以作为A。这适用于图中存在天空(具有景深无穷大的区域,透射率趋于0,模型退化成I=A)的图,同时也适用于没有天空的图。通过模型公式可解释。

Recovering

根据上文的A和t,通过原雾图模型推倒可得出去雾方程,为了防止t无穷小引起的问题,给t一个阈值0.1

Patch Size

窗口越大,暗通道图越暗,但是准确性越低(处理粒度变大)。但是窗口越小,饱和度越大,窗口越大,出现光晕。

Experimental

Discussion

暗通道先验方法的不足之处,失效的场景,后续改进的方向(基本上是模型问题,求A和t的方法问题)。

实验复现

  • 实验一:以500*500图的15*15块做有雾图和无雾图的暗通道对比。
  • 实验二:根据天空t近似0的理论想办法做天空部分优化,A的影响
  • 实验三:透射率图,transmission maps,Fig6.b ,这里需要做两个对比,用了soft matting和没有的情况下的粗糙的t map
  • 实验四:根据t 做出深度图
  • 实验五:完整的去雾实例。

你可能感兴趣的:(Single Image Haze Removal Using Dark Channel Prior)