Распознавание лиц в Java

Может ли кто-нибудь предложить мне открытую систему распознавания лиц на Java?

Ответы

Ответ 1

Есть несколько систем Java Face Recognition с открытым исходным кодом, которые вы можете попробовать, но не ожидайте многого, потому что я ищу то же самое, но я все еще ищу лучший вариант!

Обратите внимание, что поиск любого лица внутри изображения называется "Обнаружение лица", поскольку любое лицо называется "Face Tracking", а определение личности обнаруженного лица называется "Распознавание лиц". Я говорю вам это, потому что вам, вероятно, придется использовать разные программы и алгоритмы для каждого! Ответ Павла говорит вам, что OpenCV легко может распознавать лица (Haar Cascade Detector), но не распознавать лица, как легко (на самом деле у него есть способ сделать Eigenface Recognition), который звучит так, как будто вам требуется Face Recognition, поэтому OpenCV isn Не обязательно ваш лучший вариант, поскольку вы используете Java.

Вы можете попробовать FAINT, который выполняет как распознавание лиц, так и распознавание лиц на Java, но он почти не документирован. Существует также " http://darnok.org/programming/face-recognition/", но я не могу получить хорошие результаты. Существует также " http://uni.johnsto.co.uk/faces/" для распознавания лиц "и" Neuroph" для распознавания/распознавания лиц.

Если вы найдете хорошее решение, скажите, пожалуйста, на странице "[email protected]" Удачи! Шервин Эмами

Ответ 2

Отъезд OpenCV. Была реализована хорошо документированная и известная техника распознавания лиц Виолой и Джонсом, известная как каскад Хаара.

Полный учебник - от обучения до экспериментов - доступен здесь. Обратите внимание: вам действительно не нужно заниматься обучением; OpenCV поставляется в комплекте с несколькими каскадами функций, в том числе несколькими для обнаружения лиц.

Ответ 3

Точное распознавание лиц - это задача, которая может быть разбита на несколько этапов:

  • Распознавание лиц
  • Открытие точки наземного ориентирования
  • Поворот, обрезка, выравнивание и масштабирование с использованием ваших ориентиров
  • Открытие точки дескриптора лица (они не читаются человеком)
  • Сравнение с известными лицами для поиска ближайшего соответствия

Это можно сделать с несколькими библиотеками, но требует bytedeco обертки для OpenCV и Caffe, а также библиотеку, такую ​​как ND4j для матрицы сравнение.

OpenCV имеет каскады HAAR для обнаружения лиц и может использовать флангман для распознавания лицевых точек. Это позволит вам выполнить шаги 1-3.

Открытие дескриптора лица может быть выполнено с использованием обертки bytedeco для Caffe и библиотеки дескриптора VGG Face (http://www.robots.ox.ac.uk/~vgg/software/vgg_face/)

Наконец, Nd4j можно использовать для сравнения изображений. Если у вас достаточно изображений, классифицированных по отдельности, возможно, вы можете использовать нейронную сеть из библиотеки для классификации.