Бібліотека розпізнавання обличчя [закрита]


169

Я шукаю безкоштовну бібліотеку розпізнавання облич для університетського проекту. Я не шукаю розпізнавання обличчя . Я шукаю фактичного визнання. Це означає знайти зображення, які містять вказані обличчя або бібліотеки, які обчислюють відстані між певними гранями.

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

Я поглянув на Неясний , але, здається, бібліотека не дуже багаторазова для моїх власних програм.

Я задоволений бібліотекою в Python, Java, C ++, C або чимось подібним. Найкраще було б, якщо це можна запустити на машині Windows, тому що я зараз покладаюся на деякий зовнішній код Windows.


1
Чи потрібно бути вільним з політичних чи практичних причин? Якщо це чистий дослідницький проект, ви, можливо, зможете отримати безкоштовну академічну ліцензію від одного з комерційних постачальників.
Крістофер

2
Я отримав порівняно хороші результати лише з підходом до власних інтерфейсів, але здається, що хорошого api для виявлення обличчя, вільного у використанні, чогось не вистачає на даний момент
Janusz



4
Хоча цілком прийнятно у 2009 році, це питання більше не розглядається на тему: Питання, які пропонують нам рекомендувати або знайти інструмент, бібліотеку чи улюблений ресурс поза сайтом, не є темою для переповнення стека. Дивіться, якими повинні бути попередньо визначені поза теми причини переповнення стека?
JDB досі пам’ятає Моніку

Відповіді:


85

Ось список комерційних постачальників, які надають нестандартні пакети для розпізнавання облич, які працюють у Windows:

  1. Cybula - інформація про SDK для розпізнавання обличчя . Це компанія, заснована професором університету, і як такий їх веб-сайт виглядає непрофесійно. Інформацію про ціни та демонстраційну версію ви не можете завантажити. Вам потрібно зв’язатися з ними для отримання інформації про ціни.

  2. NeuroTechnology - інформація про SDK для розпізнавання обличчя . Ця компанія має як попередню інформацію про ціни, так і фактичну 30-денну пробну версію SDK .

  3. Розпізнавання образів Пітсбурга - ( Набута Google ) Інформація про SDK для відстеження та розпізнавання обличчя . Демонстрації, які вони надають, допомагають оцінити їхні технології, але не їх SDSK. Вам потрібно зв’язатися з ними для отримання інформації про ціни.

  4. Senzible Vision - інформація про їх SDK . Їх сайт дозволяє легко отримати цінову пропозицію, а також ви можете замовити оціночний комплект, який допоможе оцінити їх технологію.


5
Дякую за посилання, але наразі мені потрібно знайти безкоштовну бібліотеку
Janusz

1
Це не може бути для розпізнавання особи в собі , але numenta.com може представляти інтерес для Вас.
RCIX

7
ви можете додати face.com безкоштовний API REST до цього списку
Омрі Ядан

@ Омрі, ви повинні додати як відповідь або відредагувати це, щоб додати face.com
Скотт


54

Оновлення

OpenCV 2.4.2 тепер поставляється із самим новим cv :: FaceRecognizer . Будь ласка, дивіться дуже детальну документацію за адресою:

Оригінальна публікація

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

Остання редакція libfacerec доступна на:

Бібліотека була написана для OpenCV 2.3.1, маючи на увазі майбутній OpenCV 2.4, тому я не підтримую версії OpenCV раніше, ніж 2.3.1. Цей проект є проектом CMake з добре задокументованим API, також є підручник з гендерної класифікації. Ви можете побачити HTML-версію документації за адресою:

Якщо ви хочете зрозуміти, як працюють ці алгоритми, ви можете прочитати мій посібник із розпізнавання обличчя (включає приклади Python та GNU Octave / MATLAB):

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

Відповідні публікації:

  • Турк, М. та Пентленд, А. власнеповерхні для розпізнавання. . Journal of Cognitive Neuroscience 3 (1991), 71–86.
  • Belhumeur, PN, Hespanha, J., and Kriegman, D. Eigenfaces vs. Fisherfaces: Розпізнавання за допомогою лінійної проекції, специфічної для класу. . Операції IEEE з аналізу шаблонів та машинного інтелекту 19, 7 (1997), 711–720.
  • Ахонен, Т., Хадід, А. та Пітікайнен, М. Розпізнавання обличчя з локальними бінарними візерунками. . Комп'ютерне бачення - ECCV 2004 (2004), 469–481.


19

pam-face-автентифікація модуль PAM для автентифікації обличчя: але для отримання потрібного вам потрібна певна робота. Швидкий тест показав, що показник розпізнавання не такий хороший, як у VeriLook від NeuroTechnology.

Malic - ще одне програмне забезпечення для розпізнавання облич з відкритим кодом, яке використовує дескриптори Gabor Wavelet. Але останнє оновлення джерела - 3 роки.

З веб-сайту: " Malic - це відкрите програмне забезпечення для розпізнавання облич, яке використовує вейвлет gabor. Це система розпізнавання облич в реальному часі, яка базується на системі оцінювання обличчя Malib та CSU (csuFaceIdEval). Використовує бібліотеку Malib для обробки зображень у режимі реального часу та деякі csuFaceIdEval для обличчя. визнання ».

Далі це може зацікавити:

gaborboosting : наукова програма, що застосовується з розпізнавання обличчя за допомогою алгоритму Gabor Wavelet та AdaBoost

Бібліотека вилучення особливостей - FELib посилається на "Анотація обличчя транскруктивним дискримінантом ядра Фішера".


13

Я думаю , що Eigenface , який ви вже робите, - це шлях, якщо ви хочете обчислити відстань між гранями. Ви можете спробувати різні підходи, такі як Підтримка векторної машини або Прихована модель Маркова . Я знайшов сторінку, що містить основні алгоритми, які можна використовувати для розпізнавання обличчя: Домашня сторінка розпізнавання обличчя .

Крім того, коли ви говорите "краща продуктивність", ви маєте на увазі швидкість чи точність? Яка у вас проблема? Наскільки варіюються дані? Це здебільшого фронтальне обличчя чи вони включають профілі?


5
З ефективністю я зміряв точність виявлення. Eigenface приємно, але те, що я шукаю, - це готовий пакет з полиці для розпізнавання облич, тому що я не хочу винаходити колесо і не маю часу
Janusz


7

Ви повинні подивитися на 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;
} 

5

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


4

Ми використовуємо OpenCV . У ньому також багато матеріалів, які не розпізнають обличчя, але, будьте впевнені, вона розпізнає обличчя.


2
Я думаю, що у OpenCV немає прямого алгоритму розпізнавання обличчя. Розпізнавання облич з бібліотеки OpenCV працює чудово
Януш

3
Так, ви праві. Я переплутав розпізнавання обличчя та виявлення обличчя.
Пол Дж. Лукас

Як бічна примітка, зараз існує cv :: FaceRecognizer, який можна використовувати для розпізнавання.
huesforalice

1

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


0

Наступним кроком будуть FisherFaces. Спробуйте і перевірте, чи працюють вони на вас. Ось приємне порівняння.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.