2017-02-20 91 views
0

У меня есть 5 классов в учебном наборе, где каждый класс имеет 100 обучающих изображений. Я создал 5 классов в тестовой папке. Теперь каждое тестовое изображение будет сравниваться с учебными классами и на основе его близости к одному из классов обучения он будет помечен для соответствующего тестового класса. Я хочу знать, выполняю ли я правильные шаги в SVM-классификаторе?SVM-классификатор и тестовые изображения

+0

Точнее. Я не понимаю вопроса. Возможно, вы спрашиваете, как делать мультиклассическое обучение с помощью SVM, но, возможно, нет. Если это так, проверьте условия OneVsRest и OneVsOne в многоклассовом обучении. – sascha

+0

начните с примеров SVM от opencv, замените их вашими данными. Посмотрите, какие результаты вы получаете и продолжаете оттуда (http://docs.opencv.org/2.4/doc/tutorials/ml/non_linear_svms/non_linear_svms.html) –

ответ

1

Так в основном вы иметь следующую структуру:

поезд

|-- class1 
| |-- 1.pgm 
| |-- ... 
| |-- 100.pgm 
|-- class2 
| |-- 1.pgm 
| |-- ... 
| |-- 100.pgm 
... 
|-- class5 
| |-- 1.pgm 
| |-- ... 
| |-- 100.pgm 

тест

|-- class1 
| |-- 1.pgm 
| |-- ... 
| |-- n.pgm 

|-- class5 
| |-- 1.pgm 
| |-- ... 
| |-- n.pgm 

Следующий шаг, чтобы извлечь дескриптор из поезда изображений. Используя извлеченные функции, вы генерируете (обучаете) классификационную модель. В конце вы используете один и тот же метод кодирования для извлечения функций из тестовых изображений, а затем используйте подготовленную модель для прогнозирования.

+0

спасибо Liviu Stefan. Итак, нужно ли сначала классифицировать все тестовые данные вручную в разные классы, например, в наборе данных обучения? И должен ли каждый тестовый класс иметь такое же количество изображений и этот номер может отличаться от количества изображений в учебном классе? Тогда какова роль классификатора SVM? – wannabegeek

+0

Нет, вам не нужно классифицировать все тестовые данные вручную в разных классах. Также классы тестов могут иметь любое количество изображений. Вы используете SVM для обучения базовой модели классификации на изображениях поездов, которые вы будете использовать для прогнозирования тестовых изображений. –

+0

Я подытоживаю, что я делаю. Прокомментируйте, пожалуйста. У меня 5 классов с ярлыками «chat», «bike», «night», «eat», «office». Каждый класс имеет 100 изображений. У меня есть одна папка «test_data» со 100 случайными изображениями. У меня есть vocab.mat, train_features (train_bag_of_sift.mat) и test_features (test_bag_of_sift.mat). Данные обучения обучаются функцией svmtrain. "scores = [score; (W '* test_image_feats' + B)]" дает оценки, а соответствующая категория индекса (index (max_score)) является прогнозируемой категорией. Чтобы найти точность, это будет сравниваться с основными значениями истины. – wannabegeek

 Смежные вопросы

  • Нет связанных вопросов^_^