opencv Haartraining级联分类器 死循环
来源:互联网 发布:魏红元 注会 知乎 编辑:程序博客网 时间:2024/06/05 15:21
转自:http://blog.chinaunix.net/uid-7608308-id-2048365.html
最近在做人脸检测的Haartraining训练分类器,发现训练到最后误检率很低时分类器总是卡到某一层就不在继续进行,像是进入了死循环,程序代码与参数输入应该是没有任何问题的,所以我从网上找这方面的资料,最后在OpenCV的中文论坛看到一个帖,终于找到原因了。具体如下:
1、问题出现在取负样本的那个函数icvGetHaarTrainingDataFromBG中;
当剩下所有的negtive样本在临时的cascade Classifier中evaluate的结果都是0(也就是拒绝了),随机取样本的数目到几百万都是找不到误检测的neg样本了,因而没法跳出循环!
2、解决方法是,增大负样本数目,增大负样本之间的变化!
P.S. 因为负样本原则应该是无强大而且多样性越大越好,这在现实中是不可行的,所以我们采集的负样本一般无论从数量上还是多样性上都很难满足要求,所以出现上述问题就很正常了,不过此时的分类器已经完全额、可以使用,因为它的误检率已经很低,从实用性上时没有任何问题的。
另外,帖中还提到:
负样本不需要做成和正样本一样大小的,所以你搜集个几千张各种照片就够用了,比如网页素材库啊什么的,只要保证你的负样本里不包含检测目标就行了。另外训练的时候,负样本不要一下子都加进去,不够了再加,否则会在找负样本上耗费很多时间。
也就是说,训练的时候如果发现很慢了,就ctrl+c停下来,修改bg_data.list,提供新的bg图像。
呵呵,现在感觉Haartraining太工程化了,到最后有点重复操作,所以觉得没必要在很多问题上深究,会用就行了
- opencv Haartraining级联分类器 死循环
- opencv Haartraining级联分类器 死循环
- OpenCV源码分析(一)级联分类器haartraining
- openCV 级联分类器
- HaarTraining训练分类器
- opencv级联分类器训练
- OpenCV级联分类器训练
- opencv训练级联分类器
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 级联分类器训练(OpenCV教程)
- opencv之级联分类器训练opencv_haartraining
- 级联分类器训练(OpenCV教程)
- opencv之级联分类器训练opencv_traincascade
- opencv之级联分类器训练opencv_traincascade
- OpenCV级联分类器LBP特征
- 使用OpenCV训练级联分类器
- ASPNET
- The connection to adb is down, and a severe error has occured.
- HTML5学习参考资料整理
- 作为软件工程师,你必须知道的20个常识
- java中Collection 和 Collections、 ArrayList和Vector、HashMap和Hashtable的区别
- opencv Haartraining级联分类器 死循环
- hive查询优化总结
- [控件]NotificationManager提示通知(三)自定义通知
- 给图片设置圆角 使用CALayer
- Asterisk文件AMI接口
- Euler–Lagrange equation
- 孙鑫MFC笔记之十七--HOOK编程
- oracle在各种环境下扩展表空间
- C#中return语句使用简单介绍