您的位置:首页 > 其它

行人检测(haar+adaboost 与 hog+SVM)

2013-09-09 20:28 691 查看
    最近在做行人检测,而最流行,也是最老的两种方法就是haar+adaboost 与 hog+SVM。两种我都尝试了,效果并不如想象的好,所以要想有更好的效果,一是要有预处理,二是要有更大量的正负样本。

   下面现总结一下自己应用的 haar+Adaboost 进行的行人检测:

   我分别训练了两个分类器,训练数据库均来自NICTA(澳大利亚信息与通讯技术研究中心),用其中的2000张做证样本,5000多张做负样本(自己在网上找的)得到第一个分类器;后来因为对于侧身人体检测效果不好,我又从数据库中找到并裁剪了800张侧身正样本(真心费眼睛啊……),负样本同上,从而得到了第二个分类器。调整cvHaarDetectObjects()参数后得到的效果图如(1)(2)所示。

    而对于 HOG + SVM,因为要求图片较大,所以能找到的数据库只有MIT和INRIA的能用。所以正样本1511张,负样本5748张,得到的分类器效果如(3)所示。

  (1)first classifier(haar): (2)second classifier(haar):(3)third classifier(hog):

1.

   

  

    

 2.

        

       


3.

         

       


4.

         

 
     


5. 

        

 
     


6.

         

 
     


7.

         

 
     


8.

         

 
     


9.

         

 
     


10.

    

 
    


      如上图可见:

    第一个分类器对于正面身体检测效果较好,而对于侧身检测较弱,其中一个很重要的原因是我最开始训练的数据集并未经过筛选,所以导致效果一般;

    第二个分类器则对于侧身检测效果较好,原因是我精选了800多张侧身正样本,但还不全面,很明显如图8就无法检测出来;

    第三个分类器是用HOG特征制作的,不得不承认,hog特征的确十分适用于行人的检测,1511张正样本即可达到很高的hit rate.但随之而来的是其过高的false positive,不准确的检测框以及过长的时间。一直不明白为什么hog+svm总是有很多的false
positive,是因为SVM的原因?线性分类器的分类效果一般吧。有人懂吗?

    因此,为了达到更高的hit rate与更低的false positive,我将会用二者做一个级联分类器,从而投票决定搜索结果。当然在此之前,我需要更多的正样本去将每一个分类器训练的更精确,鲁棒性更强。但愿实验室给些支持呀…… 

    最后就是效率问题还是没能解决,hog实在是太费时间了,一张小图居然都要几秒,完全达不到实时性,看了一篇paper,说是其中一半的时间都用来resize和搜索框移动。嗯,接下来好好看paper,争取优化hog分类器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HOG+SVM Haar+Adaboos