BOW modeli ve SVM kullanarak bir görüntü sınıflandırması projesi geliştiriyorum. SVM'lerin tahmin olasılığını bulmak istiyorum ancak opencv svm'de böyle bir işlev yok. Bunu yapmanın bir yolu var mı? N sınıfı SVM'de tahmin olasılığını öğrenmek istiyorum.OPencv SVM tahmin olasılığı
cevap
Hayır, bunu CvSVM ile yapamazsınız. OpenCV'nin SVM uygulaması, libsvm'nin çok eski bir versiyonuna dayanmaktadır. En son libsvm sürümünü indirin ve bunun yerine kullanın. Elbette veri formatlarını dönüştürmek için bir sarıcı yazmanız gerekecek. Bkz. http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Bir karışıklık matrisi oluşturmayı deneyebilirsiniz, bu, her bir görüntünün sınıfların herhangi birine ait olma olasılığını anlatmalıdır. durumunda bunu yapmak için olsun, böylece
map<string,map<string,int> > confusion_matrix; // confusionMatrix[classA][classB] = number_of_times_A_voted_for_B;
map<string,CvSVM> classes_classifiers; //This we created earlier
vector<string> files; //load up with images
vector<string> classes; //load up with the respective classes
for(..loop over a directory?..) {
Mat img = imread(files[i]),resposne_hist;
vector<KeyPoint> keypoints;
detector->detect(img,keypoints);
bowide->compute(img, keypoints, response_hist);
float minf = FLT_MAX; string minclass;
for (map<string,CvSVM>::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) {
float res = (*it).second.predict(response_hist,true);
if (res < minf) {
minf = res;
minclass = (*it).first;
}
}
confusion_matrix[minclass][classes[i]]++;
}
Ben henüz test etmedi: Confusion Matrix
Ve işte eksik olsa bu size bazı fikirler verebilir buldum pasaj olmasını a-simple-object-classifier-with-bag-of-words
Kabul etmem. Karışıklık Matrisi olasılığı, zemin gerçekliği göz önüne alındığında sık sık uygulanan bir yaklaşımdır. Karışıklık matrisi, görünmeyen bir görüntü için işe yaramaz. –
- 1. Tren ve SVM teorisini
- 2. OpenCv 3.0.0
- 3. Python - modelleme olasılığı
- 4. Swift'de ARC taşması olasılığı?
- 5. OpenCV
- 6. Basit tahmin
- 7. Paralel tahmin
- 8. Scikit Learn SVM kullanarak metin sınıflandırması için veri hazırlayın SVM
- 9. SFS (Sıralı özellik seçimi), "çoklu sınıf" SVM ile hesaplanır SVM?
- 10. Sklearn - svm ağırlıklı özellikler
- 11. jQuery .data(): arttırma olasılığı (++ veya -)?
- 12. SVM için özel çekirdekler, ne zaman uygulanacak?
- 13. OpenCV SVM trende istisna atıyor, "Kötü argüman (Sadece tek bir sınıf var)"
- 14. Büyük miktarda veri için SVM tahmini
- 15. e1071 R paketindeki SVM denklemleri?
- 16. Encog'da Çok Noktalı SVM Sınıflandırması
- 17. scikit-learn'de ölçekleme verileri SVM
- 18. 'tahmin' işlevinin tersi
- 19. Java için Tahmin Oyunu
- 20. MATLAB: Tahmin veri uyumu
- 21. libsvm yöntem karışıklığı tahmin
- 22. rando tahmin oyun python
- 23. Tricky Query: Tahmin Tarihi
- 24. Opencv
- 25. OpenCV
- 26. OpenCV
- 27. OpenCV
- 28. OpenCV
- 29. OpenCV
- 30. opencv
Alternatif olarak, karar olasılıklarını elde etmek sonrası bir işlem adımı olarak kendinizi değerleri üzerinde Platt ölçekleme uygulayabileceği: iş ben buradan iletişim kurduğu :)
kaynağını takdir ediyorum. –
Bu, Nisan 2015'e göre hala tercih edilen yaklaşım mı? – Poyan