导向滤波(guided Image Filtering)

        最近两天看了何凯明大神的导向滤波器(Guided Image Filtering),刚刚才顿悟整篇文章的核心。本文只针对于 I = p I=p I=p的情况,即对图像 I I I进行滤波处理。个人认为导向滤波器其实就是对均值滤波器的改进。由于均值滤波器会使图像模糊,尤其是对图像的边缘影响较大。然而,对图像进行处理时,图像的主要信息都隐藏在边缘处。所以为了保护图像的边缘信息,又能具有良好的滤波效果,是不是有一种滤波器在图像平滑的地方进行均值滤波,而在图像边缘的地方不进行滤波,或者进行轻微的滤波,那么图像的边缘信息不就保留下来了么,而且平滑的地方还有很好的均值滤波效果。
        那么问题来了,如何才能知道到底是不是图像的边缘呢?这里何凯明大神选取的指标是方差。方差是表示被统计信息变化特征的量。方差越大,表示图片在这里变化越大,也就表示此处是图像里某一物体的边缘,此处的信息需要进行保护。方差越小,表示图片在这里变化较小,该处所含信息量较少,可以进行滤波平滑处理。
        边缘参数找到了,如何将边缘参数的信息反映到对图像的滤波处理上呢?何凯明大神此处选取的是对图片每一像素值的线性处理,方程为:
q i = a i I i + b i ( 1 ) \begin{aligned} q_i=a_iI_i+b_i && (1) \end{aligned} qi=aiIi+bi(1)
        这里 q i q_i qi是处理后的像素值, I i I_i Ii是待处理的像素值。 a i a_i ai b i b_i bi是对像素值 进行线性处理的参数。且
a i = σ i 2 σ i 2 + ϵ ( 2 ) \begin{aligned} a_i=\frac{\sigma_i^2}{\sigma_i^2+\epsilon} && (2) \end{aligned} ai=σi2+ϵσi2(2)
b i = μ i − a i μ i ( 3 ) \begin{aligned} b_i=\mu_i-a_i\mu_i && (3) \end{aligned} bi=μiaiμi(3)
        将(3)代入(1)得
q i = a i ( I i − μ i ) + μ i ( 4 ) \begin{aligned} q_i=a_i(I_i-\mu_i)+\mu_i && (4) \end{aligned} qi=ai(Iiμi)+μi(4)

        这里 μ i \mu_i μi为该点及附近点的均值(即:该点经过均值滤波器处理后的值), σ i 2 \sigma_i^2 σi2为该点及附近点的方差。 ϵ \epsilon ϵ为一设置参数,用来表示图片此处平坦还是边缘的方差阈值。由式(2)可知, a i a_i ai的范围为(0,1)。当 σ ≪ ϵ \sigma \ll \epsilon σϵ时,表示图片此处平坦,则 a i ≈ 0 a_i \approx 0 ai0 q i ≈ μ i q_i \approx \mu_i qiμi 。此处的滤波效果为经过均值滤波器的效果。当 σ i ≫ ϵ \sigma_i \gg \epsilon σiϵ时,表示图片此处变化较为剧烈,为边缘,则 a i ≈ 1 a_i \approx 1 ai1, q i ≈ I i q_i \approx I_i qiIi结果为图片未经过任何处理。
细读论文会发现,滤波的最终公式为:
q i = a ˉ i I i + b ˉ i ( 5 ) \begin{aligned} q_i = \bar a_iI_i+\bar b_i && (5) \end{aligned} qi=aˉiIi+bˉi(5)
        分别对参数 a i a_i ai b i b_i bi进行了一次均值滤波处理。这里我没太想明白。可能是作者嫌处理后的图像不够平滑,又做了一次平滑处理吧。近似相当于对式(1)得到的结果进行了一次均值滤波处理,但是作者可能又觉得对式(1)得到的结果进行均值滤波处理边缘信息丢失的比较严重,所以作者只对参数 a i a_i ai b i b_i bi分别进行均值滤波处理。这样得到的图片会更加光滑一些,且边缘信息丢失的也不严重吧。

你可能感兴趣的:(图像处理)