Библиотека распознавания лиц

Я ищу бесплатную библиотеку распознавания лиц для университетского проекта. Я не ищу распознавание лиц. Я ищу настоящего признания. Это означает поиск изображений, которые содержат указанные лица или библиотеки, которые вычисляют расстояния между конкретными лицами.

В настоящее время я использую OpenCV для определения лиц и грубого Алгоритм распознавания Eigenface. Но я подумал, что должно быть что-то более производительное, чем самописный алгоритм Eigenface. Я не говорю о скорости как о производительности, я ищу библиотеку с лучшими результатами, чем простой подход Eigenface.

Я взглянул на Faint, но мне кажется, что библиотека не очень пригодна для повторного использования в моих собственных приложениях.

Мне нравится библиотека на Python, Java, C ++, C или что-то в этом роде. Лучше всего, если бы его можно было запустить на машине с Windows, потому что в данный момент я полагаюсь на какой-то внешний код, предназначенный только для Windows.


person Janusz    schedule 05.06.2009    source источник
comment
Должен ли он быть бесплатным по политическим или практическим причинам? Если это чисто исследовательский проект, вы можете получить бесплатную академическую лицензию от одного из коммерческих поставщиков.   -  person Christoffer    schedule 25.06.2009
comment
Я получил относительно хорошие результаты только с подходом eigenfaces, но кажется, что хороший api для обнаружения лиц, который можно использовать бесплатно, - это то, чего в данный момент не хватает.   -  person Janusz    schedule 05.11.2009
comment
stackoverflow.com/questions/12723856   -  person Manoj    schedule 04.10.2012
comment
stackoverflow.com/questions/12568901   -  person Manoj    schedule 04.10.2012
comment
Хотя этот вопрос вполне приемлем в 2009 году, этот вопрос больше не считается относящимся к теме: Вопросы, просящие нас порекомендовать или найти инструмент, библиотеку или любимый сторонний ресурс, не относятся к теме для Stack Overflow. См. Какими должны быть предопределенные причины не по теме для переполнения стека?   -  person JDB still remembers Monica    schedule 20.07.2013


Ответы (11)


Вот список коммерческих поставщиков, которые предоставляют готовые пакеты для распознавания лиц, работающие в Windows:

  1. Cybula - информация об их SDK распознавания лиц. Это компания, основанная профессором университета, и поэтому их веб-сайт выглядит непрофессионально. Нет информации о ценах или демоверсии, которую вы можете скачать. Вам нужно будет связаться с ними для получения информации о ценах.

  2. NeuroTechnology - информация об их SDK распознавания лиц. У этой компании есть предварительная информация о ценах, а также фактическая 30-дневная пробная версия их SDK.

  3. Pittsburgh Pattern Recognition - (Получено Google) Информация об их SDK для отслеживания и распознавания лиц. Предоставляемые ими демонстрации помогут вам оценить их технологию, но не SDSK. Вам нужно будет связаться с ними для получения информации о ценах.

  4. Sensible Vision - информация об их SDK. Их сайт позволяет вам легко получить ценовое предложение, а также заказать оценочный комплект, который поможет вам оценить их технологию.

person Praveen Angyan    schedule 22.06.2009
comment
Спасибо за ссылки, но сейчас мне нужно найти бесплатную библиотеку - person Janusz; 24.06.2009
comment
Возможно, он не предназначен для распознавания лиц как таковой, но может быть интересен numenta.com тебе. - person RCIX; 05.12.2009
comment
вы можете добавить в этот список бесплатный REST API Face.com - person Omry Yadan; 06.05.2010
comment
@Omry, вы должны добавить его в качестве ответа или отредактировать, чтобы добавить face.com - person Scott; 19.05.2012
comment
face-rec.org/vendors и в целом face-rec.org - person 2vision2; 23.01.2013
comment
@OmryYadan приобретен Facebook: c - person EaterOfCode; 17.04.2013
comment
Да, знаю. Facebook действительно классный :) - person Omry Yadan; 17.04.2013
comment
Microsoft Cognitive Services Face API - он предлагает обнаружение лиц, распознавание, группировку, проверку, поиск похожих лиц и т. Д. - person Raj Trivedi; 20.04.2016
comment
luxand.com также имеет как автономный SDK, так и веб-API. Offline sdk может работать лучше с живыми видео, чем sdk, перечисленные в ответе - person Anton Malyshev; 29.09.2016

Обновлять

OpenCV 2.4.2 теперь поставляется с очень новым cv :: FaceRecognizer < / а>. Пожалуйста, смотрите очень подробную документацию по адресу:

Исходный пост

Я выпустил libfacerec, современную библиотеку распознавания лиц для OpenCV C ++ API (лицензия BSD). libfacerec не имеет дополнительных зависимостей и реализует метод Eigenfaces, метод Fisherfaces и гистограммы локальных двоичных шаблонов. Части библиотеки будут включены в OpenCV 2.4.

Последняя версия libfacerec доступна по адресу:

Библиотека была написана для OpenCV 2.3.1 с учетом предстоящего OpenCV 2.4, поэтому я не поддерживаю версии OpenCV ранее 2.3.1. Этот проект представляет собой проект CMake с хорошо документированным API, есть также руководство по гендерной классификации. Вы можете увидеть HTML-версию документации по адресу:

Если вы хотите понять, как работают эти алгоритмы, вы можете прочитать мое Руководство по распознаванию лиц (включая примеры Python и GNU Octave / MATLAB):

Также есть реализация алгоритмов Python и GNU Octave / MATLAB в моем репозитории на github. Оба проекта в facerec также включают несколько методов перекрестной проверки для оценки алгоритмов:

Соответствующие публикации:

  • Терк М. и Пентланд А. Собственные лица для узнавания. Журнал когнитивной неврологии 3 (1991), 71–86.
  • Белхумёр П. Н., Хеспанха Дж. И Кригман Д. Собственные лица против рыбаков: распознавание с использованием линейной проекции, зависящей от класса.. IEEE Transactions по анализу шаблонов и машинному интеллекту 19, 7 (1997), 711–720.
  • Ахонен Т., Хадид А. и Пиетикайнен М. Распознавание лиц с помощью локальных двоичных шаблонов.. Компьютерное зрение - ECCV 2004 (2004), 469–481.
person bytefish    schedule 22.11.2011
comment

pam-face-authentication модуль PAM для Face Authentication: но для получения того, что вы хотите, потребуется некоторая работа. Быстрый тест показал, что скорость распознавания не так хороша, как у VeriLook от NeuroTechnology.

Malic - еще одно программное обеспечение для распознавания лиц с открытым исходным кодом, использующее дескрипторы Gabor Wavelet. Но последнему обновлению первоисточника 3 года.

С веб-сайта: «Malic - это программное обеспечение для распознавания лиц с открытым исходным кодом, которое использует вейвлет Габора. Это система распознавания лиц в реальном времени, основанная на системе оценки идентификации лиц Malib и CSU (csuFaceIdEval). Использует библиотеку Malib для обработки изображений в реальном времени и некоторых других csuFaceIdEval для распознавания лиц. "

В дальнейшем это может быть интересно:

gaborboosting: научная программа, применяемая для распознавания лиц с помощью Gabor Wavelet и Алгоритм AdaBoost

Библиотека извлечения функций - FELib относится к «Аннотации лиц с помощью дискриминанта Фишера с трансдуктивным ядром»,

person jk.    schedule 03.08.2009

Я бы подумал, что Eigenface, который вы уже делаете, - это то, что вам нужно, если вы хотите рассчитать расстояние между гранями. Вы можете попробовать разные подходы, например Support Vector Machine или Скрытая марковская модель. Я нашел страницу со списком основных алгоритмов, которые можно использовать для распознавания лиц: Домашняя страница распознавания лиц.

Кроме того, когда вы говорите «лучшая производительность», вы имеете в виду скорость или точность? Какая у вас проблема? Насколько различаются данные? Это в основном лицевая сторона или они включают профили?

person Eugene Yokota    schedule 21.06.2009
comment
С производительностью я заметил точность обнаружения. Eigenfaces - это хорошо, но я ищу готовый готовый пакет для распознавания лиц, потому что я не хочу изобретать велосипед, и у меня нет времени - person Janusz; 21.06.2009

Если ваш проект представлен в кино или на телевидении, или в чем-то еще, где есть сценарий, похоже, вы определенно хотите посмотреть на работу Марк Эверингем et др.. Программное обеспечение доступно, как и результаты серии" Баффи ".

person Francois G    schedule 25.06.2009

Вам следует посмотреть http://libccv.org/

Он довольно новый, но предоставляет бесплатный высокоуровневый API с открытым исходным кодом для обнаружения лиц.

(... и, осмелюсь сказать, чертовски потрясающе)

Изменить: также стоит отметить, что это одна из немногих библиотек, которая НЕ зависит от opencv, и просто для удовольствия, вот копия кода для обнаружения лиц со страницы документации, чтобы дать вам представление о том, что задействовано:

#include <ccv.h>
int main(int argc, char** argv)
{
    ccv_dense_matrix_t* image = 0;
    ccv_read(argv[1], &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
    ccv_bbf_classifier_cascade_t* cascade = ccv_load_bbf_classifier_cascade(argv[2]);         ccv_bbf_params_t params = { .interval = 8, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
    ccv_array_t* faces = ccv_bbf_detect_objects(image, &cascade, 1, params);
    int i;
    for (i = 0; i < faces->rnum; i++)
    {
        ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
        printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.y);
    }
    ccv_array_free(faces);
    ccv_bbf_classifier_cascade_free(cascade);
    ccv_matrix_free(image);
    return 0;
} 
person Doug    schedule 03.07.2012

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

person Marcus P S    schedule 30.01.2010

Мы используем OpenCV. В нем также много вещей, не связанных с распознаванием лиц, но, будьте уверены, он действительно распознает лица.

person Paul J. Lucas    schedule 10.06.2009
comment
Я думаю, что в OpenCV нет прямого алгоритма распознавания лиц. Распознавание лиц из библиотеки OpenCV отлично работает - person Janusz; 11.06.2009
comment
Да, ты прав. Я перепутал распознавание лиц и распознавание лиц. - person Paul J. Lucas; 11.06.2009
comment
Кстати, теперь есть cv :: FaceRecognizer, который можно использовать для распознавания. - person huesforalice; 17.12.2012

Вы можете попробовать открытую библиотеку MVG, ее также можно использовать для нескольких интерфейсов.

person Community    schedule 30.10.2013

Следующим шагом будет FisherFaces. Попробуйте и проверьте, работают ли они у вас. Вот хорошее сравнение.

person Łukasz Lew    schedule 22.06.2009

Не совсем то, что вы ищете, но может быть вам полезно. Алгоритмы распознавания лиц / компьютерного зрения в MATLAB.

person Community    schedule 25.06.2009