1

Haar トレーニングを使用してカスケードをトレーニングしようとしています。次のパラメーターを使用しました。

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 個のサンプルを含む vec ファイルを使用しており、2000 個のネガティブ サンプルがあります。

4

2 に答える 2

0

「Vec ファイルのサンプル サイズが一致しません」 - サイトでサンプルのサイズを確認してください。vec ファイルは、30x32 画像用のものではない可能性があります (これを -w 30 -h 32 として渡そうとしています)。

これは単なる推測です。それを試してみてください。そしてtraincascadeオブジェクトを使ってみてください。$OpencvDir$/apps/traincascade/ にあります。他のオブジェクトと同様にコンパイルします。LBPやHOGにも使えます。

お役に立てれば。

よろしく、 Prasanna S

于 2013-06-10T05:46:04.743 に答える