Как распознать лица в Java с помощью OpenCV

У меня есть простой апплет который работает на Java, используя OpenCV, который ничего не делает, кроме как отслеживать лица в предварительном просмотре с веб-камеры. Он распознает лица с помощью Haar Cascades, но на самом деле он не распознает лица. Теперь я хочу изменить его так, что когда он обнаруживает лицо, он дает вероятность, что он соответствует существующему лицу ИЛИ дает возможность сохранить это лицо в ограничивающей рамке в качестве нового или существующего человека (вроде функции Faces для iPhoto), Я знаю, что OpenCV имеет библиотеку, необходимую для этого, но я не уверен, что лучший способ продолжить работу на Java. Есть ли пример Java, где я могу посмотреть? Должен ли я посмотреть на другую библиотеку для части распознавания лиц? Может ли кто-нибудь указать мне некоторый базовый псевдокод, чтобы сделать это в JavaCV?

Моя конечная цель - воспроизвести что-то вроде функция Android Face Unlock для настольного приложения, которое я разрабатываю (еще лучше - с автоматическими способностями обучения с каждый успешный вход в систему). Но теперь, учитывая две грани, я обнаруживаю форму своего ограничивающего прямоугольника (см. Мою ссылку на пастебин), я хотел бы выплюнуть число от 0 до 1 для вероятности того, что эти лица одного и того же человека.

3 ответа

Мне удалось создать автономный пакет обнаружения Java Face: https://github.com/pathikrit/JFaceRecog


Я разработал полный распознаватель лица, используя класс FaceRecognizer JavaCV. Я опубликовал полный код и использование здесь. Попробуйте использовать этот класс и дайте мне знать, если у вас есть вопросы.

licensed under cc by-sa 3.0 with attribution.