1.HOG特征提取所针对的图像的尺寸是固定的。输入的图像应首先resize到这个尺寸。

2.尺寸的划分3个等级:window,block,cell  

  window即输入的需要提取特征的图片大小。然后将window划分为众多block,这些block之间有相互重叠的部分。

  每一个block又划分为多个cell,cell之间紧邻且不重叠。block沿着水平和垂直方向滑动,按照固定的步长进行滑动,

  最后就形成了block相互之间的重叠。

  常见的尺寸:window:64x128;  block:16x16;  cell:8x8; step:8

3.HOG特征:

  HOG特征也是基于梯度的,首先计算出输入图像中各个像素点的梯度(大小和方向),然后就需要进行一定的处理以

  保证特征的鲁棒性。对每个cell中的所有像素点的梯度进行统计,统计出一个梯度直方图,(就是不关心具体每个点的

  梯度而是关心在此cell范围内的点的梯度的分布)。然后将一个block中各个cell得到的梯度直方图数据(一维向量)串

  接起来,就得到了该block的特征,但是还要对该向量进行归一化,(缓解局部光照变化的影响,有时还需要剔除噪声

  点然后进行第二次归一化)。最后将window中所有的block的特征串联起来就得到了输入图像的HOG特征。

4.HOG特征总数的计算:

  按如下尺寸:window:64x128;  block:16x16;  cell:8x8; step:8;  num_of_bin:9

  block总数:(64/8 - 1)*(128/8 - 1)   {即: (window_width / step -1)*(window_height / step -1)}

  blcok中特征数:9 * (16/8) * (16/8)  {即: num_of_bin * (block_width/cell_width)*(block_height/cell_height)}

  总特征数:block总数 × block中特征数 = (7×15) × (9×2×2) = 3780

5.线性插值:

  整个特征都是基于像素点的梯度。在统计梯度直方图的时候,按照梯度方向找到直方图中对应的bin,按照梯度的大小

  对相应的bin进行累加。所以整个线性插值的过程就是如何分配每个像素梯度的大小,也就是处理好分配权值的问题。

  权值的分配分为:梯度直方图中相邻方向bin之间的插值 和 block空间尺度中邻接的像素点之间的插值 以及 整个blcok

  中类似于高斯形式的权值分配(突出中间区域的重要性)。

  权值的分配比例都是根据距离比例进行的,

  具体可以参考这篇博客( http://hi.baidu.com/susongzhi/item/3a3c758d7ff5cbdc5e0ec172 )

  至此所有的权值分配都计算出来之后,将像素的梯度大小按照这些权值分配到对应的直方图的bin中就行了。

  具体还可以参考这些比较全面的博客(感谢他们的分享):

  http://www.cnblogs.com/tornadomeet/archive/2012/08/15/2640754.html

HOG算法总结的更多相关文章

  1. HOG算法资源备忘

    最近再研究这个算法,找了不少资料来研究,发现这方面的资料好的并不多,今天就把找到的经典的资料做一个汇总,方便后续查阅吧. 一 基本概念和推导: 1 解释最清楚的:中文网站:https://blog.c ...

  2. Opencv学习之路——自己编写的HOG算法

    #include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv ...

  3. HOG算法基础

    实现思路步骤: 1.对原图像gamma校正,img=sqrt(img); 2.求图像竖直边缘,水平边缘,边缘强度,边缘斜率. 3.将图像每16*16(取其他也可以)个像素分到一个cell中.对于256 ...

  4. Opencv学习之路—Opencv下基于HOG特征的KNN算法分类训练

    在计算机视觉研究当中,HOG算法和LBP算法算是基础算法,但是却十分重要.后期很多图像特征提取的算法都是基于HOG和LBP,所以了解和掌握HOG,是学习计算机视觉的前提和基础. HOG算法的原理很多资 ...

  5. 特征提取算法(2)——HOG特征提取算法

    histogram of oriented gradient(方向梯度直方图)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.H ...

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

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

  7. HOG 梯度方向直方图简介(转载)

    一.基本HOG算法 HOG特征最早出现在SIFT算法中,由于其极强的图像特征描述能力,逐渐被人们熟知和广泛运用,其在目标检测方面表现尤为突出. HOG特征提取过程 步骤一:遍历图像每个像素点,以其为中 ...

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

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

  9. 目标检測的图像特征提取之(一)HOG特征

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

随机推荐

  1. 6、Spring Boot 2.x 集成 MyBatis

    1.6 Spring Boot 2.x 集成 MyBatis 简介 详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射. 完整源码: 1.6.1 创建 spring-bo ...

  2. java 下拉控件 转自 http://www.cnblogs.com/lhb25/p/form-enhanced-with-javascript-three.html

    表单元素让人爱恨交加.作为网页最重要的组成部分,表单几乎无处不在,从简单的邮件订阅.登陆注册到复杂的需要多页填写的信息提交功能,表单都让开发者花费了大量的时间和精力去处理,以期实现好用又漂亮的表单功能 ...

  3. Catalan Number-卡特兰数入门

    卡特兰数 首先,我们设f(n)=序列个数为n的出栈序列种数.同时,我们假定,从开始到栈第一次出到空为止,这段过程中第一个出栈的序数是k.特别地,如果栈直到整个过程结束时才空,则k=n. 令h(0)=1 ...

  4. Activiti服务类- FormService服务类

    转自:https://www.cnblogs.com/liuqing576598117/p/9814953.html 1.获取//通过流程定义ID获取表单字段集合StartFormData start ...

  5. IO 的底层实现问题

    最近在看 JAVA NIO 的相关知识,了解一下IO的底层实现原理. IO涉及到的底层的概念大致如下: 1) 缓冲区操作.2) 内核空间与用户空间.3) 虚拟内存.4) 分页技术. 一,虚拟存储器 虚 ...

  6. chrome扩展开发实战入门之二-自动搜索

    目标:产生随机数,用于百度搜索:像看电视一样观看搜索结果 参考上一篇,新建目录hellocrx,其中三个文件:manifest.json  content_script.js 和jquery-3.4. ...

  7. CF796C Bank Hacking 细节

    思路十分简单,答案只有 3 种可能,但是有一些细节需要额外注意一下. code: #include <bits/stdc++.h> #define N 300002 #define set ...

  8. Visual Studio Code:使用技巧汇总

    造冰箱的大熊猫@cnblogs 2019/8/9(最后更新2019/8/11) 试用了下微软出的Visual Studio Code,哎呀,有点小惊喜 将VSC的快捷键小结一下,不定期更新 功能 快捷 ...

  9. Java进阶知识25 Spring与Hibernate整合到一起

    1.概述 1.1.Spring与Hibernate整合关键点 1) Hibernate的SessionFactory对象交给Spring创建.    2) hibernate事务交给spring的声明 ...

  10. LOJ2341. 「WC2018」即时战略 [动态点分治]

    LOJ 思路 考虑最蠢的暴力:枚举2~n,从1拉一条到他们的链,需要查询\(n^2\)次,显然不能通过. 考虑优化:如果拉的第一个点已经被访问过了,那么类似二分的做法,一次往那个方向多跳几步. 多跳几 ...