如何理解Gabor滤波器

article/2025/9/15 16:19:26

转载自如何理解Gabor滤波器

介绍

我们已经知道,傅里叶变换是一种信号处理中的有力工具,可以帮助我们将图像从空域转换到频域,并提取到空域上不易提取的特征。但是经过傅里叶变换后,图像在不同位置的频度特征往往混合在一起,但是Gabor滤波器却可以抽取空间局部频度特征,是一种有效的纹理检测工具。
Figure 1: A sinusoid and it's Fourier spectrum

如何生成一个Gabor滤波器

在二维空间中,使用一个三角函数(如正弦函数)与一个高斯函数叠加我们就得到了一个Gabor滤波器[1],如下图。
Figure 2: Gabor filter composition: (a) 2D sinusoid oriented at 30◦ with the x-axis, (b) a Gaussian kernel, (c) the corresponding Gabor filter. Notice how the sinusoid becomes spatially localized.

Gabor核函数

二维Gabor核函数由一个高斯函数和一个余弦函数相乘得出,其中 θ,ϕ,γ,λ,σ 为参数。

在OpenCV中的getGaborKernel函数里需要传入的参数除了上述5个外,还需要传入卷积核的大小。

cv::Mat getGaborKernel(Size ksize, double sigma, double theta, double lambd, double gamma, double psi=CV_PI*0.5, int ktype=CV_64F );

Figure 3: The Gabor Filter in frequency with the orientation of 0°, 45°, 90°.

参数

Orientation θ

θ 表示Gabor滤波核中平行条带的方向,有效值为从0~360度的实数。
Figure 4: The Gabor Filter with the �� of 0°, 45°, 90°.

Phase offset ϕ

ϕ 表示Gabor核函数中余弦函数的相位参数,有效值为-180度~180度,0度和180度对应的方程与原点对称,-90度和90度的方程分别于原点成中心对称,可两项直角坐标系中的余弦函数。
Figure 5: The Gabor Filter with the �� of 17°, 180°.

Aspect ratio γ

γ ,纵横比,更准确的应称为空间纵横比,表示Gabor滤波器的椭圆度。
Figure 6: The Gabor Filter with the �� of 14, 45, 110.

Wavelength λ

λ 表示Gabor核函数中余弦函数的波长参数,有效值应大于2,以像素为单位。
Figure 7: The Gabor Filter with the �� of 3, 8.

The standard deviation σ

σ 表示Gabor核函数中高斯函数的标准差,该参数决定了Gabor滤波核可接受区域的大小, σ 不能被直接指定,其值与b(Bandwidth)和 λ 有关。

Bandwidth(b)表示高低频率之差。在实际选取Gabor滤波核中,我们会选取频域中半响应空间频度带宽(the half-response spatial frequency bandwidth),或者半峰量级(the half-peak magnitude),他们都指的是频域中Bandwidth/2的空间位置。b, λ σ 的关系如下:

Figure 8: The Gabor Filter with the �� of 3, 8.

演示

这里用一张程序运行动态图可以清楚的显示出Gabor滤波核随各个参数变化的情况, 该程序的链接。
Figure 9: A Dynamic Demonstration of Gabor Filter

如下为不同参数调节下,Gabor滤波器作用于图像的效果演示

height="498" width="510" src="http://player.youku.com/embed/XMTU4NzA0MTIyOA==" allowfullscreen="">

如何设计Gabor滤波器来提取特征

为了充分利用Gabor滤波器的特点,我们必然需要设计不同方向,不同尺度的GaborL滤波器来提取特征,[2]中提到了如下策略来使滤波器尽量无重叠覆盖频域中的各个方向:

“Then the design strategy is to ensure that the half-peak magnitude support of the filter responses in the frequency spectrum touch each other as shown in Fig. 1.”

Figure 10: The contours indicate the half-peak magnitude of the filter responses in the Gabor filter dictionary. The filter parameters used are U,=0.4, U,=0.05,K=6,andS=4.

首先通过如下公式计算出 a , σx, σy ,其中 Uh , Ul 分别表示滤波器的中心频度,及波长 λ 的倒数,K为方向的数量,S为尺度的数量。

然后将上述结果带入下列Gabor核函数方程,从而求得Gabor卷积核上某点的值。其中m=0,1,…,S−1, n=0,1,…,K−1, θ =n π /K

但是在OpenCV中的Gabor核函数采用式(1)的形式,因此我们需要对两种不同表达的Gabor核函数中的参数进行一些转换。比较两种表达式,不难看出,式(4)中的2 π jWx’是一个复数形式,可以分解成正余弦和的形式,与式(1)中的余弦函数部分相对应,式(4)最前端的部分为幅度。因此两种形式的主要区别在于高斯函数的指数以及x’的表达不同。通过如下转换,就可以将式(4)中的参数转换成式(1)中的参数。

不同的卷积核(kernel size)大小对Gabor滤波核的影响

如果卷积核的边长小于波长,那么整个波形不能包括在卷积核中,使得波形边缘的滤波效果起不到作用。相反,如果如果卷积核的边长大于波长,则不会对滤波器产生什么影响。

相位变化对Gabor滤波核的影响

通过相位变化可以改变滤波核中心点的波形,如果滤波核中心点正对波峰( ϕ=0 ),则会对整张图像起到加强的作用,如果滤波核中心点正对波谷( ϕ=180 ),则会对整张图像起到减弱的作用。我们应当避免滤波核中心点的波形位于零交叉点,因为这样我们可能会看不到滤波器的任何效果。

References

[1] Prasad V S N, Domke J. Gabor filter visualization[J]. J. Atmos. Sci, 2005, 13.

[2] Manjunath B S, Ma W Y. Texture features for browsing and retrieval of image data[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1996, 18(8): 837-842.

[3] Movellan J R. Tutorial on Gabor filters[J]. Open Source Document, 2002.

[4] Celik T, Lee H K, Petznick A, et al. Bioimage informatics approach to automated meibomian gland analysis in infrared images of meibography[J]. Journal of optometry, 2013, 6(4): 194-204.

[5] Cheng E, Du L, Wu Y, et al. Discriminative vessel segmentation in retinal images by fusing context-aware hybrid features[J]. Machine Vision and Applications, 2014, 25(7): 1779-1792.

[6] Advances in Digital Document Processing and Retrieval[M]. World Scientific, 2013.

[7] 孔锐, 张冰. Gabor 滤波器参数设置[J]. 控制与决策, 2012, 27(8): 1277-1280.

Useful Web Sites

http://www.cs.rug.nl/~imaging/simplecell.html

http://www.juergenwiki.de/work/wiki/doku.php?id=public:gabor_filter

http://blog.163.com/hulin_feng/blog/static/9235253201231453211288/

帮助理解Gabor滤波器的有关文档,以及Gabor滤波器的可视化程序已经上传到Github.


如有任何相关问题欢迎评论或者邮件讨论<15120452@bjtu.edu.cn>


http://chatgpt.dhexx.cn/article/dU4XYetm.shtml

相关文章

基于python的图像Gabor变换及特征提取

基于python的图像Gabor变换及特征提取 1.前言2. “Gabor帮主”简介3.“Gabor帮主”大招之图像变换3.“Gabor帮主”大招之图像特征提取 深圳中兴网信科技有限公司&#xff1a;廖海斌 1.前言 在深度学习出来之前&#xff0c;图像识别领域北有“Gabor帮主”&#xff0c;南有“SIF…

Gabor滤波器详解

转载自如何理解Gabor滤波器 介绍 我们已经知道&#xff0c;傅里叶变换是一种信号处理中的有力工具&#xff0c;可以帮助我们将图像从空域转换到频域&#xff0c;并提取到空域上不易提取的特征。但是经过傅里叶变换后&#xff0c;图像在不同位置的频度特征往往混合在一起&…

Gabor 变换

http://blog.sina.com.cn/s/blog_48a242d601000a3j.html Gabor变换属于加窗傅立叶变换&#xff0c;Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿&#xff0c;所以经常用作纹理识别上&#xff0c;并取得了较好的效果。 Gabor变换…

图像处理:Gabor滤波器简介以及python实现

在图像处理中&#xff0c;以Dennis Gabor命名的Gabor滤波器是一种用于纹理分析的线性滤波器&#xff0c;本质上是指在分析点或分析区域周围的局部区域内&#xff0c;分析图像中是否存在特定方向的特定频率内容。Gabor滤波器的频率和方向表示被许多当代视觉科学家认为与人类视觉…

Gabor滤波器学习

本文的目的是用C实现生成Gabor模版&#xff0c;并对图像卷积。并简单提一下&#xff0c;Gabor滤波器在纹理特征提取上的应用。 一、什么是Gabor函数&#xff08;以下内容含部分翻译自维基百科&#xff09; 在图像处理中&#xff0c;Gabor函数是一个用于边缘提取的线性滤波器。…

Gabor变换

2009-12-13 00:51:08| 分类&#xff1a; 图像处理|字号 订阅 转自 http://blog.sina.com.cn/s/blog_48a242d601000a3j.html~typev5_one&labelrela_prevarticle Gabor变换属于加窗傅立叶变换&#xff0c;Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabo…

Gabor滤波器

Gabor是一个用于边缘提取的线性滤波器&#xff0c;其频率和方向表达与人类视觉系统类似&#xff0c;能够提供良好的方向选择和尺度选择特性&#xff0c;而且对光照变换不敏感&#xff0c;因此十分适合纹理分析。 一、Gabor滤波器 在图像处理中&#xff0c;Gabor函数是一个用于…

Gabor 特征

一.Gabor 特征的简介 Gabor 特征是一种可以用来描述图像纹理信息的特征&#xff0c;Gabor 滤波器的频率和方向与人类的视觉系统类似&#xff0c;特别适合于纹理表示与判别。Gabor 特征主要依靠 Gabor 核在频率域上对信号进行加窗&#xff0c;从而能描述信号的局部频率信息。 …

Gabor滤波器特征提取原理讲解及c++实现

文章目录 Gabor滤波器复正弦载波高斯滤波 参数解释gabor滤波核实现效果&#xff1a; Gabor滤波器 1946年,Dennis Gabor于在“Theory of communication”一文中提出了著名的“窗口”傅里叶变换&#xff08;也叫短时Fourier变换&#xff0c;STFT&#xff09;&#xff0c;即Gabor…

FCN学习

简介 FCN(Fully Convolutional Networks for Semantic Segmentation)是首个端对端的针对像素级别预测的全卷积网络&#xff0c;发表在2015CVPR。全卷积的意思是全连接层全部替换成了卷积层。 上面这句话的重点是全卷积&#xff0c;但是端到端end to end这个词也同样重要。end…

卷积神经网络CNN(3)—— FCN(Fully Convolutional Networks)要点解释

前言 参考FCN论文&#xff1a;Fully Convolutional Networks for Semantic Segmentation FCN作为图像语义分割的先河&#xff0c;实现像素级别的分类&#xff08;即end to end&#xff0c;pixel-wise&#xff09;&#xff0c;为后续使用CNN作为基础的图像语义分割模型提供重要…

语义分割——FCN模型pytorch实现

FCN网络简介 全卷积网络&#xff08;Fully Convolutional Networks&#xff0c;FCN&#xff09;是Jonathan Long等人于2015年在Fully Convolutional Networks for Semantic Segmentation一文中提出的用于图像语义分割的一种框架&#xff0c;是首个端对端的针对像素级预测的全卷…

全卷积网络 FCN 详解

原文链接&#xff1a;全卷积网络 FCN 详解 FCN是深度学习应用在图像分割的代表作, 是一种端到端(end to end)的图像分割方法, 让网络做像素级别的预测直接得出label map, 下面我们来看看FCN是如何做到像素级别的分类的 论文 : Fully Convolutional Networks for Semantic Segme…

图像分割-FCN全卷积神经网络(完整代码详解)

目录 FCN全卷积神经网络 实现过程 全卷积 反卷积 FCN的三点创新 code FCN全卷积神经网络 FCN为深度学习在语义分割领域的开山之作&#xff0c;提出使用卷积层代替CNN中的全连接操作&#xff0c;生成热力图heat map而不是类别。 实现过程 图1 FCN网络结构 包括全卷积过程…

FCN网络学习笔记

目录 前言1. 网络结构2. 损失计算&#xff1a;Cross Entropy Loss参考 前言 FCN网络是首个端对端的针对像素级预测的全卷积网络。 其中&#xff0c;全卷积的含义是将分类网络的全连接层全部替换成了卷积层。使用了分类网络作为backbone&#xff0c;将会复用分类网路在ImageNet…

深度学习-全卷积神经网络(FCN)

1. 简介 全卷积神经网络&#xff08;Fully Convolutional Networks&#xff0c;FCN&#xff09;是Jonathan Long等人于2015年在Fully Convolutional Networks for Semantic Segmentation一文中提出的用于图像语义分割的一种框架&#xff0c;是深度学习用于语义分割领域的开山之…

FCN全卷积网络理解及代码实现(来自pytorch官方实现)

视频链接&#xff1a;https://www.bilibili.com/video/BV1J3411C7zd?vd_sourcea0d4f7000e77468aec70dc618794d26f 代码&#xff1a;https://github.com/WZMIAOMIAO/deep-learning-for-image-processing FCN是2015年提出的首个端对端的针对像素级预测的全卷积网络。 如今的pyt…

FCN网络结构解析

daily&#xff1a;作为深度学习图片分割第一个学习的网络结构 Q1&#xff1a; 为什么要用FCN&#xff1f; A1&#xff1a;应为和以前网络R-CNN&#xff0c;SDS相比提升比较大 Q2&#xff1a;与CNN什么区别&#xff1f; A2:使用全卷积层代替全连接层 Q3&#xff1a;为什么要进行…

FCN网络详解

参考视频&#xff1a;FCN网络结构详解(语义分割)_哔哩哔哩_bilibili FCN是首个端对端的针对像素级预测的全卷积网络 这是作者提出的网络中的输出对比图&#xff0c;可以看到当FCN-8s效果接近真实分割图。 普通卷积分类网络与FCN对比 在这个模型提出之前&#xff0c;我们来看一下…

FCN全卷积神经网络

目录 前言 一、FCN的意义 二、先验知识 1.FCN-32S,FCN-16S,FCN-8S 2.上采样&#xff0c;下采样 3.大体网络结构 4.与传统网络&#xff08;带全连接层的网络&#xff09;区别 5.传统网络VGG网络结构 三、FCN网络结构解析 1.FCN-32S 2.FCN-16S 3.FCN-8S !!!重要&…