前言:今天接触到了这两个特征,看了课本和博客后很蒙蔽,没有理解这两个特征,本篇博客的目的是只是参考其他的博客总结这两个特征,如果未来能研究和工作领域是这方面的话再回来自己研学,如有错误也欢迎指出。

Garbor特征

一.Gabor 特征的简介
Gabor 特征是一种可以用来描述图像纹理信息的特征,Gabor 滤波器的频率和方向与人类的视觉系统类似,特别适合于纹理表示与判别。Gabor 特征主要依靠 Gabor 核在频率域上对信号进行加窗,从而能描述信号的局部频率信息。
说到 Gabor 核,不能不提到傅里叶变换。正是靠傅里叶变换,我们才能将信号转换到频率域,才能让Gabor核在频率域去加窗。而在原本的空间域中,一个 Gabor 核实际上就是一个高斯核与正弦波调制的结果。
如下图所示,分别为正弦函数,高斯函数,调和后的函数。通过频率参数和高斯函数参数的选取,Gabor变换可以选取很多纹理特征,但是Gabor是非正交的,不同特征分量之间有冗余。
 

二.Gabor核及其变换
如果从Fourier变换的角度来看,Gobor变换就是窗函数取高斯窗时的短时Fourier变换。
 
 

三.Gabor特征提取
先对图像I(x,y)进行实数形式的Gabor变换,得到处理后的图像,直接提取特征的话,特征维数太高,不利于后续处理。一般对图像分块,例如:分别水平和垂直方向取16等分,将整个图像分成64个16x16大小的子图像块。
然后计算每一块对应的能量。
 

计算之后得到联合空间频率能量矩阵Energy。最后将能量矩阵降维成1x64的行向量,作为原始图像在某一方向和尺度变换后的特征向量。

HOG特征
1.算法基本流程
  在一幅图像中,方向梯度直方图(Histogram of Oriented Gradient, HOG)能够很好地描述局部目标区域的特征,是一种常用的特征提取方法,HOG+SVM在行人检测中有着优异的效果。在HOG中,对一幅图像进行了如下划分: 
图像(image)->检测窗口(win)->图像块(block)->细胞单元(cells)
流程图如下:  

2.计算图像梯度

  对数字图像而言,每个像素水平和垂直方向的梯度,可以通过下图的kernels计算:
  

  即可写为:
  

  每个像素梯度大小和方向可表示为:
  

  其中,I(x,y)是图像在点(x,y)处的像素值。
  梯度图像移除了不必要的信息,但是高亮了轮廓线。在每一个像素上,梯度都有大小和方向。对于彩色图像,3个通道的梯度都将被计算出来,然而图像素的梯度值为3个通道中最大的梯度值,角度也是最大角度。

 
3.HOG的win ,block ,cell
 

  对于图像中检测窗口的尺寸为64×64,假设给出块的尺寸为16×16,块步长为(8,8),经过计算:检测窗口中共滑动7×7=49个block。在一个块中选择细胞单元不再滑动,给出细胞单元的尺寸为(8,8),所以一个块中一共有2×2=4个cell。

4.HOG构建方向梯度直方图与特征向量维数
  HOG构建方向梯度直方图在cell中完成,bins的个数决定了方向的范围。假设采用9个bin的直方图来统计这8×8个像素cell的梯度信息,即将cell的梯度方向0~180度(或0~360度,考虑了正负,signed)分成9个方向块。如下图所示:如果这个像素的梯度方向是20-40度,直方图第2个bin即的计数就加1,这样,对cell内每个像素用梯度方向在直方图中进行加权投影,将其映射到对应的角度范围块内,就可以得到这个cell的梯度方向直方图了,就是该cell对应的9维特征向量(因为有9个bin)。这边的加权投影所用的权值为当前点的梯度幅值。例如说:某个像素的梯度方向是20-40度,其梯度幅值是4,那么直方图第2个bin的计数就不是加1了,而是加4。这样就得到关于梯度方向的一个加权直方图。之前提到过,cell的中方向范围的个数由bins来决定,还是以9为例:所以,一个cell中的向量为9个。以上面的例子,在一个尺寸为64×64的检测窗中,描述子的维数就应该为:9×4×49=1764 。其中4为一个block中cell的个数,49为一个win中block的个数。
  

理解图像Garbor和HOG特征的提取方法及实例应用的更多相关文章

  1. hog特征及其提取方法图示

    1 什么是hog特征 hog特征是histogram of gradient的缩写.我们观察图像时,信息更多来自目标边沿的突变.我们计算一块区域内的所有像素处的梯度信息,即突变的方向和大小,然后对36 ...

  2. 目标检测的图像特征提取之HOG特征

    HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度 ...

  3. 【数字图像处理】目标检测的图像特征提取之HOG特征

    1.HOG特征 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯 ...

  4. SVM中图像常用的HOG特征描述及实现

    转摘网址:http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html Hog参考网址:http://www.cnblogs.com/t ...

  5. 图像的特征工程:HOG特征描述子的介绍

    介绍 在机器学习算法的世界里,特征工程是非常重要的.实际上,作为一名数据科学家,这是我最喜欢的方面之一!从现有特征中设计新特征并改进模型的性能,这就是我们进行最多实验的地方. 世界上一些顶级数据科学家 ...

  6. 使用HOG特征+BP神经网络进行车标识别

    先挖个坑,快期末考试了,有空填上w 好了,今晚刚好有点闲,就把坑填上吧. //-------------------------------开篇---------------------------- ...

  7. paper 80 :目标检测的图像特征提取之(一)HOG特征

    1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的 ...

  8. 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征(转载)

    (一)HOG特征 1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和 ...

  9. 图像特征提取之(一)HOG特征

    1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的 ...

随机推荐

  1. 【冷门】 C# 小技巧之获取变量名称

    今天在自我规范程序设计的时候,变量名匹配字符串来自配置文件,网上找了一会儿发现也有朋友在找寻这种方式,很不容易找到一个解决方案来自http://www.th7.cn/Program/net/20140 ...

  2. C++版修真小说

    终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊. 他们 ...

  3. iOS无网络提示或无数据提示空白页

    在我们平常我们用的app当中,当你在信号不好网络错误的时候,一般都会有个提示:“网络错误请点击重试~” 的话术,或者说当你浏览某一页的时候,没有数据,也会提示:“暂无数据,请搞点动静” 之类的话术. ...

  4. Windows 安装 Maven 及 Eclipse 安装Maven插件

    环境说明: window 8.1 64bit Eclipse Version: Luna Release (4.4.0) Maven 3.0.5 Windows Maven 安装: 1.确保安装了JD ...

  5. controller,service,repository,component注解的使用对比

    项目中的controller层使用@controller注解 @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使用了 ...

  6. 面向对象的JavaScript-009-闭包

    引自:https://developer.mozilla.org/cn/docs/Web/JavaScript/Closures 闭包是指能够访问自由变量的函数 (变量在本地使用,但在闭包中定义).换 ...

  7. ubuntu如何安装samba

    1.samba安装sudo apt-get install samba2.修改smb.confsudo gedit /etc/samba/smb.conf 文件最后增加如下代码:[share] pat ...

  8. 新年奉献MVC+EF(CODEFIRST)+EASYUI医药MIS系统(转)

    出处:http://www.cnblogs.com/chenlinzhi/p/4332628.html 本人闲来无事就把以前用Asp.net做过的一个医药管理信息系统用mvc,ef ,easyui重新 ...

  9. 一个java多线程面试题

    线程a 打印 数字 0--12: 线程b 打印 字母 a--z; 打印结果:0ab1cd2ef3gh4ij5kl6mn7op8qr9st10uv11wx12yz 要求用到 线程间传值: 分析:线程a打 ...

  10. 【Android开发精要笔记】Android组件模型解析

    Android组件模型解析 Android中的Mashup 将应用切分成不同类别的组件,通过统一的定位模型和接口标准将他们整合在一起,来共同完成某项任务.在Android的Mashup模式下,每个组件 ...