opencv训练 opencv_haartraining.exe

 
原文链接:http://www.cnblogs.com/wengzilin/p/3845271.html
	http://www.cnblogs.com/wengzilin/p/3849118.html
	http://blog.csdn.net/sgamble/article/details/52890637
 
 


-data 指定生成的文件目录, 
-vec vec文件名, 
-bg 负样本描述文件名称,也就是负样本的说明文件(.dat) 
-nstage 20 指定训练层数,推荐15~20,层数越高,耗时越长。
-nsplits 分裂子节点数目,选取默认值 2 
-minhitrate 最小命中率,即训练目标准确度。
-maxfalsealarm最大虚警(误检率),每一层训练到这个值小于0.5时训练结束,进入下一层训练,
-npos 在每个阶段用来训练的正样本数目,
-nneg每个阶段用来训练的负样本数目 这个值可以设置大于真正的负样本图像数目,程序可以自动从负样本图像中切割出和正样本大小一致的,这个参数一半设置为正样本数目的1~3倍 -w -h样本尺寸,与前面对应 -mem 程序可使用的内存,这个设置为256即可,实际运行时根本就不怎么耗内存,以MB为单位 -mode ALL指定haar特征的种类,BASIC仅仅使用垂直特征,ALL表示使用垂直以及45度旋转特征

-sym或者-nonsym,后面不用跟其他参数,用于指定目标对象是否垂直对称,若你的对象是垂直对称的,比如脸,则垂直对称有利于提高训练速度
其中要注意,负样本使用的是.dat文件,而不是.vec文件。

训练结束后会在data目录下生成0-N的子目录


参数解释:

  
  
BACKGROUNG PROCESSING TIME 是负样本切割时间,一般会占用很长的时间
N 为训练层数
%SMP 样本占总样本个数
ST.THR 阈值,
HR 击中率,
FA 虚警,只有当每一层训练的FA低于你的命令中声明的maxfalsealarm数值才会进入下一层训练
EXP.ERR 经验错误率

N:层数  %

SMP:样本的使用率 

F : +表示通过翻转,否则是-

ST.THR : 分类器的阈值 

HR:当前分类器 对正样本识别正确的概率

FA:当前分类器 对负样本识别错误的概率

EXP.ERR : 分类器的期望错误率

合并子分类器生成xml文件

输入命令:

1
haarconv.exe ./cascade haar_adaboost.xml 25 25

若你使用的是convert_cascade.exe则是另外一种格式:

1
convert_cascade.exe --size= "20x20"  ..\cascade haar_adaboost.xml

想知道用法可以输入xxx.exe  usage,用法以及参数说明一目了然

 

总结以及注意事项

看起来很简单是不是,你错了!真正做起来会有各种各样的错误发生让你措手不及。以下是我总结的问题及分析:

1)训练时间非常久,少则秒钟,多则几天甚至一礼拜。具体的时间跟你样本的选取、样本数量、机器的性能有着直接联系。举个例子,有人正样本7097负样本2830,在8核3.2Ghz的机器上,开启了多核并行加速(MP)的情况下训练了一周时间,跑到19层。链接http://blog.csdn.net/liulina603/article/details/8197889 。这个真心有点久了,有点夸张。举这个例子是想跟你说明,这是一件耗时间的事情,所以请你耐心等待。

2)卡死在某一层,好像进入死循环。这种情况一般跟样本的选择有关,尤其是负样本。当剩下所有的negtive样本在临时的cascade Classifier中evaluate的结果都是0(也就是拒绝了),随机取样本的数目到几百万都是找不到误检测的neg样本了,因而没法跳出循环!

解决方法是,增大负样本数目,增大负样本之间的变化!

3)训练带某一层出错,报错提示下图。查看cascade目录下发现确实走到第5层。这种情况跟上一种情况其实有点类似,都是opencv_haartraining.exe无法正常terminate。而我们的关注点在于,所生成的这些子分类器能用吗?要依实际情况而定。拿下图来说,在第5层的时候FA已经很低了,0.125000,说明效果已经够用。2)中也是这个道理。

附上参考资料,看这些就够,网上资料太多容易让人看花眼!

http://blog.csdn.net/think_embed/article/details/9959569

http://www.docin.com/p-80649093.html

http://jingyan.baidu.com/article/4dc40848f50689c8d946f197.html

http://blog.csdn.net/carson2005/article/details/8171571

 

objectMarker下载链接【20151218更新】

http://download.csdn.net/download/lglgaigogo/1197957

http://blog.csdn.net/xidianzhimeng/article/details/10470839 
http://blog.csdn.net/xidianzhimeng/article/details/42147601 
http://www.cnblogs.com/chensheng-zhou/p/5542887.html 
http://blog.sina.com.cn/s/blog_5f853eb10100sdgn.html 
http://blog.csdn.net/ding977921830/article/details/46723027 
http://blog.csdn.net/u011583927/article/details/44892249

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值