梯度方向直方图HOG(Histogram of Gradient)特征总结

   整理一下我个人觉得比较好的HOG博文

博文1:OpenCV HOGDescriptor: 参数与图解

http://blog.csdn.net/raodotcong/article/details/6239431

博文2:opencv源码解析:各个参数讲解

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

博文3:hog特征可视化matlab 与 C++

http://blog.csdn.net/u011285477/article/details/50974230

博文4:hog汇总

http://www.lxway.com/122812.html

博文5:HOG:从理论到OpenCV实践

http://blog.csdn.net/zhazhiqiang/article/details/21047207

参考资料: 
HOG的经典论文:Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005, 1: 886-893.(2016:Google Citation: 14046) 
下载链接:https://hal.inria.fr/file/index/docid/548512/filename/hog_cvpr2005.pdf 
较为详细的博士论文:Dalal N. Finding people in images and videos[D]. Institut National Polytechnique de Grenoble-INPG, 2006.(Google Citation: 337) 
下载链接:https://tel.archives-ouvertes.fr/tel-00390303/document

采用级联结构对HOG检测进行加速:Zhu Q, Yeh M C, Cheng K T, et al. Fast human detection using a cascade of histograms of oriented gradients[C]//Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on. IEEE, 2006, 2: 1491-1498.(Google Citation: 1270)

关于HOG特征的三线性插值论文: 
[Wang, 2009] X. Wang, X. Han, and S. Yan. A HOG-LBP human de­tec­tor with par­tial oc­clu­sion han­dling [A]. In Proc. of ICCV[C], 2009.(Google Citation: 965) 
[Pang, 2011] Y. Pang, Y. Yuan, X. Li, et al. Efficient HOG human detection [J]. Signal Processing, 2011, 91: 773-781.(Google Citation: 105)

比较好的博文: 
http://blog.sina.com.cn/s/blog_60e6e3d50101bkpn.html 
http://blog.csdn.net/icvpr/article/details/8454527 
对经典文章的翻译:http://blog.csdn.net/masibuaa/article/details/14056807 
从理论到OpenCV实现:http://blog.csdn.net/zhazhiqiang/article/details/21047207

行人数据集:INRIA Person dataset 
Download:http://pascal.inrialpes.fr/data/human/ 
INRIA Person dataset

概述

CVPR2005这篇文章中,HOG是用来做行人检测的。作者研究了行人检测的特征集问题,局部归一化的HOG描述子相比于现存的特征集(包括小波)有更好的表现。相比于边缘方向直方图(Edge Orientation Histograms)、SIFT描述子、形状上下文(Shape Contexts),HOG是在网格密集的大小统一的细胞单元(dense grid of uniformly spaced cells)上进行计算,而且为了提高性能,还采用了重叠的局部对比度归一化(overlapping local contrast normalizations)。作者用行人检测(行人是大部分可见的并且基本上是直立的)进行测试,为了保证速度和简洁性,使用线性SVM作为分类器。

作者在文中提到他们的非正式实验表明,即使截止到05年最好的基于特征点的方法,在行人检测方面比本论文的方法的错检率也要高上至少1-2个数量级,主要是因为这些基于特征点的检测器不能可靠地检测行人结构。HOG有个优点,提取的边缘和梯度特征能很好的抓住局部形状的特点,且因是对图像做了Gamma校正和采用cell方式进行梯度方向量化,在局部进行提取,所以对几何和光学变化都有很好的不变性,变换或旋转对于足够小的区域影响很小。对于行人检测,在粗糙空域采样(coarse spatial sampling)、精细方向采样(fine orientation sampling)和强局部灰度归一化(strong local photometric normalization)这些条件下,只要行人大体上能够保持直立的姿势,就容许有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。综上,HOG特征很适合于做图像中的人体检测。

1 Overview of the Method

An overview of our feature extraction and object detection chain
HOG方法是基于对稠密网格中归一化的局部方向梯度直方图的计算。此方法的基本观点是:局部目标的外表和形状可以被局部梯度或边缘方向的分布很好的描述,即使我们不知道对应的梯度和边缘的位置。在实际操作中,将图像分为小的元胞(cells),在每个元胞内累加计算出一维的梯度方向(或边缘方向)直方图。为了对光照和阴影有更好的不变性,需要对直方图进行对比度归一化,这可以通过将元胞组成更大的块(blocks)并归一化块内的所有元胞来实现。归一化的块描述符就叫作HOG描述子。将检测窗口中的所有块的HOG描述子组合起来就形成了最终的特征向量,然后使用SVM分类器进行行人检测。如上图描述了特征提取和目标检测流程。检测窗口划分为重叠的块,对这些块计算HOG描述子,形成的特征向量放到线性SVM中进行目标/非目标的二分类。检测窗口在整个图像的所有位置和尺度上进行扫描,并对输出的金字塔进行非极大值抑制来检测目标。

2 Gamma/Colour Normalization

标准化gamma空间和颜色空间。为了减少光照因素的影响,首先需要将整个图像进行规范化(归一化)。在图像的纹理强度中,局部的表层曝光贡献的比重较大,所以,这种压缩处理能够有效地降低图像局部的阴影和光照变化。 

f
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
方向梯度直方图Histogram of Oriented Gradients,HOG)是一种常用的图像特征提取方法,在物体检测和识别中广泛应用。下面我将简单介绍如何使用MATLAB进行HOG特征提取。 首先,我们需要加载图像,并将其转换为灰度图。使用MATLAB的imread函数读取图像,并将其转换为灰度图像,可以使用rgb2gray函数实现。 然后,我们使用MATLAB的gradient函数计算图像的水平梯度和垂直梯度。这可以通过以下代码实现: [dx, dy] = gradient(image_gray); 接下来,我们可以计算每个像素点的梯度幅值和梯度方向。可以使用以下代码实现: grad_magnitude = sqrt(dx.^2 + dy.^2); grad_direction = atan2(dy, dx); 然后,我们需要将图像划分为小的区域(Cell)。每个Cell中包含多个像素点。例如,可以将图像划分为16x16像素的Cell,可以使用MATLAB的mat2cell函数实现。 接下来,我们需要计算每个Cell中的梯度方向直方图。我们将梯度方向划分为多个方向的bins(例如8个bins),然后使用MATLAB的histcounts函数计算每个bin中梯度方向的数量。 最后,我们需要将所有Cell中的梯度方向直方图连接起来,形成最终的特征向量。可以使用MATLAB的reshape函数将所有直方图连接起来。 综上所述,通过上述步骤,我们可以使用MATLAB实现方向梯度直方图特征提取。特征提取后的HOG向量可以用于物体检测和识别任务,例如使用支持向量机进行分类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值