天天看点

HOG+SVM行人检测

  1. 提取正负样本hog特征
  2. 投入SVM分类器训练,得到model
  3. 由model生成检测子
  4. 利用检测子检测负样本,得到hardexample
  5. 提取hardexample的hog特征并结合第一步的特征一起训练,得到最终检测子

hog:方向梯度直方图

hardexample

通俗的讲,支持向量机是在正负样本之间找出一个超平面,用以分类。在决定这个超平面时,这些样本点发挥的作用(或者说权重)并不一样大,有一些样本点起了关键作用,这就是“支持向量”,那其他的样本点就算是普通向量吧。hardexample是假正,也就是负样本被判定成了正例,也就是说在首次训练中它们没有发挥支持向量的作用,仅作为“正例”的普通样本对待了。这些样本点靠近首次SVM分类产生的超平面,它们容易被分错。从hardexample提取特征并再次训练,明确了hardexample的支持向量的作用,这将导致超平面的偏移,在后续的分类中纠正部分假正的错误。

(利用第一次训练的分类器在负样本原图(肯定没有人体)上进行行人检测时所有检测到的矩形框,这些矩形框区域很明显都是误报,把这些误报的矩形框保存为图片,加入到初始的负样本集合中,重新进行SVM的训练,可显著减少误报。)

继续阅读