方向梯度直方图中的梯度一般指的就是图像的梯度。在进行图像梯度的计算时,通常使用一阶微分的方法进行处理,主要是他对灰度阶梯图像有较强的响应,一阶微分的公式2-3:
(2-3)
对于灰度图像,由于是二维的所以存在2个方向的梯度,即x方向和y方向,这时候定义 , 为梯度向量的模值2-4和2-5:
(2-4)
(2-5)
根据Dalal在论文,文献[16]中指出,计算梯度时,选取[-1,0,1]作为模板可以取得最好的效果,此时梯度的水平和垂直计算公式演变为式2-6:
(2-6)
同时梯度值和梯度方向的计算表达式为公式2-7和公式2-8:
(2-7)
(2-8)
在有了梯度方向和梯度值得计算方法后,就可以来计算图像的HOG了,一般情况下会按照梯度的方向进行划分,同常划分为9块,即按照梯度方向计算出的角度,每20度为一个方向,超过180度则自动循环到0度上进行分类。源.自/751·论\文'网·www.751com.cn/
到这儿方向梯度直方图的基本原理和算法都介绍了,其中梯度指的就是目标区域中某一点的像素值和左右上下像素的一阶微分,方向就是指像素值在这两个方向上的倒数的反正切值,而直方图,就是一种统计方法,这里是根据角度的范围进行统计。通过对角度进行线性划分成相等的9分,来分类各个像素点所属区域。
2.3 方向梯度直方图的具体实现
对于2.2节所讲的算法实现,适用于小图像(10*10)大小左右,对于在正常的监控摄像头中进行识别肯定是不够的,这时,可以通过把图像划分成一小块一小块的来看待。这里的一小块被称为cell,建议的大小一般是(8*8),同时还有被叫做block的区域,这个区域一般用来包含一定量的cell,block区域的存在可以使得hog方法在人体检测的过程中提高大概4%的检测率,Dalal在他的论文中指出的。当然也可以不使用block块。
Block块和cell块的关系