一、基本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. POJ 2771 二分图(最大独立集)

    Guardian of Decency Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5244   Accepted: 21 ...

  2. 虚拟机的apache服务器不能被主机访问的问题

    我在centos虚拟机上安装了elasticsearch服务,虚拟机里测试正常,但主机却无法访问elasticsearch.要说的是,虚拟机采用桥接模式,与主机相互ping得通. 后来查了资料发现,这 ...

  3. 【NOIP2015】提高组D1 解题报告

    P1978神奇的幻方 Accepted 描述 幻方是一种很神奇的 N ∗ N 矩阵:它由数字 1,2,3, … … , N ∗ N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N 为奇数时 ...

  4. No module ata_piix found的解决方法

    在一台as4u6的机器上升级内核到2.6.18时,最好make install的时候报了一个WARNING: No module ata_piix found for 2.6.18, 开始没有在意,重 ...

  5. 前端CSS编程之道-LESS

    由于前端css编写繁琐,最近开始学习LESS,用LESS编写文件.less文件可以直接编译成我们要的.css文件 学习Less 我下面是我练习时的截图,希望小伙伴也能动手自己写一下,而不是复制粘贴模式 ...

  6. C语言与MATLAB接口 编程与实例 李传军编着

    罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...

  7. javascript面向对象知识点

    首先,声明何为对象:对象是键值对的集合 其次,声明:变量就是键值对 再次,声明:函数也是变量 1. JavaScript包含:ECMAScript(核心).DOM(文档对象模型)和BOM(浏览器对象模 ...

  8. 《JAVA学习笔记(14-10---14-11抽象类)》

    [14-10]面向对象-抽象类的产生 /* 描述狗,行为,吼叫. 描述狼,行为,吼叫. 发现他们之间有共性,可以进行向上抽取. 当然是抽取他们的所属共性类型,犬科. 犬科这类事物,都具备吼叫行为,但是 ...

  9. poj1014 dp 多重背包

    //Accepted 624 KB 16 ms //dp 背包 多重背包 #include <cstdio> #include <cstring> #include <i ...

  10. PHP面向对象的继承

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...