博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HOG特征-理解篇
阅读量:4322 次
发布时间:2019-06-06

本文共 1374 字,大约阅读时间需要 4 分钟。

网上去找关于HOG的资料,发现理解性的较少,并且较为冗长,为方便大家理解便自己写了篇,希望能对奋斗在特征提取第一线的同志们有所帮助:

HOG即histogram of oriented gradient, 是用于目标检測的特征描写叙述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于一致空间的密度矩阵来提高准确率。 and 首先在05年的CVPR中提出HOG,用于静态图像or视频的行人检測。

HOG特征原理:

HOG的核心思想是所检測的局部物体外形可以被光强梯度或边缘方向的分布所描写叙述。通过将整幅图像切割成小的连接区域(称为cells),每一个cell生成一个方向梯度直方图或者cell中pixel的边缘方向,这些直方图的组合可表示出(所检測目标的目标)描写叙述子。为改善准确率,局部直方图可以通过计算图像中一个较大区域(称为block)的光强作为measure被对照标准化,然后用这个值(measure)归一化这个block中的全部cells.这个归一化过程完毕了更好的照耀/阴影不变性。

与其它描写叙述子相比,HOG得到的描写叙述子保持了几何和光学转化不变性(除非物体方向改变)。因此HOG描写叙述子尤其适合人的检測。

通俗的讲:

HOG特征提取方法就是将一个image:

1.            灰度化(将图像看做一个x,y,z(灰度)的三维图像)

2.            划分成小cells(2*2)

3.            计算每一个cell中每一个pixel的gradient(即orientation)

4.            统计每一个cell的梯度直方图(不同梯度的个数),就可以形成每一个cell的descriptor

再小谈下Hog、SIFT与PCA-SIFT的应用与差别:

Hog没有旋转和尺度不变性,因此计算量小;而SIFT中每一个feature须要用128维的向量来描写叙述,因此计算量相对非常大。

那么行人检測中怎么应用HOG呢?

对于解决Scale-invariant 的问题:将图片进行不同尺度的缩放,就相当于对模板进行不同尺度scale的缩放

对于解决Rotation-invariant 的问题:建立不同方向的模版(一般取15*7的)进行匹配

总的来说,就是在不同尺度上的图像进行不同方向的模板(15*7)匹配,每一个点形成一个8方向的梯度描写叙述。

SIFT因为其庞大计算量不用与行人检測,而PCA-SIFT的方法过滤掉非常多维度的信息,仅仅保留20个主分量,因此仅仅适用于行为变化不大的物体检測。

method

Time

Scale

Rotation

Blur

Illumination

Affine

Sift

common

best

best

common

common

good

PCA-sift

good

good

good

best

good

best

Surf 

best

common

common

good

best

good

关于sift的其它解说:

关于computer vision的很多其它讨论与交流,敬请关注本博客和新浪微博

转载于:https://www.cnblogs.com/blfshiye/p/4292007.html

你可能感兴趣的文章
Php5.3的lambda函数以及closure(闭包)
查看>>
inotify监测实例
查看>>
C#程序如何把窗体文件从从一个项目中复制到另一个项目
查看>>
Android金背大刀之ToggleButton之稍息立正
查看>>
使用Android OpenGL ES 2.0绘图之六:响应触摸事件
查看>>
Swift之?和!
查看>>
php单元测试到底是什么东西呢?
查看>>
QWidget标题栏双击事件
查看>>
解决IE浏览器li下list-style-type…
查看>>
我们过去几年做对了哪些事
查看>>
ubuntu 16.04LTS
查看>>
javascript深入理解js闭包
查看>>
Oracle的安装
查看>>
Android Socket连接PC出错问题及解决
查看>>
Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
查看>>
第2天线性表链式存储
查看>>
python自动化测试-D11-学习笔记之一(yaml文件,ddt)
查看>>
mysql存储过程使用游标循环插入数据
查看>>
Ubuntu 12.04 添加新用户并启用root登录
查看>>
初涉MySQL
查看>>