Сейчас я работаю над проектом по обнаружению человеческого тела. В проекте я хотел бы использовать HOG-дескриптор, который написан мной самостоятельно с использованием C ++, для извлечения признаков из изображений 400 положительных образцов и 1000 отрицательных образцов, которые получены из набора данных человека INRIA, и записи файла данных для записи векторов объектов. Формат моего файла данных выглядит следующим образом:
[метка класса] [индекс вектора объекта]: [значение вектора объекта] ….Например, если у нас есть вектор HOG, извлеченный из положительного образца [0 0 0 0 0,1994464 0,174701 ….], файл данных будет записан следующим образом:
+1 4: 0,194464 5: 0,174701 13: 0,163949 14: 0,159226 22: 0,321403 23: 0,298222 31: 0,260821
Есть ли ошибки в моем формате файла dat? Более того, размерность вектора признаков может быть довольно большой, длина которой может превышать 3000. Является ли это проблемой, и мне нужно уменьшить длину вектора с помощью анализа основных компонентов?
Затем я использую команду «svm_learn example1 / train.dat example1 / model», где «example1» — это папка, в которой хранится файл dat, а model — выходной файл команды. Тем не менее, нет выходных файлов, созданных из команды. Команда верна? Я прочитал руководство, и в нем упоминается, что команда «svm_learn [options] example_file model_file», какие опции мне следует ввести?
Большое спасибо!
Задача ещё не решена.
Других решений пока нет …