#opencv #histogram #svm #libsvm
#opencv #гистограмма #svm #libsvm
Вопрос:
Некоторые вопросы по использованию opencv CvSVM
-
Какой svm он использует? Использует ли он svmlight? В OpenCV2.2 есть svmlight, но я не могу найти много ссылок на него.
-
Если я использую CvSVM, нужно ли мне вручную создавать, скажем, 80% обучающих данных и 20% тестовых данных и выполнять повторную проверку в 5 раз, чтобы получить лучший результат?
-
Я делаю детектор с использованием HOG, и я внимательно слежу за образцом детектора пешеходов opencv в пакете. Мне нужно изучить классификатор для обнаружения других объектов, кроме пешеходов. Любые предложения будут оценены.
Спасибо!
Ответ №1:
-
Я почти уверен, что OpenCV 2.1 и 2.2 используют libsvm. Посмотрите на документацию OpenCV. И libSVM очень хорошо документирован
-
Да, вам нужно создать свои обучающие и тестовые данные. Однако CvSVM автоматически выполняет перекрестную проверку ваших обучающих данных, нет необходимости самостоятельно разделять обучающий набор. В функции
train_auto
посмотрите на параметр по умолчаниюint k_fold = 10,
-
HOG — довольно приличный детектор для любого объекта, который имеет жесткую структуру. Просто скачайте любую базу данных и запустите свой HOG-материал. Здесь вы можете найти множество баз данных. Или, для простоты, перейдите в Caltech 101, хороший с 101 классом. И если этого недостаточно, они сделали Caltech 256 =)
-
Редактировать : Если вы сказали, что хотите сделать что-то отличное от HOG, я предлагаю вам поработать над локальными исправлениями, такими как SIFT или SURF, которые оба находятся в OpenCV (Ссылка на features2d OpenCV