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函数可通过下图表示:
对于Gabor基函数的描述各不相同。比如在我参考的文献中Gabor基函数的表述是:
像第二种表述是在其高斯包络为圆对称时的情况,由于圆对称,标准差 σ的值对于x,y来说是相等的;X包络和Y包络合并后,x,y的转向后的坐标x',y'的平方和也可以变成x,y的平方和(因为高斯包络的圆对称),于是便有了第二种表述形式。
而第一种表述形式的演化,大家有兴趣的可以参见文献《Uncertainty relation for resolution in space,spatialfrequency,and orientation optimized by two-dimensional visual cortical ?lters》,和《Biologically motivated computationally intensive approaches to image pattern recognition》。
网上大蛮多的代码是参照第二种表述来的,有需要的朋友,也可以找我要。
由于本人的个人需要,将对第一个Gabor函数作一些分析。。。。。。。
有人把Gabor函数看作加窗的傅立叶变换,有人把Gabor函数看作小波变换的变体,但无论如何,在一维情况中,Gabor变换代表着时频分析的最优方法,二维情况中则是空间频域分析的方法。Gabor变换在二维情况中可用于图像的纹理分析,纹理的特征参量有频率和方向,所以作为此用途的Gabor滤波也应有方向及中心频率的参量,以提取不同的纹理特性。
下面就以上面这个Gabor函数为题进行其参数的讨论。
而φ是Gabor的相位,除了上面的之外,表达式中还有σ,γ,这些在后面会论及,下面我们一个一个对Gabor的参数进行解析。1
1)首先是γ,γ是空间方面比(spatial aspect ratio),是Gabor核高斯函数的纵横比,它的范围在0.23~0.92,在本案中取0.5,由第一个Gabor函数表达式对比可以知道,在γ取1/2的时候,σx = σy/2 = σ,这便是γ的意义,由于γ是预定义好的参数,所以,在Gabor函数中并不是变量参数,所以不决定Gabor函数的性质。
2)参数λ,参数λ是COS调制因子的波长,1/λ是Gabor 滤波器的中心频率,而σ/λ则决定了Gabor滤波器的带宽,一般带宽我们取1个倍频左右,索性取1.0,此时可求出σ/λ的值是0.56,(此值的得出可参阅参考文献);
3)参数Θ是“平行亮暗条纹”(指Gabor图像?)的垂直方向,即x'的坐标方向。
4)γ的值和空间频率带宽的值(即σ/λ的值)又决定了Gabor滤波器方向带宽的值;
5)最后,φ是cos调制因子的相位偏移值,φ决定了Gabor函数的对称性,比如在φ=0,π的时候,Gabor函数是中心(对于(ξ,η)来说)对称的,而当 φ=-π/2,π/2的时候,Gabor函数是中心反对称的,并且所有其他情况都是这两种情况的(线性?)组合。
如此以来,我们需要确定的参数便是:λ,Θ,另外在约束之下的参数是γ,σ,和Gabor核的大小size(x,y),求Gabor核的时候,我们将中心位置(ξ,η)默认放在原点。