Gabor变换

article/2025/9/16 16:26:56

2009-12-13 00:51:08|  分类: 图像处理|字号 订阅

      转自  http://blog.sina.com.cn/s/blog_48a242d601000a3j.html~type=v5_one&label=rela_prevarticle

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

 

Gabor变换是短时Fourier变换中当窗函数取为高斯函数时的一种特殊情况.

 

Gabor变换的本质实际上还是对二维图像求卷积。因此二维卷积运算的效率就直接决定了Gabor变换的效率。在这里我先说说二维卷积运算以及如何通过二维傅立叶变换提高卷积运算效率.关于离散二维叠加和卷积的运算介绍的书籍比较多,我这里推荐William K. Pratt著,邓鲁华 张延恒等译的《数字图像处理(第3版)》,其中第7章介绍的就是这方面的运算.

Gabor变换 - 清风 - 清风的博客

A可以理解成是待处理的笔迹纹理,B可以理解成Gabor变换的核函数,现在要求A与B的离散二维叠加卷积,我们首先对A的右边界和下边界填充0(zero padding),然后将B进行水平翻转和垂直翻转,如下图:

Gabor变换 - 清风 - 清风的博客

然后用B中的每个值依次乘以A中相对位置处的值并进行累加,结果填入相应位置处(注意红圈位置)。通常二维卷积的结果比A、B的尺寸要大。如下图所示:

Gabor变换 - 清风 - 清风的博客

2、快速傅立叶变换卷积

根据傅立叶变换理论,对图像进行二维卷积等价于对图像的二维傅立叶变换以及核函数的二维傅立叶变换在频域求乘法。通过二维傅立叶变换可以有效提高卷积的运算效率。但在进行傅立叶变换时一定要注意“卷绕误差效应”,只有正确对原有图像以及卷积核填补零后,才能得到正确的卷积结果。

 

二维Gabor函数可以表示为:


 

 

Gabor变换 - 清风 - 清风的博客


 

其中:


 

 

Gabor变换 - 清风 - 清风的博客


 

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

Gabor变换 - 清风 - 清风的博客


 

Gabor变换 - 清风 - 清风的博客Gabor变换 - 清风 - 清风的博客


 

 图片来源:http://www.neuroinformatik.ruhr-uni-bochum.de/ini/VDM/research/computerVision/
imageProcessing/wavelets/gabor/gaborFilter.html


 

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 power spectrum"。如果使用matlab,可以使用下面的语句将图象转换到频率域:

function fps(I)  g=log(abs(fftshift(fft2(double(I)))));  %通过一定的技巧我们也可以将频率精度扩大

imview(g,[]); 注意不能用imshow;

      传统的gabor滤波器的思想,就是把图象不同的频率范围分别滤出来,然后提取滤波图象的特征分量加以分类。而一些对gabor滤波器的设计正是从这个角度来考虑。至于相邻的滤波器在频率区域的有效部分是相切还是重叠,则一直是争论的话题。甚至有些人因此从gabor小波的角度去设计。

       关于gabor滤波器的参数本身有4个(wf:center frequency  theta:angle  sigmax,sigmay:extend of gaussian function),90年代的时候,很多文献将sigmax=sigmay,于是参数变成3个;本世纪的时候,人们由于我在上面一段阐述的道理,将sigma与wf组成反比关系。参数又变成2个。这就是现在通用的关于尺度和角度的设计。

      在这里我仍然不想去针对特定的纹理,比如指纹,虹膜,文字之类的具体实现来讲更多的东西;因为那实在是已经成熟的技术。只要你慢慢照着做,就一定能达到一定程度的成功率。我想说的是一些更有趣的东西,这就是频率域本身的矛盾性;即大部分信息包含在低频部分,但低频部分的范围却很小,难以区分,因此我们其实浪费了最大量的信息。关于角度的信息,我们只要侦察到特定的角度就一定可以从相当广的频率范围下找到;但是尺度信息的话,我们只能徘徊在一个很小的区间。并且有趣的是这里很多现象象极了物理上的衍射现象。而我们一旦想深入到低频部分的话,对滤波器的设计简直就是苛刻。滤波器的鲁棒性在这里没有价值,我们需要象狐狸一样敏感。但是我相信,如果能够解决这一问题,那么我们甚至可以摈弃纹理识别的概念,而是可以说对图象识别的成功率将到达一个新的高度。


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

相关文章

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…

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

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

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

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

全卷积网络 FCN 详解

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

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

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

FCN网络学习笔记

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

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

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

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

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

FCN网络结构解析

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

FCN网络详解

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

FCN全卷积神经网络

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

FCN算法详解

基于全卷积网络的语义分割 1. 摘要 卷积网络是一种强大的视觉模型,可产生特征的层次结构。卷积网络在语义分割方面的应用已超过了最先进的水平。本文关键是建立“全卷积”网络,它接受任意大小的输入,并通过有效的前向传播产生相应大小的输出。本文定义并详细描述了全卷积网…

FCN网络(Fully Convolutional Networks)

首个端到端的针对像素级预测的全卷积网络 原理:将图片进行多次卷积下采样得到chanel为21的特征层,再经过上采样得到和原图一样大的图片,最后经过softmax得到类别概率值 将全连接层全部变成卷积层:通常的图像分类网络最后几层是全…

FCN网络(Fully Convolutional Networks for Semantic Segmentation)

一.概述 FCN是深度学习应用在图像分割的代表作, 是一种端到端(end to end)的图像分割方法, 让网络做像素级别的预测直接得出label map。因为FCN网络中所有的层都是卷积层,故称为全卷积网络。 全卷积神经网络主要使用了三种技术: 卷积化(Con…

FCN的代码解读

目录 模型初始化 VGG初始化 FCN初始化 图片的预处理 图片处理 图片编码 计算相关参数 模型训练 一个小问题 完整代码 参考 最近浅研究了一下关于图像领域的图像分割的相关知识,发现水还是挺深的,因为FCN差不多也是领域的开山鼻祖,所以就先从…

FCN网络介绍

目录 前言一.FCN网络二.网络创新点 前言 在图像分割领域,有很多经典的网络,如MASK R-CNN,U-Net,SegNet,DeepLab等网络都是以FCN为基础进行设计的。我们这里简单介绍一下这个网络。 一.FCN网络 FCN 即全卷积网络&#…

FCN简单理解

文章目录 整体把握卷积层替换全连接层的意义卷积层替换全连接层的具体方法网络结构中“放大”、“缩小”跳级的思想损失函数 整体把握 FCN的论文主要集中于语义分割,当然这种结构现在已经运用在计算机视觉的各种任务中。FCN创造性的将传统CNN的全连接层都转换成了卷…