一、基本HOG算法

HOG特征最早出现在SIFT算法中,由于其极强的图像特征描述能力,逐渐被人们熟知和广泛运用,其在目标检测方面表现尤为突出。

HOG特征提取过程

步骤一:遍历图像每个像素点,以其为中心取8*8像素领域作为网格(block)区域;

步骤二:将网格(block)区域平均分成4个大小相等的细胞单元(cell),每个细胞单元的大小是4*4个像素;

步骤三:计算所有细胞单元(cell)中的每个像素的梯度幅值和梯度方向,梯度算子使用中心算子[1,0,-1];

其中,H(x,y)为每个像素水平方向的梯度大小,V(x,y)为垂直方向的梯度大小。o(x,y)为像素(x,y)的梯度 方向,m(x,y)为它的梯度幅值。

步骤四:将梯度方向限定在(0,180°)内,平均分成8个区间,用有符号的8个方向表示。根据下图中的椭圆圈的 高斯加权范围将单元(cell)上所有相同梯度方向的像素点的梯度幅值加权累加,组成该单元的8维梯度方向直方图。

步骤五:计算得到细胞单元(cell)的8维梯度方向直方图,将一个网格(block)区域中4个细胞单元(cell)的梯度直方图连接起来,得到一个网格(block)区域的4*8=32维的梯度直方图特征。连接所有网格(block)区域的直方图特征,并采用L2-norm归一化,最终得到HOG特征。 一副大小为128*128的图像,可以分成16*16=256个无重叠网格区域,其HOG特征向量的长度为256*32=8192。

二、空间多尺度HOG模型

       HOG算子是一种有效的形状描述子,但其有一个重要不足,即丢弃了局部特征之间的空间排列信息。空间多尺度HOG模型,能够很好地表述物体的形状和空间布局。
    (1)逐层将128*128大小的原图像细化分为一系列不同尺度的网格(block)子区域。若细化为L层,则 l 层上有4^l 个子区域图像,每个子区域大小为128/2^l  *  128/2^l(l=0,1,.....,L-1)。
    (2)分别逐层计算每个网格(block)子区域的梯度直方图。梯度方向的方位仍设为(0,180°),量化区间数为k个。
    (3)采用L2-norm归一化每一层各个网格(block)子区域的梯度方向直方图,按顺串接起来,得到整幅图像的空间多尺度HOG特征。若原图像分为L层,每一层有4^L个子区域,梯度方向直方图有k个区间,则串接后的特征向量的总长度为P:
                                   

HOG 梯度方向直方图简介(转载)的更多相关文章

  1. 目标检测之hog(梯度方向直方图)---hog简介0

    梯度直方图特征(HOG) 是一种对图像局部重叠区域的密集型描述符, 它通过计算局部区域的梯度方向直方图来构成特征.Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功 ...

  2. (转)梯度方向直方图HOG(Histograms of Oriented Gradients )

    HOG(Histograms of Oriented Gradients )梯度方向直方图 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视 ...

  3. Monte Carlo方法简介(转载)

    Monte Carlo方法简介(转载)       今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...

  4. 目标检测之行人检测(Pedestrian Detection)基于hog(梯度方向直方图)--- 梯度直方图特征行人检测、人流检测2

    本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类.其实使用起来是很简单的,从后面的代码就可以看出来.本文参考的资料为opencv自带的sample. 关于op ...

  5. HttpClient 与 HtmlParser 简介 转载

    转载地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ 本小结简单的介绍一下 HttpClinet 和 HtmlPar ...

  6. Spring 000 框架简介 (转载)

    转载自:https://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合 ...

  7. 来自苹果的编程语言——Swift简介转载】

    关于 这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift. 原文作者: Lucida Blog 新浪微博 豆瓣 转载前请保留出处链接,谢谢. 前言 在这里我认为有必要提一下Brec ...

  8. ISO 14229 简介 转载

    作者:autogeek 原文链接:http://www.cnblogs.com/autogeek/p/4458591.html 前言 由于工作中经常用到ISO-14229,因此决定对该协议做个总体介绍 ...

  9. PowerMock 简介--转载

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-powermock/ EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书 ...

随机推荐

  1. [转] jQuery源码分析-如何做jQuery源码分析

    jQuery源码分析系列(持续更新) jQuery的源码有些晦涩难懂,本文分享一些我看源码的方法,每一个模块我基本按照这样的顺序去学习. 当我读到难度的书或者源码时,会和<如何阅读一本书> ...

  2. 微软WTL模板库完整版安装(VS2010+windows7X64位环境下)分享

    一:简介 想必大家对于微软的MFC应该都比较熟悉.但是WTL可能很多人比较陌生吧.下面我就简单的说说这个库. 首先对这个库的做个简单的介绍吧. WTL 是 Windows Template Libra ...

  3. windbg调试C#代码(一)

    用windbg调试C#代码是比较麻烦的,因为windbg是针对OS层级的,而C#被CLR隔了一层,很多原生的命令如查看局部变量dv.查看变量类型dt等在CLR的环境中都不能用了.必须使用针对CLR的扩 ...

  4. sourcetree使用问题汇总

    1.可优先查阅博文<git 用户手册 1.5.3及后续版本使用>: 2.问题1 Cloning into 'folder'... warning: templates not found ...

  5. Javascript之clipBoard操作

    1.clipBoard 是网页上剪贴板,可以获取剪切板上值,可能类似物键-值对这种模式取值\赋值,如果在copy网上的某篇博客时,往往会带有“转载自xxxx地方 http://www.xxx.com/ ...

  6. <button>使用注意问题

    最近在项目的上传功能下(IE8)发现了如下的错误: 2015-08-13 09:14:03,396 WARN   [WARN] [http-8080-5] : Handler execution re ...

  7. hdu 2078

    ps:超水题....(a+b)^2>=a^2+b^2...刚开始还想了好久...真佩服自己.. #include "stdio.h" #define min1(a,b) a& ...

  8. JS 用window.open()函数,父级页面如何取到子级页面的返回值?

    父窗口:<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> ...

  9. yii2 生成PDF格式的文件

    1 .先把mpdf-development.zip解压的类文件夹放到vendor目录里面,重命名为mpdf 2 .在vendor/composer/autoload_namespaces.php里面添 ...

  10. BZOJ 4562 食物链

    我们需要拓扑一下. #include<iostream> #include<cstring> #include<cstdio> #include<algori ...