HOG算法 行人检测

HOGHistogram of Oriented Gridients是2005年提出描述行人特征的算法,在当年取得了突破性的进展,处理在行人检测领域,在其他识别方面HOG也取得了不错的效果。HOG通过计算和统计图像局部区域的梯度方向直方图来形成描述特征

1.思想

在一张图像中,人与外界存在一个边缘,通过梯度的方向和大小就可以对边缘进行描述,进而对待检测物体进行特征描述
2.HOG算法步骤
(1)首先将图像转换为灰度图像

  (2)为了克服光照不均等情况,对图像进行r变换,调节图像的对比度

(3)计算图像的梯度

x和y方向的梯度公式是:


最常用的方法是:首先用[-1,0,1]梯度算子对原图像做卷积运算,得到x方向(水平方向,以向右为正方向)的梯度分量gradscalx,然后用[1,0,-1]T梯度算子对原图像做卷积运算,得到y方向(竖直方向,以向上为正方向)的梯度分量gradscaly。作者也比较了其他的模板,但是效果不好,最后作者认为,越是简单的模板,效果越好。

计算梯度幅值和大小


(4)作者对检测图像进行了3层的划分,首先规定了cell(8pix*8pix),  block(2cell*2cell)    一张128*64图像的图像一共可以形成105个block(这部分稍后再讲),HOG对图片的划分顺序为:像素--->cell---->block----->图像,首先来看一下一个cell是如何对梯度特征进行直方图描述的

在第三步中我们已经完成了对梯度幅值和方向的计算,现在需要设计一个收集器(bin)来对幅值和方向进行统计,


这个统计范围是以cell为单位的,我们将360度的梯度方向划分为9个方向,bin就是来统计cell中这9个梯度方向出现的不同频次。比如像素在0—20度范围内,在对应的bin单元+1(这一步类似我们选举班委成员投票一样,出现一次在黑板上该名字下面的正子就多写一笔)。梯度的幅值相当于加权,就是用来说明像素的这个方向所占的权重,幅值越大则改像素的梯度方向所占的权重越大(这就像选举班委成员投票中,老师一票顶两票一样),也就是说幅值越大,话语权就越大。统计完一个cell内的梯度幅值和方向后既完成了一个bin的收集。


(5)HOG中一个block有四个(2*2)cell组成,一个cell有9维的bin,那么,一个block=4*9=36维特征。对着36维特征进行归一化操作。

(6)一张图像有多少个block呢,假设图像大小128*64,步长为8,block是在图像上以一定的步长滑动来进行提取的,block大小是16*16像素=2*2cell,

那么以步长为8像素进行滑动可以产生((64-16)/8+1)*((128-16)/8+1) = 7*15 =105个block。

(7)一张图像有多少维呢?105个block,一个block有4个cell,一个cell有9维特征,总特征维度=105*4*9=3780维。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值