Buna takılıyorum.OpenCV SVM trende istisna atıyor, "Kötü argüman (Sadece tek bir sınıf var)"
OpenCV özellik 2d çerçevesi aracılığıyla bazı nesne sınıflandırması yapmaya çalışıyorum, ancak SVM'yi eğitmekle ilgili sorunlara koşuyorum.
Kelime dağarcığı ayıklamak ve bunları BowKMeansTrainer kullanarak küme oluşturabiliyorum, ancak antrenöre eklemek için antrenman verilerinden özellikler çıkardıktan ve SVM.train yöntemini çalıştırdıktan sonra, aşağıdaki özel durumu elde ediyorum. Benim matris tiplerini sağlanması farklı eğitmenler kullanarak, sözlük boyutunu değiştirerek denedim
OpenCV Error: Bad argument (There is only a single class) in cvPreprocessCategoricalResponses, file /home/tbu/prog/OpenCV-2.4.2/modules/ml/src /inner_functions.cpp, line 729
terminate called after throwing an instance of 'cv::Exception'
what(): /home/tbuchy/prog/OpenCV-2.4.2/modules/ml/src/inner_functions.cpp:729: error: (-5) There is only a single class in function cvPreprocessCategoricalResponses
(hala benim yeteneği en iyi şekilde OpenCV için yeni) doğrudur.
Bu hatanın görüldüğü veya nasıl düzeltileceği konusunda herhangi bir fikriniz var mı?
Benim kod şöyle görünür:
hata dayanaraktrainingPaths = getFilePaths();
extractTrainingVocab(trainingPaths);
cout<<"Clustering..."<<endl;
Mat dictionary = bowTrainer.cluster();
bowDE.setVocabulary(dictionary);
Mat trainingData(0, dictionarySize, CV_32FC1);
Mat labels(0, 1, CV_32FC1);
extractBOWDescriptor(trainingPaths, trainingData, labels);
//making the classifier
CvSVM classifier;
CvSVMParams params;
params.svm_type = CvSVM::C_SVC;
params.kernel_type = CvSVM::LINEAR;
params.term_crit = cvTermCriteria(CV_TERMCRIT_ITER, 100, 1e-6);
classifier.train(trainingData, labels, Mat(), Mat(), params);
'extractBOWDescriptor' tam olarak ne yapar? Ve 'trainingData' ve 'label'lerin boyutu nedir? – luhb
extractBOWDescriptor sadece bir dosya listesinden geçer, özellikleri bulur (SURF özellik detektörünü kullanarak), bu özellikleri ayıklar, onları eğitim Verileri'ne aktarır ve daha sonra bir girişi etiketlere aktarır. – tuck
eğitim verilerinin boyutu dictionary_size x 2 ve etiketler number_of_images x 2 – tuck