opencv的级联分类器(mac)

级联分类器的介绍:级联分类器训练html

由于要训练负样本,windows电脑有些问题,因此就只能有mac进行训练。windows

在windows中训练,准备了负样本以后,进行三步。ide

1.opencv_createsamples 也能够用来查看和检查保存于vec正样本文件中的正样本ui

2.opencv_traincascade 和 opencv_haartraining 均可用来训练一个级联分类器spa

命令中的参数在xml

当 opencv_traincascade 程序训练结束之后,训练好的级联分类器将存储于文件cascade.xml中,这个文件位于 -data 指定的目录中。这个目录中的其余文件是训练的中间结果,当训练程序被中断后,再从新运行训练程序将读入以前的训练结果,而不需从头从新训练。训练结束后,你能够删除这些中间文件。htm

在mac中,安装opencv以后就能够进行训练了blog

在mac中训练分为两步图片

1.制做正样本get

2.级联分类器训练

step 1 :/anaconda2/bin/opencv_createsamples -info positive/info.txt -vec vector/vector.vec -num 300 -w 20 -h 20

 

step 2 :/anaconda2/bin/opencv_traincascade -data cascades -vec vector/vector.vec -bg negative/info.txt -numPos 300 -numNeg 688 -numStages 15 -w 20 -h 20 -minHitRate 0.9999 -maxFalseAlarmRate 0.5 -mem 2048 -mode ALL

结果在cascade.xml文件即为最终的训练结果,便可拿来进行目标检测。

在训练的过程当中遇到以下的问题

===== TRAINING 0-stage =====  
<BEGIN  
POS count : consumed   697 : 697  
Train dataset for temp stage can not be filled. Branch training terminated.  
Cascade classifier can't be trained. Check the used training parameters.  

 解决方法是负样本信息文件,是在negative文件夹下的info.txt ,文件中图片描述的路径不对,负样本文件中的每一行记录的图片名必须是从当前路径开始的。

训练的时候正样本是300张,负样本是697张。

相关文章
相关标签/搜索