HOG算法总结
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算法总结的更多相关文章
- HOG算法资源备忘
最近再研究这个算法,找了不少资料来研究,发现这方面的资料好的并不多,今天就把找到的经典的资料做一个汇总,方便后续查阅吧. 一 基本概念和推导: 1 解释最清楚的:中文网站:https://blog.c ...
- Opencv学习之路——自己编写的HOG算法
#include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv ...
- HOG算法基础
实现思路步骤: 1.对原图像gamma校正,img=sqrt(img); 2.求图像竖直边缘,水平边缘,边缘强度,边缘斜率. 3.将图像每16*16(取其他也可以)个像素分到一个cell中.对于256 ...
- Opencv学习之路—Opencv下基于HOG特征的KNN算法分类训练
在计算机视觉研究当中,HOG算法和LBP算法算是基础算法,但是却十分重要.后期很多图像特征提取的算法都是基于HOG和LBP,所以了解和掌握HOG,是学习计算机视觉的前提和基础. HOG算法的原理很多资 ...
- 特征提取算法(2)——HOG特征提取算法
histogram of oriented gradient(方向梯度直方图)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.H ...
- paper 80 :目标检测的图像特征提取之(一)HOG特征
1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的 ...
- HOG 梯度方向直方图简介(转载)
一.基本HOG算法 HOG特征最早出现在SIFT算法中,由于其极强的图像特征描述能力,逐渐被人们熟知和广泛运用,其在目标检测方面表现尤为突出. HOG特征提取过程 步骤一:遍历图像每个像素点,以其为中 ...
- 图像特征提取之(一)HOG特征
1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的 ...
- 目标检測的图像特征提取之(一)HOG特征
1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检測的特征描写叙述子.它通过计算和统计图像局部区 ...
随机推荐
- mongodb中find $ne null 与$exists的区别
$ne null 会把空列表也算入,即使不存在. $exists 的识别效果就比较好 1.插入样例数据 db.nullexistsdemo.insertMany( [{ "name" ...
- [2019HDU多校第三场][HDU 6603][A. Azshara's deep sea]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6603 题目大意:给出一个凸包,凸包内有若干个圆,要求画尽可能多的对角线使得他们两两不在凸包内相交且不与 ...
- 002_UCOSIII任务创建于删除
(一)先创建一个启动任务来进行创建其它任务,创建任务的宏定义 #define START_TASK_PRIO 3 //任务优先级 #define START_STK_SIZE 128 //任务堆栈大小 ...
- 深入理解Java输入输出流
Java.io包的File类,File类用于目录和文件的创建.删除.遍历等操作,但不能用于文件的读写. Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流.如何理解流的概念呢?可以 ...
- confluence乱码问题
1.上传附件需要统一字体,以测试通过:宋体字.雅黑.黑体 2.系统已做编码优化,支持windows字体.如下: 点击查看 3.之前文件有乱码,请重新上传 4.编辑一个 Office 附件文档的要求 当 ...
- 《视觉SLAM十四讲》学习日志(二)——初识SLAM
小萝卜机器人的例子: 就像这种机器人,它的下面有一组轮子,脑袋上有相机(眼睛),为了让它能够探索一个房间,它需要知道: 1.我在哪——定位 2.周围环境怎么样——建图 定位和建图可以理解成感知的 &q ...
- cc.Sprite组件
1.精灵 精灵(Sprite)是Cocos系列的核心概念之一,是Cocos Creator最常用的显示图像的组件. 游戏中显示一个图片,我们就可以把这个叫做"精灵" sprite, ...
- Jmeter Web 性能测试入门 (一):环境配置 (免安装版)
去官网下载并安装java jdk8 去官网下载jmeter binaries最新的zip,并解压到某路径下.(注:由于jmeter-server的限制,放置的路径不要太长,路径不要带空格,例如:D:\ ...
- React的Virtual DOM厉害了
React 的伟大之处就在于,提出了Virtual DOM这种新颖的思路,并且这种思路衍生出了React Native,有可能会统一Web/Native开发. 在性能方面,由于用到了Virtual D ...
- idea内存不足或过大闪退
昨天在码云找了个开源后台项目https://gitee.com/shuzheng/zheng,各种修改后终于跑起来了, 运行没多久就提示内存不足,安装目录配置虚拟机最大可用内存为512M idea弹窗 ...