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

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. 转载--js对象无法当成参数传递

    今天我碰到了这个问题一头雾水,明明记得对象是可以传参的啊.我使用了一款基于bootstrap的表格插件DataTables,想把行信息直接传给操作函数,方便编辑(此行信息是一个对象,按道理可以的啊), ...

  2. 删除链表之two star programming

    最近偶尔看到一篇关于Linus Torvalds的访问,大神说大部分人都不理解指针.假设被要求写一段链表删除节点的程序,大多数的做法都是跟踪两个指针,当前指针cur和其父节点pre,这种实现很容易理解 ...

  3. mysqldump test

    CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VAR ...

  4. Shaders

    [Shaders] 1.Vertex-Lit,顶点光照着色器. Vertex-Lit is one of the simplest shaders. All lights shining on it ...

  5. Spark分布式计算执行模型

    引言 相对Hadoop, Spark在处理需要迭代运算的机器学习训练等任务上有着很大性能提升,同时提供了批处理.实时数据处理.机器学习以及图算法等一站式的服务,因此最近大家一起来学习Spark,特别是 ...

  6. VMware Workstation 虚拟机暂停后无法启动 出现Exception 0xc0000006 (disk error while paging) has occurred.错误

    虚拟机暂停了,突然停电,再开机后无法启动暂停的虚拟机,出现下面的错误 VMware Workstation unrecoverable error: (vmx)Exception 0xc0000006 ...

  7. appium_server_v1.4.16版本不适配android7.0系统,运行报错“Attempt to re-install io.appium.settings without first uninstalling”

    要解决的问题:appium在androidV7.0系统上运行时报错 Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.a ...

  8. Ubuntu命令行下安装、卸载、管理软件包的方法

    一.Ubuntu中软件安装方法 1.APT方式 (1)普通安装:apt-get install softname1 softname2 -; (2)修复安装:apt-get -f install so ...

  9. js中的函数参数问题

    js函数没有Java中的重载现象.js函数的参数是放在arguments的容器里面的. <script  type="text/javascript"> functio ...

  10. Discuz核心函数的解析

    dz采用的是多入口的方式,在每个入口函数你能看到引用,启动核心类的语句(其余省略),如下: require './source/class/class_core.php'; C::app()-> ...