跳转至

Guided Image Filtering

Abstract

介绍 Guided Image Filtering, 包括其基本思想,优点和局限性,以及应用。

Guided Filter

双边滤波只能保边,没有保梯度(即正负号),很有可能发生梯度逆转

输入有噪声的图像 \(p\), 输出去噪后平滑的图像 \(q\). 那么 $q_i = p_i - n_i $ 其中 \(n_i\) 表示噪声或者是纹路

引入了 guided image \(I\). \(\nabla q_i=a \nabla I_i\Rightarrow q_i=aI_i+b\) (\(a\) 是一个标量系数)

要求 \(\min\limits_{(a,b)}\sum\limits_i (aI_i+b-p_i)^2+\epsilon a^2\) (这里 \(\epsilon a^2\) 是正则项,用来控制方向)

\(a\) 求偏导,令偏导数为 \(0\); 对 \(b\) 同理, 这样可以解一个二元一次方程组得到 \(a\)\(b\). (这里 \(\overline p\) 指的是 \(I\) 这个邻域的平均值)

以上是对单个像素,我们可以扩充到整个图像:

  • 对每一个局部窗口 \(w_k\) 我们可以算出 \(a_k, b_k\)
    窗口之间可能有重叠,要算窗口内 \(q_k\) 的平均值,即所有包含 \(q_i\) 的窗口的均值

  • 参数: 窗口半径 \(r\), 正则系数 \(\epsilon\)

如果窗口的 \(var(I)\ll \epsilon, Cov(I,p)\ll \epsilon\Rightarrow a\approx 0, b\approx \overline p\Rightarrow q_i\approx \overline{\overline p}\) (相当于对均值滤波的一个级联)

guided image 怎么找?可以用输出图像的平均值 \(\overline p\) 作为 guided image.

\(r\) 决定了采样窗口的大小

这说明它不仅可以保边,还可以保方向,即不会出现梯度逆转的情况。
\(\epsilon\) 决定了我们保边的程度,越大保边能力越强

Example

Guided Filter 的优点

  • 保边(保梯度就一定能保边,反之不一定)
  • 非迭代
  • \(O(1)\) 的时间,快且不需要通过近似的方法
  • 不存在梯度逆转的问题

Complexity

  • 在每个局部窗口计算均值、方差、协方差
  • 级联,可以用积分图提前做计算
    • \(O(1)\) 且不依赖于窗口大小 \(r\)
    • 非近似

Gradient Preserving

梯度逆转的例子

除了图像平滑,还可以用来去雾、抠图

Limitation

对边缘的定义不清淅,而且边缘是 context-dependent 的。肉眼中的边界,可能不被认为是边界,最终还是会出现 halo 的现象。

评论