Gabor wavelet and 实现方法

参考博客:http://blog.csdn.net/jinshengtao/article/details/17797641

http://matlabserver.cs.rug.nl/edgedetectionweb/web/edgedetection_params.html

Gabor的实现,可以参考这个,提供了各种版本的实现方法:http://blog.csdn.net/watkinsong/article/details/7882443

1.Introduction

下面开始介绍Gabor 滤波器以及相关的知识,首先上wiki上关于Gabor filter的介绍:In image processing, a Gabor filter, named after Dennis Gabor, is a linear filter used for edge detection. Frequency and orientation representations of Gabor filters are similar to those of the human visual system, and they have been found to be particularly appropriate for texture representation and discrimination. In the spatial domain, a 2D Gabor filter is a Gaussian kernel function modulated by a sinusoidal plane wave.说白了就是说这个滤波器与视觉通路信息处理结构很相似,从信号处理的角度上是一个正弦波平面波调制的高斯函数,公式和图如下:

-------------------------------------------- 1


Real part:

-------------------------------------------------------- 2

Imaginary part:

--------------------------------------------------------- 3


  解释一下参数:\lamda 是波长,不同波长的效果如下:

,\theta 是角度,如果想得到不同方向上的滤波器的话,就需要做旋转,我们知道这个可以通过乘上一个旋转矩阵得到:

                    -------------------------------------------------------------------- 4

下面展示的就是不同角度的Gabor filter:

上面两个是最关键的参数,我们常说Gabor filter可以得到多尺度多方向的响应,其实就是这两个参数在起作用。其他参数\phi指的是phase offset, \gamma 指的是aspect ratio,也就是x方向和y方向的比例,具体各个参数的效果参考:http://matlabserver.cs.rug.nl/edgedetectionweb/web/edgedetection_params.html

而二维Gabor在三维下显示的样子就是:

如果没有正弦调制,二维高斯就是平滑的一个凸起,现在因为有了正弦波调制,就有了这种沟壑。而不要小看了这个沟壑,从图像处理的角度来讲:傅立叶变换在很大程度上只是一个体现大局观的概念,而无法反映图像局部的特点,,因此我们无法通过傅立叶变换来对图像进行细节上更准确的操作。幸运的是,人们之后的研究中,发现了Gabor于1946年发表的论文《the Theory of Communication》,于是在识别的方法上,尤其在纹理识别上达到了一个新的高度。当然小波变换的应用也是差不多这个时间段开始的,由此我们也可以理解数学在图像领域的价值[1].

===========================================理论==========================================

下面我再从公式开始重新展示一下Gabor filter,目的就是为了解释为什么会出现我一开始说的多种版本的Gabor filter。其实,我也正是因为搞不懂这个,才重新研究Gabor filter。

Part 1;高斯正弦平面波

我们已经说过Gabor filter是用正弦平面波调制高斯,先说正弦平面波,也就是是二维的正弦波,公式表达为:-------  5,

我们可视化之后样子如下:

当然,最标准的complex sinusoid 函数形式是:------------------------------------- 6,


两者的区别在于后者得到的曲面不是与x轴平行的而是旋转了45度,考虑到可以对\theta采用旋转得到一样的效果,所以两个形式的函数都是可以的,我们采用第二种形式(公式6)。

Part 2 高斯权重分布或者Gaussian envelope

二维高斯分布的标准形式为:

---------------------------------------------------------------- 7

如果令,那么上式就可以写成:

-----------------------------------------------------------   8

其中K=1/ab, .

Part 3 Compelte Gabor filter form:

我们将公式8和公式6合并在一起,就得到了:

------------------------------------------------------ 9

我们再把公式1贴过来:

--------------------------- 10

比较两个公式,我们发现两者之间有些许的区别,我们找出之间的关联:

  波长与频率关系:.那么两个公式不同的地方呢,开头和结尾,公式9的开头有系数,结尾还有指数常数项。

而这也是导致出现不同版本Gabor程序的原因所在。

Part4 多尺度和多方向

对于多尺度和多方向,就是要对公式9进行细化:

这样,就可以得到一组多尺度多方向的滤波器组了:


=========================程序部分===========================================

程序部分主要涉及的就是参数问题,因为随着Gabor的大规模应用,人们对参数进行了简化或者采用一些默认值。

比如在链接:http://blog.csdn.net/watkinsong/article/details/7882443  中,第三,四种实现方式就对应着公式2,而我再这里想重点介绍第五种实现方式,首先先介绍一下

这种方式对应的Gabor filter的函数形式:

其中:

于是多尺度和多方向就可轻松搞定了。这个就是第五种实现方式的原理,个人感觉这种方式才是最正宗的方式。



Reference:

[1]http://blog.csdn.net/watkinsong/article/details/7859185


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值