2013-03-20 52 views
1

我尝试使用haar训练来训练级联。我使用了以下参数。Haartraining opencv

C:\opencv\opencv_bin\bin>opencv_haartraining -data haar -vec train.vec -bg neg. 
txt -numPos 1000 -numNeg 2000 -nstages 10 -mem 2000 -mode all -w 30 -h 32 

,但我发现了以下错误

Data dir name: haar 
Vec file name: train.vec 
BG file name: neg.txt, is a vecfile: no 
Num pos: 2000 
Num neg: 2000 
Num stages: 10 
Num splits: 1 (stump as weak classifier) 
Mem: 2000 MB 
Symmetric: TRUE 
Min hit rate: 0.995000 
Max false alarm rate: 0.500000 
Weight trimming: 0.950000 
Equal weights: FALSE 
Mode: BASIC 
Width: 30 
Height: 32 
Applied boosting algorithm: GAB 
Error (valid only for Discrete and Real AdaBoost): misclass 
Max number of splits in tree cascade: 0 
Min number of positive samples per cluster: 500 
Required leaf false alarm rate: 0.000976563 

Tree Classifier 
Stage 
+---+ 
| 0| 
+---+ 


Number of features used : 234720 

Parent node: NULL 

*** 1 cluster *** 
OpenCV Error: Unspecified error (Vec file sample size mismatch) in icvGetHaarTra 
iningDataFromVec, file C:\Downloads\Software\OpenCV-2.2.0-win\OpenCV-2.2.0\modul 
es\haartraining\cvhaartraining.cpp, line 1929 
terminate called after throwing an instance of 'cv::Exception' 
    what(): C:\Downloads\Software\OpenCV-2.2.0-win\OpenCV-2.2.0\modules\haartrain 
ing\cvhaartraining.cpp:1929: error: (-2) Vec file sample size mismatch in functi 
on icvGetHaarTrainingDataFromVec 


This application has requested the Runtime to terminate it in an unusual way. 
Please contact the application's support team for more information. 

C:\opencv\opencv_bin\bin>cmd |as.txt 
'as.txt' is not recognized as an internal or external command, 
operable program or batch file. 

我使用有1000个样本,我从互联网上下载,并有2000阴性样品A VEC文件。

+0

“我是使用具有1000个样本,我从互联网上下载A VEC文件”任何机会,东西被破坏? (如例如一个txt /二进制截断) – berak 2013-03-20 14:29:17

+0

当我试图用opencv_createsampe查看它正在工作... – Tysro 2013-03-20 14:33:31

回答

0

“Vec文件样本大小不匹配” - 尝试检查网站的样本大小。 vec文件可能不是30x32图像的文件(您尝试将其作为-w 30 -h 32传递)。

这只是一个猜测。尝试一下。并尝试使用traincascade对象。它在$ OpencvDir $/apps/traincascade /中。像编译任何其他对象一样编译它。它也可以用于LBP和HOG。

希望这会有所帮助。

问候, 人员Prasanna小号