Gabor滤波 + 多尺度问题

article/2025/9/16 14:15:35

Gabor函数

Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。二维Gabor函数可以表示为:

其中:

v的取值决定了Gabor滤波的波长,u的取值表示Gabor核函数的方向,K表示总的方向数。参数决定了高斯窗口的大小,这里取。程序中取4个频率(v=0, 1, ..., 3),8个方向(即K=8,u=0, 1, ... ,7),共32个Gabor核函数。不同频率不同方向的Gabor函数可通过下图表示:

图片来源:GaborFilter.html

图片来源:http://www.bmva.ac.uk/bmvc/1997/papers/033/node2.html

参考:http://zhenyulu.cnblogs.com/articles/325968.html

网上有代码下载,蛮全的:http://download.csdn.net/detail/mathchunks/2740767

LOG(Laplacian-Gauss

在图像中,边缘可以看做是位于一阶导数较大的像素处,因此,我们可以求图像的一阶导数来确定图像的边缘,像sobel算子等一系列算子都是基于这个思想的。但是这存在几个问题:1. 噪声的影响,在噪声点处一阶导数也会取极大值 2. 求解极大值的复杂性。所以,有了使用二阶导数的方法。这里主要考虑LoG算子,即高斯-拉普拉斯算子。

为什么要使用二阶导数呢?这里要考虑上面说的第二个问题,一阶导数的极大值到了二阶导数对应的值就是0了,很显然求解一个函数的零点值要比求极大值容易。这个性质也被称为二阶导数过零点(zero-crossing)。所以,我们就可以利用二阶导数来代替一阶导数了。而对于上面的第一个问题,也就是为什么要引入高斯算子的原因。

我们已经知道拉普拉斯算子其实就是一个二阶导数算子,为什么还要引入高斯呢?细想一下,高斯算子在图像处理中的一般的作用其实大都是进行模糊,换句话说它可以很好的抑制噪声,这样引入高斯算子我们就克服了噪声的影响(这也是LoG算子对拉普拉斯算子的改进的地方)。所以,高斯-拉普拉斯算子其实就是:先对图像进行高斯模糊,然后再求二阶导数,二阶导数等于0处对应的像素就是图像的边缘。

具体的推导过程可以看一下下面的链接:http://fourier.eng.hmc.edu/e161/lectures/gradient/node10.html

由于高斯函数的参数sigma对高斯算子的影响,所以,如果sigma选取的很小的话,前期的模糊效果很弱,也就可以近似等于拉普拉斯算子了。所以,拉普拉斯算子也可以看做高斯-拉普拉斯算子的一种极限情况。

LOG滤波器有以下特点:

(1)通过图象平滑,消除了一切尺度小于σ的图像强度变化;

(2)若用其它微分法,需要计算不同方向的微分,而它无方向性,因此可以节省计算量;

(3)它定位精度高,边缘连续性好,可以提取对比度较弱的边缘点。

LOG滤波器也有它的缺点:当边缘的宽度小于算子宽度时,由于过零点的斜坡融合将会丢失细节。LOG滤波器有无限长的拖尾,若取得很大尺寸,将使得计算不堪重负。但随着:r=的增加,LOG滤波器幅值迅速下降,当r大于一定程度时,可以忽略模板的作用,这就为节省计算量创造了条件。实际计算时,常常取n* n大小的LOG滤波器,近似n=3σ。另外,LOG滤波器可以近似为两个指数函数之差,即DOG ( Difference Of twoGaussians functions):当σ1/σ2=1.6时,DOG代替LOG减少了计算量。


参考:http://www.cnblogs.com/ztfei/archive/2012/09/01/2667050.html ;http://wenku.baidu.com/view/e47a421d6bd97f192279e97c.html


DOG(高斯差分)

进行高斯差分的结果是DOG(Difference of Gaussian),这个DOG是LOG(laplacian of Gaussian)的近似。LOG图像是目前来说尺度变换最好的,特精确。但是由于计算LOG图像很费劲,作者Lowe呢就对LOG图像进行了近似,他发现如果是用DOG的话呢,只和原来的LOG差了一个常数,这样的话最大值最小值的位置是不变的。而我们的目的呢,就是要找到这个最大最小值然后找到这个兴趣点的位置。关键是DOG计算起来很方便,只要两张图片相减就好了。
参考:http://zhidao.baidu.com/question/390079348.html

多尺度问题

尺度可以说就是感兴趣区域的大小,有2种描述的方式:模板的大小,算子的参数。
举例来说,SIFT特征是一种尺度不变特征,
1.采用DOG(高斯差分)来近似LOG算子, 其实直接计算LOG也是可以的;LOG算子是Laplace算子的扩展;laplace算子只能检测图像中的点;但是LOG不但可以检测局部极值点,还可以检测局部区域(斑点),这是因为高斯函数的核是可以变化的。用大的核检测出的局部极值点就是大的斑点。所以两幅图像若有相同的斑点,虽然大小不一,但采用不同和核是可以吧它们检测出来的。
2.通过上述的LOG算子,找到局部极值点,这就是Keypoints;
3.用大的核检测到的极值点,就在一个大的区域内计算局部梯度直方图, 用小的核检测到的极值点,就在一个小的区域内计算局部梯度直方图,
4.经过上述处理就可以进行点到点匹配啦; 其实主要的思想还是LOG算子的理解,它不仅仅是用来计算图像 边缘。

LBP却不具备尺度不变的特性,因为LBP是基于基于像素的特征描述,尺度变换后像素特征会改变,尤其是在分块统计时。网上的多尺度LBP都是使用多种分块尺度来将局部信息和全局信息进行融合,并未实现尺度不变性。现在多数使用的方法多是将尺度不变的方法融合进LBP来实现尺度不变,如SIFT、Gabor。

通俗讲,你拍摄一个目标,离得近那就获得大尺度图像,离得远那就获得小尺度图像。尺度不变性,一般是针对特征点(or兴趣点)检测算法而言,即算法对图像的尺度变化要具备一定的鲁棒性,像DOG、LOG等特征点检测算法,能同时获得特征的位置和尺度(也就是特征点所在区域的大小)信息,说明DOG、LOG特征点检测算法具备一定的尺度不变性。
参考:http://emuch.net/html/201209/4907263.html

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

相关文章

Gabor算法

在数字图像处理领域,Gabor滤波器是以Dennis Gabor命名的,Gabor滤波器是用作边缘检测的线性滤波器。Gabor滤波器的频率和方向的表达与人类的视觉系统很相似。研究发现,Gabor滤波器非常适合纹理表达和分离。在空间域中,一个二维Gabo…

Log-Gabor滤波器

Log-Gabor滤波器 G ( f ) e l n 2 ( ω / ω 0 ) 2 l n 2 ( k / ω 0 ) G(f)e^{\frac {ln^2({\omega /\omega_0})}{2{ln}^2(k/\omega_0)}} G(f)e2ln2(k/ω0​)ln2(ω/ω0​)​ 式中: ω 0 \omega_0 ω0​为滤波器中心频率,通常将 k / ω 0 k/\omega_0 k…

Gabor滤波器原理

一、什么是Gabor函数(以下内容含部分翻译自维基百科) 在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中&#x…

Gabor的OpenCV代码

唯一持续维护地址:http://52coding.com/opencv-gabor 最近弄人脸识别,用到Gabor卷积核,但网上的代码似乎没有和我心意的,于是参考了自己写了下!参考了Zhou Mian以及matlab的Gabor实现代码的代码。虽然OpenCV的imporc下…

2021-08-07 Gabor滤波器简介以及简单应用

Gabor滤波器(Gabor Filter) 文章目录 Gabor滤波器(Gabor Filter)简介Gabor滤波器的不同参数Gabor滤波器的简单应用(python) 简介 Gabor滤波器是一种线性滤波器,用于边缘检测、纹理分析、特征提…

Gabor Filters

Gabor Filters: Manjunath, B. S., & Ma, W. Y. (1996). Texture features for browsing and retrieval of image data. IEEE Transactions on Pattern Analysis and Machine Intelligence, 18(8), 837-842. Gabor滤波器是一种基于Gabor函数的特定频率和方向选择性滤波器。…

基于Gabor滤波器的人脸特征提取

Gabor小波变换的核函数,其最大的特点是其与人脑的皮层神经细胞的二维反射区具有相似的特征。基于Gabor小波变换的特征信息能够有效提取各种细节结构信息,因此Gabor小波变换在图像识别领域有着较为广泛的应用。根据Gabor小波变换的特点,基于Ga…

Gabor特征提取

Gabor小波与人类视觉系统中简单细胞的视觉刺激响应非常相似。它在提取目标的局部空间和频率域信息方面具有良好的特性。虽然Gabor小波本身并不能构成正交基,但在特定参数下可构成紧框架。Gabor小波对于图像的边缘敏感,能够提供良好的方向选择和尺度选择特…

Gabor 卷积神经网络

与不涉及学习过程的 hand-crafted 滤波器不同,DCNNs-based feature extraction 是一种 data-driven 技术,可以直接从数据中学习具有鲁棒性的特征表示。然而,它有非常大的训练成本和复杂的模型参数。 DCNNs 有限的几何变换建模能力主要来自于…

如何理解Gabor滤波器

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

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

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

Gabor滤波器详解

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

Gabor 变换

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

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

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

Gabor滤波器学习

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

Gabor变换

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

Gabor滤波器

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

Gabor 特征

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

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

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

FCN学习

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