图像平滑滤波

Introduction

滤波是一个信号处理领域的概念。信息通过波的形式传递,滤波就是通过提取相应的频率成分,从而获取有用的信息。图像滤波也是如此。根据提取频率的成分不同,可以将滤波操作分为低通滤波、带通滤波和高通滤波。在图像处理领域,图像低通滤波,也就是图像平滑滤波,是最重要的方向之一。许多与图像相关的工作都需要使用图像滤波做预处理,而图像平滑滤波也广泛应用于图像去噪、图像增强、图像融合、立体视觉、HDR等各个领域。

图像平滑滤波从实现方式上来讲可以分为基于局部信息的滤波和基于全局优化的滤波。基于局部信息的滤波方式由于实现简单,速度一般较快,所以最常见到,如均值滤波、中值滤波、高斯滤波等等。由于这些滤波方式在平滑纹理和噪声的同时往往也会平滑边缘,所以后来一些保边滤波方式,如双边滤波、导向滤波被提出。而基于全局优化的滤波一般来说都是保边性滤波。下面主要按照这个分类介绍一下常见的滤波方式及其应用。

基于局部信息的滤波方式

均值滤波就是利用邻域像素点的平均值代替当前点的像素值。均值滤波可以使用积分图的方式进行加速,从而实现与滤波窗口大小无关的时间开销。而这也是成为对许多滤波器加速的基础,如导向滤波、快速中值滤波都是使用积分图来加速。均值滤波将邻域像素看作是平等的赋予相同的权重,高斯滤波则是根据距离远近依次权重递减。所以高斯滤波往往比均值滤波得到效果更加保持强边缘。中值滤波常用于滤除椒盐噪声,其利用邻域像素点的中值代替当前点的像素值。中值滤波也有较好的保边效果,也常用于立体视觉中视差图的优化。一种快速实现中值滤波的方式就是通过均值滤波实现对局部邻域的直方图统计,从而快速计算局部邻域中值。

上面提到高斯滤波通过距离当前像素点位置的远近来对邻域像素进行加权,而双边滤波则是在此基础上继续延伸,将邻域像素值与当前像素值的差异也作为权重,用两种权重进行加权平均,所以双边滤波是一种保边滤波器,在平滑小纹理和噪声的同时能够保持强边缘。由于双边滤波不同位置的滤波核不同,只能逐点计算,因此速度往往比较慢。有许多方法被提出用于对双边滤波加速,其中一种方法便是使用双边空间。其将像素值作为一个额外维度,使得权重的计算转变成在第三维度上的卷积,从而加快运算速度。这个概念被作者进一步延伸,便有了后来的Bilateral Guided Upsample和Google的HDRnet,有兴趣的可以参考这里。但双边滤波可以保持边缘但不能保持梯度,还会出现梯度翻转现象。

导向滤波来自于Closed-Form Matting,其主要基于局部线性模型假设,即在一个局部邻域中,输入图像qq可以用引导图II线性表出,即
qi=akIi+bk,iωkq_i=a_kI_i+b_k, \forall i \in \omega_k

以此可以利用最小二乘法建立优化方程,并对系数引入正则项约束(岭回归):
E(ak,bk)=iωk(akIi+bkqi)2+ϵak2E(a_k,b_k)=\sum_{i\in \omega_k} (a_kI_i+b_k-q_i)^2+\epsilon a^2_k

对该问题可以直接求解,得到aka_kbkb_k值与局部均值和局部协方差有关,因此可以使用快速均值滤波求解。导向滤波速度很快,而且也不会出现梯度翻转现象,因此无论在学术界还是在工业界都被广泛应用。但有时导向滤波得到的结果会在强边缘附近出现光晕现象(halo artifact)。具体介绍可以参考作者的PPT,还是讲的非常清楚的。另外,作者还提出了导向滤波的加速方式,基本的思想就是在低尺度上求解aka_kbkb_k,然后上采样回去求解平滑图像。

基于全局优化的滤波方式

这一类滤波都是通过建立全局优化方程,然后求解得到滤波结果。其与图像复原任务十分相似且密切相关。一般来说,其优化方程可以表达为:
E(x)=f(x,y)+p(x)E(x) = f(x,y)+p(x)

其由两部分组成,一个是保真项f(x,y)f(x,y),保持平滑后的图像与原图像结构相似;一个是先验项p(x)p(x),指导滤波后的图像应该服从什么分布。通常保真项采用L2L_2范数,不同的滤波方式的主要区别在于先验项的设计。图像平滑滤波常用是局部平滑先验,在梯度域对图像进行约束。详细可以参考这篇文章。常见到的如WLS filter,L1 filter, L0 filter,都是分别对梯度做L2L_2L1L_1L0L_0范数的约束。香港中文大学的Jiajia ya课题组在这个领域做的比较多,可以参考他的个人主页

总结

在不同的任务中,往往需求不同,这也造成了各种各样的滤波方式的出现。图像平滑滤波的方式有很多,其主要的研究方向在于如何实现更快的速度,如何在平滑纹理的同时更好地保持强边缘和结构。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章