idrua 8 Жалоба Опубликовано April 23, 2019 Перечитал много разных публикаций, но не нашел ответа на вопрос высоты/ширины (-w 20 -h 20). Значит ситуация следующая: картинки размеров 400 на 300, сам объект имеет размер 100 на 130. Во всех примерах размер объекта минимален. Что-то из серии 20 на 20 или 30 на 10. Собственно, вопрос. Я должен уменьшать свои картинки, чтобы объект принял нужные размеры? Или как? В одной публикации видел, что объекты еще больше чем у меня (300 на 300), а значения высоты и ширины в параметрах обучения ставят 20 на 20. Или это абстрактные значения в параметрах? Где читать или, может, кто подскажет по своему опыту? Заранее спасибо! opencv_createsamples.exe -info E:\BAZAS\Sova\Good.dat -vec samples.vec -w 20 -h 20 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано April 23, 2019 Если размер объекта у тебя никогда не будет меньше 100 пикселей, то можно ставить минимальный размер и больше, чем 20х20, тут проблем у меня не было. P.S. В OpenCV 4 тренировка каскадов уже depricated, а opencv_createsamples удалена из сборки. Фактически есть, но закомментирована и, если включить, не собирается из-за чистки старого API. Так что надо подумать, насколько необходимо использовать каскады Хаара в будущем. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
idrua 8 Жалоба Опубликовано April 24, 2019 18 часов назад, Nuzhny сказал: Если размер объекта у тебя никогда не будет меньше 100 пикселей, то можно ставить минимальный размер и больше, чем 20х20, тут проблем у меня не было. Размер объекта относительно статичен +- 20 пикселей. Больше на сколько? 30х30, 40х40, 80х80. Насколько я понял, чем больше размер объекта, тем дольше ждать результат. 18 часов назад, Nuzhny сказал: P.S. В OpenCV 4 тренировка каскадов уже depricated, а opencv_createsamples удалена из сборки. Фактически есть, но закомментирована и, если включить, не собирается из-за чистки старого API. Так что надо подумать, насколько необходимо использовать каскады Хаара в будущем. Думал. Стандартными средствами OpenCV я детектирую с точностью 90%, но это не всегда устраивает пользователей. Хотелось уйти в сторону DL, но ПК слабые, не тянут. Какие еще альтернативы? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано April 24, 2019 Лучше 80х80. Далее идёт детекция через cv::CascadeClassifier::detectMultiScale, где можно подобрать правильный коэффициент скейла. Тренироваться может долго, но тут никуда не деться. В плане альтернатив из коробки есть ещё SVM+HOG, но это будет уже медленнее Хаара. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах