一、参考:
1、 目标检测的图像特征提取之(一)HOG特征
http://blog.csdn.net/zouxy09/article/details/7929348
2、 https://www.zhihu.com/question/45833619 知乎
3、 待续
二、HOG介绍
1、 HOG(Histogram of Oriented Gradient)方向梯度直方图;
2、 HOG特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子;
3、 它通过计算和统计图像局部区域的梯度方向直方图来构成特征;
4、 Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。
5、 HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的;
三、HOG思路
1、 主要思想:
在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。
2、 具体的实现方法是:
首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。
3、 优点:
由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。因此HOG特征是特别适合于做图像中的人体检测的。
四、HOG特征提取算法的实现过程:
1、 将一个image(你要检测的目标或者扫描窗口)灰度化的三维图像;(因为颜色信息作用不大,通常先转化为灰度图)
2、 采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;
3、 计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。
4、 将图像划分成小cells(例如6*6像素/cell);
5、 统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor;
6、 将每几个cell组成一个block(例如3*3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。
7、 将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。
8、 整个过程如下图
五、HOG与SIFT特征对比
参考:https://www.zhihu.com/question/45833619
六、HOG特征的可视化:
参考:https://www.zhihu.com/question/30278584/answer/50701908
七、计算梯度图像
参考:https://zhuanlan.zhihu.com/p/33059421
我们计算水平和垂直方向的梯度,计算得到的gradient图如下:
原图:
计算得到的gradient图如下:
左边:x轴的梯度绝对值(凸显了垂直方向的线条)
中间:y轴的梯度绝对值 (凸显了水平方向的梯度)
右边:梯度幅值(凸显了像素值有剧烈变化的地方)
你可以发现直方图的主要方向捕捉了这个人的外形,特别是躯干和腿
八、待续