Использование OpenCV DNN Detection для изображений размером более 300x300 - PullRequest
0 голосов
/ 04 января 2019

Я здесь, потому что мне нужен какой-то совет ...

Я работаю с распознаванием лиц. Я уже пробовал некоторые методы, такие как de DLIB Detector, HoG и другие ...

На данный момент я начал использовать обнаружение DNC OpenCV, основанное на ResNet .caffemodel, но после многих попыток я понимаю, что эта модель не очень хороша для изображений более 300x300 (HxW).

Обратите внимание, что мои изображения имеют размер 1520x2592 (HxW). Когда я применяю изменение размера, почти вся информация о лицах теряется, потому что лица в исходном изображении имеют размер около 150x150 пикселей, а при изменении размера для обнаружения с использованием DNN их размер составляет около 30x20 (приблиз.).

Некоторые подходы, которые я уже попробовал: - Разделить фигуру на подфигуры - Вычитание фона

Что мне нужно достичь: - Быстрое обнаружение - Уменьшить количество потерянных лиц (не обнаружено)

Проблема: - большое изображение с маленькими лицами в нем - Большая часть изображения не используется (но я не могу изменить местоположение камеры)

1 Ответ

0 голосов
/ 09 января 2019

Сети на основе SSD полностью сверточны, что означает, что вы можете варьировать размер ввода. Попробуйте передать входные данные разных размеров и выбрать тот, который дает удовлетворительную производительность и точность. Вот пример: http://answers.opencv.org/question/202995/dnn-module-face-detection-poor-results-open-cv-343/

input = blobFromImage(img, 1.0, Size(1296, 760));  // x0.5
или же
input = blobFromImage(img, 1.0, Size(648, 380));  // x0.25
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...