各类滤波算子

双边滤波(Bilateral filter)

双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。其输出像素的值依赖于邻域像素的值的加权组合,即:

g ( i , j ) = ∑ k , l f ( k , l ) w ( i , j , k , l ) ∑ k , l w ( i , j , k , l ) g(i,j)=\frac{\sum_{k,l}f(k,l)w(i,j,k,l)}{\sum_{k,l}w(i,j,k,l)} g(i,j)=k,lw(i,j,k,l)k,lf(k,l)w(i,j,k,l)

也就是:

h = w ( i , j , k , l ) ∑ k , l w ( i , j , k , l ) h=\frac{w(i,j,k,l)}{\sum_{k,l}w(i,j,k,l)} h=k,lw(i,j,k,l)w(i,j,k,l)

其中,

w ( i , j , k , l ) = d ( i , j , k , l ) ⋅ r ( i , j , k , l ) = exp ⁡ ( − ( i − k ) 2 + ( j − l ) 2 2 σ d 2 ) ⋅ exp ⁡ ( − ∥ f ( i , j ) − f ( k , l ) ∥ 2 2 σ r 2 ) w(i,j,k,l)=d(i,j,k,l)\cdot r(i,j,k,l)=\exp\left(-\frac{(i-k)^2+(j-l)^2}{2\sigma_d^2}\right)\cdot \exp\left(-\frac{\|f(i,j)-f(k,l)\|^2}{2\sigma_r^2}\right) w(i,j,k,l)=d(i,j,k,l)r(i,j,k,l)=exp(2σd2(ik)2+(jl)2)exp(2σr2f(i,j)f(k,l)2)

这里的 r ( i , j , k , l ) r(i,j,k,l) r(i,j,k,l)由于和像素值的差有关(像素差越大,权重越小),也被叫做“值域核”。

从效果来说,双边滤波可产生类似美肤的效果。皮肤上的皱纹和斑,与正常皮肤的差异,远小于黑白眼珠之间的差异,因此前者被平滑,而后者被保留。

为了体现效果,这里来张大叔的照片。

这里写图片描述

Steerable滤波

高斯滤波是一种各向同性滤波,如果想要对特定方向进行滤波的话,可使用Steerable滤波。

对最简二维高斯函数 G ( x , y ) = e − ( x 2 + y 2 ) G(x,y)=e^{-(x^2+y^2)} G(x,y)=e(x2+y2)求1阶偏导可得:

G 1 0 = ∂ G ( x , y ) ∂ x = − 2 x e − ( x 2 + y 2 ) , G 1 π 2 = ∂ G ( x , y ) ∂ y = − 2 y e − ( x 2 + y 2 ) G_1^0=\frac{\partial G(x,y)}{\partial x}=-2xe^{-(x^2+y^2)},G_1^{\frac{\pi}{2}}=\frac{\partial G(x,y)}{\partial y}=-2ye^{-(x^2+y^2)} G10=xG(x,y)=2xe(x2+y2),G12π=yG(x,y)=2ye(x2+y2)

这就是两个轴向上的1阶Steerable滤波函数。

任意角度的1阶Steerable滤波函数为:

G 1 θ = cos ⁡ θ G 1 0 + sin ⁡ θ G 1 π 2 G_1^{\theta}=\cos\theta G_1^0+\sin\theta G_1^{\frac{\pi}{2}} G1θ=cosθG10+sinθG12π

如果对高斯函数求2阶偏导,还可得到2阶Steerable滤波函数。进一步的讨论详见参考论文。

参考:

1991年IEEE论文:The Design and Use of Steerable Filters

作者:William T. Freeman,斯坦福大学本科+斯坦福/康奈尔大学双料硕士+麻省理工学院博士,麻省理工学院教授。1987年,曾做为访问学者在太原理工大学待了一学年。

Edward H. Adelson,密歇根大学博士,麻省理工学院教授。

Gabor滤波

基、线性无关、正交

一般的函数可以展开为幂级数或者Fourier级数。这些级数中的幂函数或者正弦函数,被称作“基(basis)函数”。

基的属性主要涉及“线性无关”和“正交”这两个名词。

线性无关的几何含义:在 R 3 R^3 R3(3维空间)中,如果三个向量不共面,则它们相互线性无关。

基如果线性无关,则其函数的级数展开式是唯一的。由于线性相关基使用的比较少,以下如无特指,基均为线性无关基。

正交的几何含义:两个向量正交,则它们是相互垂直的。

正交基一定线性无关,反之则不成立。一般采用施密特正交化方法,将线性无关基,转换为正交基。

幂级数是线性无关基,而Fourier级数是正交基。

Gabor wavelet

除了以上两种常用的基函数外,其他函数也可以作为基函数。其中使用最多的基函数是小波(wavelet)函数,其变换也被称作小波变换。

需要指出的是,小波函数不是一个函数,而是一类函数。Gabor函数就是小波函数的其中一种,其定义如下:

g t , n ( x ) = g ( x − a l ) e 2 π i b n x , − ∞ &lt; l , n &lt; + ∞ g_{t,n}(x)=g(x-al)e^{2\pi ibnx},-\infty&lt;l,n&lt;+\infty gt,n(x)=g(xal)e2πibnx,<l,n<+

这里的 a , b a,b a,b为常数, g g g L 2 ( R ) L^2(R) L2(R)(立方可积函数),且 ∥ g ∥ = 1 \parallel g\parallel=1 g=1

注:Dennis Gabor(1900~1979),全息学创始人,1971年获诺贝尔物理学奖,著有《Theory of Communication》(1946)。

g g g为高斯函数时,可得到Gabor wavelet:

f ( x ) = e − ( x − x 0 ) 2 / a 2 e − i k 0 ( x − x 0 ) f(x)=e^{-(x-x_0)^2/a^2}e^{-ik_0(x-x_0)} f(x)=e(xx0)2/a2eik0(xx0)

Gabor wavelet的性质:

1.Gabor wavelet的Fourier变换还是Gabor wavelet:

F ( k ) = e − ( k − k 0 ) 2 a 2 e − i x 0 ( k − k 0 ) F(k)=e^{-(k-k_0)^2a^2}e^{-ix_0(k-k_0)} F(k)=e(kk0)2a2eix0(kk0)

2.从物理上来说,Gabor wavelet等效于在一个正弦载波(频域)上,调制一个高斯函数(时空域)。这也是Dennis Gabor最早提出它的时候的用途。

3.Fourier变换是信号在整个时域内的积分,因此反映的是信号频率的统计特性,没有局部化分析信号的功能。而Gabor变换是一种短时Fourier变换,具有良好的时频局部化特性,即非常容易地调整Gabor滤波器的方向、基频带宽及中心频率,从而能够最好的兼顾信号在时空域和频域中的分辨能力。

Gabor filter

将Gabor wavelet扩展到2维,可得到Gabor filter(图像实际上就是一种2维信号):

g ( x , y ; λ , θ , ψ , σ , γ ) = exp ⁡ ( − x ′ 2 + γ 2 y ′ 2 2 σ 2 ) exp ⁡ ( i ( 2 π x ′ λ + ψ ) ) g(x,y;\lambda,\theta,\psi,\sigma,\gamma)=\exp\left(-\frac{x&#x27;^2+\gamma^2y&#x27;^2}{2\sigma^2}\right)\exp\left(i\left(2\pi\frac{x&#x27;}{\lambda}+\psi\right)\right) g(x,y;λ,θ,ψ,σ,γ)=exp(2σ2x2+γ2y2)exp(i(2πλx+ψ))

其中,

x ′ = x cos ⁡ θ + y sin ⁡ θ , y ′ = − x sin ⁡ θ + y cos ⁡ θ x&#x27;=x\cos\theta+y\sin\theta,y&#x27;=-x\sin\theta+y\cos\theta x=xcosθ+ysinθ,y=xsinθ+ycosθ

l a m b d a lambda lambda:正弦函数波长; θ \theta θ:Gabor核函数的方向; ψ \psi ψ:相位偏移; σ \sigma σ:高斯函数的标准差; γ \gamma γ: 空间的宽高比。

可以看出Gabor filter是一个复函数,其实部为:

g ( x , y ; λ , θ , ψ , σ , γ ) = exp ⁡ ( − x ′ 2 + γ 2 y ′ 2 2 σ 2 ) cos ⁡ ( 2 π x ′ λ + ψ ) g(x,y;\lambda,\theta,\psi,\sigma,\gamma)=\exp\left(-\frac{x&#x27;^2+\gamma^2y&#x27;^2}{2\sigma^2}\right)\cos\left(2\pi\frac{x&#x27;}{\lambda}+\psi\right) g(x,y;λ,θ,ψ,σ,γ)=exp(2σ2x2+γ2y2)cos(2πλx+ψ)

其虚部为:

g ( x , y ; λ , θ , ψ , σ , γ ) = exp ⁡ ( − x ′ 2 + γ 2 y ′ 2 2 σ 2 ) sin ⁡ ( 2 π x ′ λ + ψ ) g(x,y;\lambda,\theta,\psi,\sigma,\gamma)=\exp\left(-\frac{x&#x27;^2+\gamma^2y&#x27;^2}{2\sigma^2}\right)\sin\left(2\pi\frac{x&#x27;}{\lambda}+\psi\right) g(x,y;λ,θ,ψ,σ,γ)=exp(2σ2x2+γ2y2)sin(2πλx+ψ)

此外,还有对数Gabor函数:

G ( f ) = exp ⁡ ( − ( l o g ( f / f 0 ) ) 2 2 ( l o g ( σ / f 0 ) ) 2 ) G(f)=\exp\left(\frac{-(log(f/f_0))^2}{2(log(\sigma/f_0))^2}\right) G(f)=exp(2(log(σ/f0))2(log(f/f0))2)

Gabor滤波的效果

参考文献3,给出了Gabor滤波的效果图,如下所示:

这里写图片描述

从效果来看,该滤波可获得美术上的浮雕效果。但实际上,大多数的边缘检测算法都可得到类似效果,这并不是Gabor滤波的主流用法。

以下对参考文献3做一个补充说明:

1.Gabor滤波是复数域的,这点和之前提到的滤波算法有很大的不同。因此,Gabor滤波计算核的方法有3种:复数、实部和虚部。参考文献3采用的是实部法。1987年,J.P. Jones和L.A. Palmer发现Gabor变换所采用的核(Kernels)的实部与哺乳动物视觉皮层简单细胞2D感受野剖面(Profile)非常相似。

2.实部计算的结果有正有负。参考文献3给出的归一化算法,很有通用性,摘录如下:

G ( x , y ) = ( f ( x , y ) − m i n ( F ) ) ∗ D m a x ( F ) − m i n ( F ) G(x,y)=\frac{(f(x,y)-min(F))*D}{max(F)-min(F)} G(x,y)=max(F)min(F)(f(x,y)min(F))D

其中,F为源图像所有像素的集合,D为总的灰度级数。

Gabor滤波采样方式与图像压缩

Gabor滤波和之前的滤波算法的另一大差异是:Gabor滤波核不是一个,而是由若干不同参数组合而成的一组核,其中的每一个参数组合被称为一个采样点。

从Gabor filter的计算公式亦可看出,组成采样点的参数,既有时空域参数,也有频域参数。这些采样点在时空域和频域中如何分布,才能达到最终效果呢?

由于Gabor filter不是正交基,因此针对采样点分布提出了Tight Frame的概念。参考文献1给出了满足Tight Frame要求的采样点分布方式(简称采样方式)的条件。这里的推导非常复杂,但从概念上可以类比信号处理中的奈奎斯特采样定理。

Tight Frame有个重要特性:

如果采样方式满足Tight Frame条件,且B=Gabor(A),C=Gabor1(B)分别表示Gabor变换及其逆变换。

参考文献2给出了采用上述方法对Lena图进行压缩并还原的例子。这也是Gabor滤波在图像处理领域的早期典型应用。

Gabor滤波与模式识别

这里写图片描述

2000年以后,科学界对Gabor滤波的研究,主要集中在模式识别方面。比如图2就是参考文献4中给出的人脸识别方面的Gabor滤波效果图。其中,左边是原图,而右边是40组不同参数的Gabor滤波器所得到的滤波效果图。

注:1幅原图变成40幅滤波效果图的过程,在数学上是个升维过程。在后处理阶段为了处理的方便,往往会进行数据降维,如参考文献5所示。

从中还可以看出,虽然图1显示出一定的艺术处理效果,但大多数情况下,Gabor滤波所得的图像是如图2所示的极度扭曲而无明显意义的图片。Gabor滤波的真正用途,并不是给人看,而是给机器看。

从上面的讨论可知,Gabor滤波是一种带通滤波,使用不同的时空域或频域参数,可以过滤出不同的时空域或频域特征。这些特征正是模式识别所需要的。

这里写图片描述

图3是参考文献4给出的一种Gabor滤波器的使用场景图,从中可以看出Gabor滤波效果图是如何应用到人脸识别技术中的。

必须指出的是:Gabor滤波效果图的后处理方法有很多种,而图3仅是其中一种而已。

参考

1.1996年IEEE论文:Image Representation Using 2D Gabor Wavelets

作者:Tai Sing Lee,哈佛大学博士,卡内基梅隆大学教授。

2.1988年IEEE论文:Complete Discrete 2-D Gabor Transforms by Neural Networks for Image Analysis and Compression

作者:JohnG. Daugman,哈佛大学博士,剑桥大学教授。

3.http://blog.youkuaiyun.com/xiaowei_cqu/article/details/24745945

4.Face recognition using Ada-Boosted Gabor features

作者:Peng Yang,Shiguang Shan,Wen Gao,Stan Z. Li,Dong Zhang,中科院计算所和微软亚洲研究院的几个小牛。

5.http://www.cnblogs.com/Jack-Lee/p/3649114.html

Schmid滤波

Schmid滤波器是一种类Gabor滤波器。其计算公式为:

F ( r , σ , τ ) = 1 Z cos ⁡ ( 2 π τ r σ ) e − r 2 2 σ 2 F(r,\sigma,\tau)=\frac{1}{Z}\cos\left(\frac{2\pi\tau r}{\sigma}\right)e^{-\frac{r^2}{2\sigma^2}} F(r,σ,τ)=Z1cos(σ2πτr)e2σ2r2

下图是Schmid滤波器和Gabor滤波器的“核”图像。“核”图像是滤波器“核”函数的图像化展示。

这里写图片描述

其中,前13个是Schmid滤波器,后8个是Gabor滤波器。“核”图像中的白色部分,实际上就是该滤波器的带通部分。

从中可以看出,Gabor滤波器有方向性,而Schmid滤波器是各向同性的。

参考

2010年IEEE论文:Constructing models for content-based image retrieval

作者:Cordelia Schmid,女,卡尔斯鲁厄理工学院博士。现在INRIA(法国国家信息与自动化研究所)从事研究工作。

转载至:

http://antkillerfarm.github.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值