[论文评析]Single Image Haze Removal Using Dark Channel Prior

Single Image Haze Removal Using Dark Channel Prior

  • 文章信息
  • 背景
  • 动机
  • 方法:
    • Dark channel prior
    • 下面介绍如何估计 t {\rm t} t.
    • 如何估计A
        • 具体做法:
    • 算法步骤
  • 点评
  • References

文章信息

题目: Single Image Haze Removal Using Dark Channel Prior,
期刊: IEEE TPAMI,
作者: K He, J Sun, X Tang
该文章还被评为CVPR 2009 best paper.

背景

图像去雾技术大致可以分为两类:
(1)增强式去雾: 比如对比度增强,直方图均衡化等;
(2)反演式去雾:根据雾化图像退化的物理原理建立数学模型,用数学推导的方式还原原始未物化的图像。
这里要介绍的这篇论文就是一
个非常有代表性的反演式去雾方法,理论性比较强。

动机

作者总结了大量的室外无雾的图像,发现了在无雾图像中除了天空区域以外的局部区域存在一些像素,这些像素中至少有一个颜色通道的亮度值非常非常低,该值被称作暗像素,对应的通道称之为暗通道。作者利用了图像的这个特性提出了一种去雾的解析方法。

方法:

人们实际所能看到的图像可以用如下数学公式来表示:
在这里插入图片描述
[论文评析]Single Image Haze Removal Using Dark Channel Prior_第1张图片

其中, I {\rm I} I 是指的观测到的亮度,即从拍到图片中获取到的亮度,这个是已知值。 J {\rm J} J是scene radiance,我是理解成为去雾、恢复之后的图像,是我们的目标。 t {\rm t} t是transmission from scene to camera透射率。 A {\rm A} A是atmospheric light全球大气光成分。通过这个公式,我们的目标就是从已有的相片 I {\rm I} I 中计算得到原始无雾图像 J {\rm J} J,透射率以及估算全球大气光成分。

可以发现,等式中设计两个未知变量 t {\rm t} t A {\rm A} A, 如果没有进一步的信息方程是无解的。因此,作者引入了暗通道先验来估计 t {\rm t} t

Dark channel prior

对于无雾图像,不包含天空的图像块满足如下关系:
[论文评析]Single Image Haze Removal Using Dark Channel Prior_第2张图片
简单来说:暗通道可以看作是一种操作,用来计算给定图像局部区域的所有通道的最小值,特别的,对于无雾图片,该最小值接近等于0 (后边会用到)

下面介绍如何估计 t {\rm t} t.

先假设A已知,公式2-1变形为:
在这里插入图片描述
(下标c表示通道)
然后两边分别进行暗通道操作,可得:
在这里插入图片描述
进一步再假设x的邻域内透射率 t {\rm t} t是近似均匀的,这样一来,上式进一步写为:
在这里插入图片描述
由于J是无雾的原始图片,并且 A c A_{c} Ac总是正的,因此利用Dark channel prior,可得:
在这里插入图片描述
将上式带入到3.11中可得t的估计值如下:

在这里插入图片描述
(根据Dark channel prior的定义,1-右半部分可以看作是归一化的有雾图片I的Dark channel).

如何估计A

假设大气的颜色未灰色(灰度图),这样一来A的三个成分相等,则t的估计式可以简化为:
[论文评析]Single Image Haze Removal Using Dark Channel Prior_第3张图片
这表明:即使我们不知道A的值,最浑浊的区域(t越小)实际上对应 I d a r k I_{dark} Idark最亮的区域。 因此我们可以借助Dark channel来检测最浑浊的区域,从而进一步确定A.

具体做法:

首先计算整幅图像的暗通道->取前0.1%最亮的像素/区域-这些像素中密度最高的像素作为大气光A.
示例:
下图©表示根据所提方法提取出的大气光,
[论文评析]Single Image Haze Removal Using Dark Channel Prior_第4张图片

算法步骤

先估计大气光A,然后估计t,最后就可以直接根据公式2.1得到原始的无雾图像J. 当然,原文中增加了一些校准步骤,比如透射率的校正,算法流程如下:
[论文评析]Single Image Haze Removal Using Dark Channel Prior_第5张图片

点评

理论非常巧妙,简洁优雅。

疑问:据说当图像趋于白色,这种去雾算法就存在缺陷。

References

  1. K He, J Sun, X Tang ,Single image haze removal using dark channel prior, IEEE TPAMI, 2010.
  2. 代码实现参考, https://www.cnblogs.com/Imageshop/p/3281703.html;
  3. https://zhuanlan.zhihu.com/p/28875405;

你可能感兴趣的:(Computer,Vision,计算机视觉,图像处理,opencv)