3

組み込みの Matlab 関数 " trainCascadeObjectDetector "でカスケード分類器をトレーニングしようとしていますが、この関数を呼び出すと常に次のエラー メッセージが表示されます。

trainCascadeObjectDetector('MCsDetector.xml',positiveInstances(1:5000,:),'./negativeSubFolder/',...
'FalseAlarmRate',0.01,'NumCascadeStages',5, 'FeatureType', 'LBP');

Automatically setting ObjectTrainingSize to [ 32, 32 ]
Using at most 980 of 1000 positive samples per stage
Using at most 1960 negative samples per stage

265 ocvTrainCascade(filenameParams, trainerParams, cascadeParams, boostParams, ...
Training stage 1 of 5
[....................................................Time to train stage 1: 12 seconds

Error using ocvTrainCascade
Error in generating samples for training. No samples could be generated for training the first cascade stage.

Error in trainCascadeObjectDetector (line 265)
ocvTrainCascade(filenameParams, trainerParams, cascadeParams, boostParams, ...

サンプル数はポジティブ画像5000枚、ネガティブ画像11000枚。Matlab のバージョンは、Ubuntu 12.04 で実行されている 2014a です。

エラー メッセージは次のとおりであるため、さらにトレーニング データを増やす必要があるかどうかはわかりません。

トレーニング用のサンプルの生成中にエラーが発生しました。最初のカスケード ステージをトレーニングするためのサンプルを生成できませんでした。

これを見ていただけますか?ありがとう!

4

1 に答える 1

1

まず、のデータ型はpositiveInstances何ですか?これは、 と の 2 つのフィールドを持つ構造体の 1D 配列である必要がimageFileNameありobjectBoundingBoxesます。positiveInstances(1:5000,:)2D マトリックスとして扱っているため、少し疑わしく見えます。

2 番目に確認することは、negativeSubFolder. ステージごとに 1960 のネガティブ サンプルを生成できるようにするには、目的のオブジェクトを含まない多くの画像を含める必要があります。

今後の参考のために、MATLAB ドキュメンテーションにチュートリアルがあります。

于 2015-03-20T13:48:46.617 に答える