0

opencvのhaartrainingを使うのはこれが初めてです。

練習用に、35 枚のポジ画像と 45 枚のネガ画像を使用しました。

でもデータからトレーニングしようとすると、 永遠に終わらず、

パラメータを極端に調整した場合でも。

(最小ヒット率 = 0.001、最大誤警報率 = 0.999

この極端な値のため、それほど時間はかからないと思います)

私の実験では何が間違っているのでしょうか?

これが私のコマンドとパラメーターです。

$opencv_haartraining -data Training -vec samples.vec -bg negatives.dat -nstages 2 -nsplits     2 -minhitrate 0.001 -maxfalsealarm 0.999 -npos 30 -nneg 40 -w 20 -h 20 -nonsym -mem 512 -mode      ALL -minpos 10

そして結果。

Data dir name: Training
Vec file name: samples.vec
BG  file name: negatives.dat, is a vecfile: no
Num pos: 30
Num neg: 40
Num stages: 2
Num splits: 2 (tree as weak classifier)
Mem: 512 MB
Symmetric: FALSE
Min hit rate: 0.001000
Max false alarm rate: 0.999000
Weight trimming: 0.950000
Equal weights: FALSE
Mode: ALL
Width: 20
Height: 20
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: 10
Required leaf false alarm rate: 0.998001
Stage 0 loaded
Stage 1 loaded
Stage 2 loaded
Stage 3 loaded
Stage 4 loaded

Tree Classifier
Stage
+---+---+---+---+---+
|  0|  1|  2|  3|  4|
+---+---+---+---+---+

   0---1---2---3---4

Number of features used : 125199

Parent node: 4

*** 1 cluster ***
POS: 30 32 0.937500
4

2 に答える 2

4

OpenCV_Haartraining を使用していると考えてよろしいですか?

その場合、これは非推奨のアプリであり、opencv_traincascades を使用する必要があります。

この意志

- A. Speed up the time taken to classify 
 - B. Have better support

Training Vs TrainCascadeおよびTrainCascade Wikiの詳細については、これらのリンクを参照してください 。

編集:

また、最小ヒット率と maxFalseAlarm 率を変更します。

0.4 や 0.95 のような値を使用することをお勧めします。

これの理由は、0.999 と 0.0001 に到達するまで永遠にかかるからです。

于 2013-04-17T07:01:20.727 に答える
2

これは正常です。このチュートリアルと私自身の経験を参照すると、通常、トレーニングには数日から 1 週間かかります。チュートリアルからの引用:

参考までに: トレーニング中は何日も待たなければならないため (おそらく 1 週間かかる可能性があります)、別のトレーニングを並行して行うことをお勧めします。私は通常、次のように実験しました。 1. 金曜日に haartraining を実行する 2. 完全に忘れる 3. 次の金曜日に結果を確認する 4. 別の haartraining (ループ) を実行する。

于 2013-04-17T06:57:18.967 に答える