Gabor是一个用于边缘提取的线性滤波器,其频率和方向表达与人类视觉系统类似,能够提供良好的方向选择和尺度选择特性,而且对光照变换不敏感,因此十分适合纹理分析。
一、Gabor滤波器
在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。
下面给出二维Gabor函数的数学表达:
下面介绍公式中各个参数的含义:
波长(lambda,wave length):直接影响滤波器的滤波尺度,它的值以像素为单位指定,通常大于等于2,但不能大于输入图像尺寸的五分之一
方向(theta,orientation):滤波器的方向,指定了Gabor函数并行条纹的方向,它的取值为0 - 360
相位偏移(phai,phase offset):它的取值范围为-180度到180度。
标准差(sigma,standard deviation):表示Gabor函数中高斯因子的标准差。
空间纵横比(gama,aspect ratio):决定了滤波器的形状。当gama=1时,形状是圆的;当gama<1时,形状随着平行条纹方向而拉长。通常该值为0.5。
带宽(b,bandwidth):Gabor滤波器的半响应空间频率带宽b和sigma / lambda的比率有关,如下所示:
sigma的值不能直接设置,它仅随着带宽b变化。带宽值必须是正实数,通常为1,此时,标准差和波长的关系为:sigma = 0.56lambda。带宽越小,标准差越大,Gabor形状越大,可见平行兴奋区和抑制区条纹数量越多。
下面给出,不同参数配置下的Gabor核函数效果图,大小均为100*100:
1)波长对比组(方向:0,相位偏移量:0,纵横比:0.5,带宽:1,波长分别为:5,10,15)
2)方向对比组(波长:10,相位偏移量:0,纵横比:0.5,带宽:1,方向分别为:0,45,90)
3)相位偏移量对比组(波长:10,方向:0,纵横比:0.5,带宽:1,相位偏移量分别为:0,180,-90,90)
4)空间纵横比对比组(波长:10,方向:0,相位偏移量:0,带宽:1,空间纵横比分别为:0.5,1)
5)带宽对比组(波长:10,方向:0,相位偏移量:0,空间纵横比:0.5,带宽分别为:0.5,1,2)
二、Gabor函数matlab实现效果图
三、如何设计Gabor滤波器
为了充分利用Gabor滤波器的特点,我们必然需要设计不同方向,不同尺度的Gabor滤波器来提取特征。
不同的卷积核大小对Gabor滤波核的影响:如果卷积核的边长小于波长,那么整个波形不能包括在卷积核中,使得波形边缘的滤波效果起不到作用。相反,如果卷积核的边长大于波长,则不会对滤波器产生什么影响。
相位变换对Gabor滤波核的影响:通过相位变换可以改变滤波器中心点的波形,如果滤波器中心点正对波峰(phai=0),则会对整张图像起到加强的作用;如果滤波器中心点正对波谷(phai=180),则会对整张图像起到减弱的作用。应当避免滤波核中心点的波形位于零交叉点,因为这样我们可能会看不到滤波器的任何效果。
四、实验
下图是取不同参数的Gabor滤波器
从第1到5行,lambda取3,6,9,12,15 (波长,尺度,scale)
从第1到8列,theta取 0,pi/8,pi/4,3pi/8,pi/2,5pi/8,3pi/4,7pi/8 (方向,orientation)
其他参数不变,相位偏移量 = 0, 空间纵横比 = 0.5, sigma = 2*pi
使用上述滤波器对下图中,两幅人脸做卷积:
结果如下所示:
可以看出,不同方向,不同尺度的Gabor滤波器可以提取人脸中不同的特征。此外还可以看到,Gabor滤波结果对不同光照也能保持较稳定的结果。