转自 http://blog.sina.com.cn/s/blog_48a242d601000a3j.html~type=v5_on
Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。
Gabor变换是短时Fourier变换中当窗函数取为高斯函数时的一种特殊情况.
Gabor变换的本质实际上还是对二维图像求卷积。因此二维卷积运算的效率就直接决定了Gabor变换的效率。在这里我先说说二维卷积运算以及如何通过二维傅立叶变换提高卷积运算效率.关于离散二维叠加和卷积的运算介绍的书籍比较多,我这里推荐William K. Pratt著,邓鲁华 张延恒等译的《数字图像处理(第3版)》,其中第7章介绍的就是这方面的运算.
A可以理解成是待处理的笔迹纹理,B可以理解成Gabor变换的核函数,现在要求A与B的离散二维叠加卷积,我们首先对A的右边界和下边界填充0(zero padding),然后将B进行水平翻转和垂直翻转,如下图:
然后用B中的每个值依次乘以A中相对位置处的值并进行累加,结果填入相应位置处(注意红圈位置)。通常二维卷积的结果比A、B的尺寸要大。如下图所示:
2、快速傅立叶变换卷积
根据傅立叶变换理论,对图像进行二维卷积等价于对图像的二维傅立叶变换以及核函数的二维傅立叶变换在频域求乘法。通过二维傅立叶变换可以有效提高卷积的运算效率。但在进行傅立叶变换时一定要注意“卷绕误差效应”,只有正确对原有图像以及卷积核填补零后,才能得到正确的卷积结果。
二维Gabor函数可以表示为:
其中:
v的取值决定了Gabor滤波的波长,u的取值表示Gabor核函数的方向,K表示总的方向数。参数决定了高斯窗口的大小,这里取. 程序中取4个频率(v=0, 1, ..., 3),8个方向(即K=8,u=0, 1, ... ,7),共32个Gabor核函数。不同频率不同方向的Gabor函数可通过下图表示:
图片来源:http://www.bmva.ac.uk/bmvc/1997/papers/033/node2.html
所谓目标识别,从某种意义上说就是特征识别的问题。而红外图特征提取的角度一般可以从几何形状和上下文的判断中得到,比如说,当你在一幅图像中去搜索桥梁和机场的跑道的时候,我们可以从形状上发现他们都是一组平行线;然后基于上下文去判断,桥梁的长度肯定比跑道短,桥梁的两边一般是水域,而跑道的中间有一些联络道,而这些这些联络道本身也是平行线。
通常用这种仅仅利用图像本身的知识去判断的时候,时常由于经验的限制,识别率总是没有办法做到很好!虽然图像所一些早期的论文里都声称,识别率能够达到90%以上,但是那只是用自己搜集的有利于自己算法的图片得出来的结果而已!
言规正传,由于种种努力,我们发现了频率的概念,频率的本质就是反映变化快慢的物理量。因此当我们把一幅图像f(x,y)通过傅立叶变换变成F(u,v)进入频率域的时候,w=sqrt(u2+v2) 的大小,则直接体现了原图像中灰度值变化速率的大小。于是人们发现了滤波的方法,如通过低通滤波器将图像中的噪声去掉,同时把一些突变的地方变得平滑,而高通滤波器则可以把图像的边缘特征加以锐化。
但是很快大家就发现了傅立叶变换的一个缺陷,傅立叶变换在很大程度上只是一个体现大局观的概念,而无法反映图像局部的特点,因此我们无法通过傅立叶变换来对图像进行细节上更准确的操作。幸运的是,人们之后的研究中,发现了Gabor于1946年发表的论文《the Theory of Communication》,于是在识别的方法上,尤其在纹理识别上达到了一个新的高度。当然小波变换的应用也是差不多这个时间段开始的,由此我们也可以理解数学在图像领域的价值!
Gabor滤波的本质是提取图像的特征分量,通常应用的领域有指纹识别,虹膜识别,人脸识别等。
所谓gabor的价值由来是由于人们对傅立叶频率分析的需求来的,因此,当我们去使用gabor滤波器的时候,就一定要结合对图象频率的分析。这一点表面上简单而直接,实际却被大部分的研究者忽略。关于这部分的研究,可以在各大搜索引擎上检索关键:"fourier
function
imview(g,[]);