HOG特征-理解篇
2015-08-19 15:41
225 查看
本文转自:/article/1821006.html。
网上去找关于HOG的资料,发现理解性的较少,而且较为冗长,为方便大家理解便自己写了篇,希望能对奋斗在特征提取第一线的同志们有所帮助:
HOG即histogram of oriented gradient, 是用于目标检测的特征描述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于一致空间的密度矩阵来提高准确率。Navneet
Dalal and Bill Triggs首先在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个主分量,因此只适用于行为变化不大的物体检测。
关于sift的其他讲解:
/article/1820926.html
/article/1820998.html
/article/1821005.html
关于computer vision的更多讨论与交流,敬请关注本博客和新浪微博Sophia_qing。
网上去找关于HOG的资料,发现理解性的较少,而且较为冗长,为方便大家理解便自己写了篇,希望能对奋斗在特征提取第一线的同志们有所帮助:
HOG即histogram of oriented gradient, 是用于目标检测的特征描述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于一致空间的密度矩阵来提高准确率。Navneet
Dalal and Bill Triggs首先在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 |
/article/1820926.html
/article/1820998.html
/article/1821005.html
关于computer vision的更多讨论与交流,敬请关注本博客和新浪微博Sophia_qing。
相关文章推荐
- mysql学习笔记
- [Win32] DLL的开发和使用
- HDU 5318(The Goddess Of The Moon-矩阵乘法)[Template:矩阵]
- 系统测试策略
- Java 传统线程技术
- 【Android应用开发技术:应用组件】Android事件处理机制
- android http多请求异步封装对你绝对有用
- 第三方收集
- 学习如何避免10种最常见的C#误区
- 1.Swift初探
- 桌面支持--西门子程控交换机BLOCK和RELEASE
- ibatis中注意事项
- from linux kernel to kvm -- debug linux kernel by eclipse
- 采用元素的继承映射
- Android用RadioGroup控件实现Tab选项卡效果
- 第三方QQ、微博登陆
- 负数的二进制表示方法
- JVM内存概况与垃圾回收机制详解
- STL迭代器遍历中删除元素问题
- windows/Linux下动态库导出函数小结