方向梯度直方图(HOG)和颜色直方图的一些比較
近期在学习视频检索领域的镜头切割方面的知识,发现经常使用的方法是直方图的方法,所以才专门有时间来学习下。查看到这两种直方图的时候,感觉有点接近,好像又不同,放在这做个比較。大部分还是百科的内容,只是对基本理解还是够了.OK,開始正文~
首先,介绍下什么是直方图
在统计学中,直方图(英语:Histogram)是一种对数据分布情况的图形表示(数据分布如:如物体的色彩分布、物体边缘梯度模板,以及表示目标位置的概率分布。),是一种二维统计图表,它的两个坐标各自是统计样本和该样本相应的某个属性的度量。又称质量分布图。是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。
直方图与条形图的差别在于,直方图是用面积而非高度来表示数量。
归一化直方图:把直方图上每一个属性的计数除以全部属性的计数之和,就得到了归一化直方图。
然后,方向梯度直方图(HOG)
特点:在一个网格密集的大小统一的方格单元(dense grid of uniformly spacedcells)上计算,并且为了提高准确度使用了重叠的局部对照度归一化(overlapping local contrastnormalization)的方法。
核心思想:一幅图像中的物体的表象和形状能够被像素强度梯度或边缘的方向分布非常好地描写叙述。
实现方法:将图像分成小的叫做方格单元连通区域;然后採集方格单元中各像素点的梯度方向或边缘方向直方图;最后把这些直方图组合起来就能够构成特征描写叙述子。
长处:首先,因为HOG方法是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持非常好的不变性,这两种形变仅仅会出如今更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,仅仅要行人大体上能够保持直立的姿势,能够容许行人有一些细微的肢体动作,这些细微的动作能够被忽略而不影响检測效果。方向梯度直方图方法是特别适合于做图像中的行人检測的。
算法和实现:
1,计算梯度值。应用一个一维的离散的梯度模版分别应用在水平和垂直方向上去。能够使用例如以下的卷积核进行卷积:
[-1, 0, 1] and [-1, 0, 1]^T.
2,建立分块直方图。每一个块内的每一个像素对方向直方图进行投票。每一个块的形状能够是矩形或圆形的,方向直方图的方向取值能够是0-180度或者0-360度,这取决于梯度是否有符号。Dalal和Triggs发如今人的检測实验中,把方向分为9个通道效果最好。至于投票的权重,能够是梯度的幅度本身或者是它的函数。在实际測试中,梯度幅度本身通常产生最好的结果。
在Dalal和Triggs的人检測实验中,发现最优的单元块划分是3x3或6x6个像素,同一时候直方图是9通道。
最后,颜色直方图
颜色直方图(英语:ColorHistogram),指图像中颜色分布的图形表示。
颜色直方图它所描写叙述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置.
全局颜色直方图:反映的是图像中颜色的组成分布,即出现了哪些颜色以及各种颜色出现的概率
计算:
计算颜色直方图须要将颜色空间划分成若干个小的颜色区间,每一个小区间成为直方图的一个bin。这个过程称为颜色量化(color quantization)。然后,通过计算颜色落在每一个小区间内的像素数量能够得到颜色直方图。颜色量化有很多方法,比如向量量化、聚类方法或者神经网络方法。
——————————————————————————————————————————————————
经过上边仔细的比較,两者之间的差别还是非常明显的。
对于应用,就我眼下看过的,HOG大多作为一种形状描写叙述,而颜色直方图一般用于颜色特征。
方向梯度直方图(HOG)和颜色直方图的一些比較的更多相关文章
- Histogram of Oriented Gridients(HOG) 方向梯度直方图
Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉.模式识别领域很常用的一种描述图像局部纹理的特征.这个特征名字起的也很直白,就是说先计算图片某一区域中不同 ...
- 【翻译】HOG, Histogram of Oriented Gradients / 方向梯度直方图 介绍
本文翻译自 SATYA MALLICK 的 "Histogram of Oriented Gradients" 原文链接: https://www.learnopencv.com/ ...
- (转)matlab练习程序(HOG方向梯度直方图)
matlab练习程序(HOG方向梯度直方图)http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html HOG(Histogram o ...
- 特征描述子(feature descriptor) —— HOG(方向梯度直方图)
HOG(Histogram of Oriented Gradients),描述的是图像的局部特征,其命名也暗示了其计算方法,先计算图像中某一区域不同方向上梯度的值,然后累积计算频次,得到直方图,该直方 ...
- 【计算机视觉】Histogram of Oriented Gridients(HOG) 方向梯度直方图
Histogram of Oriented Gridients(HOG) 方向梯度直方图 Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉.模式识别领域很 ...
- HOG(方向梯度直方图)
结合这周看的论文,我对这周研究的Histogram of oriented gradients(HOG)谈谈自己的理解: HOG descriptors 是应用在计算机视觉和图像处理领域,用于目标检測 ...
- 【笔记】HOG (Histogram of Oriented Gradients, 方向梯度直方图)的开源实现
wiki上的介绍 OpenCV的实现 cv::HOGDescriptor Struct Reference opencv cv::HOGDescriptor 的调用例子 HOGDescriptor h ...
- (转)梯度方向直方图HOG(Histograms of Oriented Gradients )
HOG(Histograms of Oriented Gradients )梯度方向直方图 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视 ...
- 梯度直方图(HOG,Histogram of Gradient)
1.介绍 HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子,该 ...
随机推荐
- NSIS:使用WinVer.nsh头文件判断操作系统版本
原文 NSIS:使用WinVer.nsh头文件判断操作系统版本 AtLeastWin<version> 检测是否高于指定版本 IsWin<version> 检测指定版本(唯一限 ...
- Android 学习历程摘要(一)
初学Android,可能有些地方可能理解不正确,假设有朋友看到的话麻烦指正我一下,万分感谢. 1. 善用API DEMO,刚開始学习的人的需求基本在里面都能够满足,Eclipse导入API Demop ...
- JSF+EJB+JPA总体思路
前言: JSF+EJB+JPA 其实我并没有想象中的难,只是想做好,建立在正确的地方应用,真正的困难. 良好的技术,在错误的地方做应用,这是唯一能够被垃圾. 用. 重量级企业应用能够使用这个主要的3层 ...
- express: command not found.
npm install -g express 可是不行.全局模式不行. With the release of Express 4.0.0 it looks like you need to do s ...
- ubuntu 14.04 安装搜狗拼音输入法
原文:ubuntu 14.04 安装搜狗拼音输入法 ubuntu桌面系统下终于有了好用的拼音法-搜狗拼音输入法,欲在ubuntu 14.04下安装搜狗拼音输入法相当的简单. 先到搜狗拼音官网下载对应的 ...
- Git 常用命令手记 及 Github协同流程(转)
符号约定俗成:<xxx> 自定义内容xxx:[xxx] xxx为可选项:[<xxx>] 自定义内容xxx且为可选项. 说明/备注 命令 备注 保存更新 git add [-i] ...
- android开源系列:CircleImageView采用圆形控制它们的定义
1.定义自己的圆形控制github住址:https://github.com/hdodenhof/CircleImageView 基本的类: package de.hdodenhof.circleim ...
- Nyoj 星际之门(一)(Cayley定理)
描述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门,它利用虫洞技术,一条虫洞可以连通任意的两个星系,使人们不必再待待便可立刻到达目的地. 帝国 ...
- MVC 编程模型及其变种
MVC 编程模型及其变种 MVC全称是Model View Controller, 这是一个模型(model)-查看(view)-调节器(controller)缩写,这是通过通用的编程模型非.MVC当 ...
- Java数据结构系列——简单排序:泡、选择、直接进入
package SimpleSort; public class SimpleSort { /** * 冒泡排序:每次循环过程中.小的排在后面的数会像水中的 * 气泡一样慢慢往上冒,所以命名为冒泡排序 ...