行人检测之初相见

现状,大致分为两类:
(1)基于背景建模的方法
分割出前景,提取其中的运动目标。进一步提取特征,分类判别。
缺点:
1)在存在下雨、下雪、刮风、树叶晃动、灯光忽明忽暗等场合,该方法的鲁棒性不高,抗干扰能力较差。
2)且背景建模方法的模型过于复杂,对参数较为敏感。

(2)基于统计学习的方法
根据大量训练样本构建行人检测分类器。
1)提取的特征一般有目标的灰度、边缘、纹理、形状、梯度直方图等信息,
2)分类器包括神经网络、SVM,adaboost等

该方法存在难点:
(a)行人的姿态、服饰各不相同;

(b)提取的特征在特征空间中的分布不够紧凑;

(c)分类器的性能受训练样本的影响较大;

(d)离线训练时的负样本无法涵盖所有真实应用场景的情况;

HOG算子
梯度直方图特征(HOG)
Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。
HOG特征是一种局部区域描述符,它通过计算局部区域上的梯度方向直方图来构成人体特征,
能够很好地描述人体的边缘。它对光照变化和小量的偏移不敏感。

行人检测HOG+SVM,总体思路:
1)提取正负样本hog特征
2)投入svm分类器训练,得到model
3)由model生成检测子
4)利用检测子检测负样本,得到hardexample
5)提取hardexample的hog特征并结合第一步中的特征一起投入训练,得到最终检测子。

为什么opencv自带的hog检测子是3781维的?
opencv里的HOGDescriptor这个结构的构造函数HOGDescriptor(Size winSize,Size blocksize,Size blockStride,Size cellSize,…),
opencv默认的参数winSize(64,128),blockSize(16,16),blockStride(8,8),cellSize(8,8),
很显然hog是将一个特征窗口win划分为很多的块block,在每一个块里又划分为很多的细胞单元cell(即胞元),hog特征向量既是把这些所有的cell对应的小特征串起来得到一个高维的特征向量
窗口中块的数目是((64-16)/8+1)((128-16)/8+1) = 715 =105个块,
块大小为16x16,胞元大小为8x8,
那么一个块中的胞元cell数目是 (16/8)*(16/8) =4个胞元
每一个胞元对应的向量就是9维,每个bin对应该9维向量的一个数
n= 105x4x9 = 3780
我们利用hog+svm检测行人,最终的检测方法是最基本的线性判别函数,wx + b = 0,刚才所求的3780维向量其实就是w,而加了一维的b就形成了opencv默认的3781维检测算子,

而检测分为train和test两部分,
在train期间我们需要提取一些列训练样本的hog特征使用svm训练最终的目的是为了得到我们检测的w以及b,在test期间提取待检测目标的hog特征x

HOG特征只关注物体的边缘和形状信息,对目标的表观信息并没有有效记录,所以很难处理遮挡问题,而且由于梯度的性质,该特征对噪点敏感。
行人检测中的一大难题是遮挡问题,为了解决这一问题,出现了采用部件检测的方法,把人体分为头肩,躯干,四肢等部分,对这些部分分别进行检测,然后将结果组合起来,使用的典型特征依然是HOG,采用的分类器有SVM和AdaBoost

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值