2012-01-10 2 views
10

Я пытаюсь использовать opencv для обнаружения лиц. Лица не лобовые, камера захватывает лица сбоку, поэтому просматривается только один глаз и часть рта. Я попробовал HaarDetectObjects с несколькими конфигурациями без получения выгоды. Я изменил каскад, и я протестировал: haarcascade_frontalface_default.xml, haarcascade_frontalface_alt.xml, haarcascade_profileface.xml с очень плохими результатами. Есть ли другие лучшие каскады? Есть ли другие предложения?Обнаружение лица с помощью OpenCV для не фронтальных изображений

Благодаря

ответ

8

В каскадных файлах ссылочных (например, aarcascade_frontalface_default.xml, haarcascade_frontalface_alt.xml, haarcascade_profileface.xml) создаются с использованием полных лобных лиц для обнаружить полные лобные лица. Таким образом, половина лица, очевидно, не будет правильно распознана как правильная форма для компьютера.

Что вам может понадобиться сделать в этой ситуации, чтобы обучить OpenCV распознавать ваш объект интереса, который «половину face_ в этом случае в OpenCV жаргоне это называется -..„HaarTraining“Используйте this, this и this статья в качестве отправной точки для начала обучения.

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

Удачи!

+4

Полуфабрикаты также называются профилями. :) – Sam

+0

Haarcascade_profileface.xml предназначен для профилей (не лобовых, но боковых) – saurabheights

+0

Кстати, попробовал профиль профиля Haarcascade xml, но он оказался не очень точным. – saurabheights

9

Теперь у вас есть в OpenCV новый LBP каскад для граней профиля, созданного Вадимом Писаревский:

https://github.com/Itseez/opencv/blob/master/data/lbpcascades/lbpcascade_profileface.xml

Видимо, он обнаруживает только правильные лица профиля, поэтому, чтобы обнаружить все профиль лица один должен работать второй шаг с переворачиванием изображения.

+0

Это отлично подходит для полноразмерных лиц. Однако он не всегда отлично работает для частичных профилей. Есть ли более эффективная версия каскада профилей, доступная к настоящему времени? –

+1

Не то, что я знаю, но вы всегда можете обучать свой собственный набор лиц, используя базу данных профильных лиц (вы должны иметь возможность находить некоторые базы данных вокруг). Если вы это сделаете, отправьте сгенерированный каскад в OpenCV, чтобы он был доступен сообществу. –

+0

Это интересно. Спасибо за документирование этого ограничения и процедуру, чтобы он работал со всеми профилями. –

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