Biblioteka rozpoznawania twarzy [zamknięta]

Szukam darmowej biblioteki rozpoznawania twarzy do projektu uniwersyteckiego. Nie szukam detekcji twarzy. Szukam prawdziwego uznania. Oznacza to znajdowanie obrazów zawierających określone twarze lub bibliotek, które obliczają odległości między określonymi twarzami.

Obecnie używam OpenCV do wykrywania twarzy i szorstkiego algorytmu Eigenface do rozpoznawania. Ale pomyślałem, że powinno być coś lepszego. wydajność niż autorski algorytm Eigenface. Nie mówię o szybkości jako wydajności, Szukam biblioteki z lepszymi wynikami niż proste podejście Eigenface.

Rzuciłem okiem na , ale wygląda na to, że biblioteka Nie nadaje się do wielokrotnego użytku dla moich własnych aplikacji.

Jestem zadowolony z biblioteki w Pythonie, Javie, C++, C czy jakoś tak. Najlepiej by było gdyby można go było uruchomić na komputerze z systemem Windows bo polegam na jakimś zewnętrznym kodzie Windows na chwila.

Author: hippietrail, 2009-06-05

11 answers

Oto lista komercyjnych dostawców, którzy dostarczają gotowe pakiety do rozpoznawania twarzy, które działają w systemie Windows:

  1. Cybula - informacje na ich SDK Rozpoznawania Twarzy. Jest to firma założona przez profesora uniwersyteckiego i jako taka ich strona internetowa wygląda nieprofesjonalnie. Nie ma informacji o cenach ani demo, które można pobrać. Musisz skontaktować się z nimi w celu uzyskania informacji o cenach.

  2. NeuroTechnology - Informacje na ich Zestaw SDK Rozpoznawania Twarzy. Ta firma ma zarówno z góry informacje o cenach, jak i rzeczywisty 30-dniowy okres próbny ich SDK .

  3. Pattern Recognition - (w 2011 roku firma Google wprowadziła do swojej oferty pakiet SDK śledzenia i rozpoznawania twarzy (Facial Tracking and Recognition SDK). Dema, które dostarczają, pomagają ocenić ich technologię, ale nie ich SDSK. Musisz skontaktować się z nimi w celu uzyskania informacji o cenach.

  4. Sensible Vision - informacje na ich SDK. Ich strona pozwala łatwo uzyskać ofertę cenową, a także można zamówić zestaw do oceny, który pomoże Ci ocenić ich technologię.

 81
Author: Praveen Angyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-29 00:11:55

Update

OpenCV 2.4.2 jest teraz dostępny z bardzo Nowym CV::FaceRecognizer. Proszę zapoznać się z bardzo szczegółową dokumentacją pod adresem:

Original Post

Wydałem libfacerec , nowoczesną bibliotekę rozpoznawania twarzy dla OpenCV C++ API (licencja BSD). libfacerec nie ma żadnych dodatkowych zależności i implementuje metodę Eigenfaces, metodę Fisherfaces i Local Histogramy Wzorców Binarnych. Część biblioteki zostanie włączona do OpenCV 2.4.

Najnowsza wersja libfacerec jest dostępna pod adresem:

Biblioteka została napisana dla OpenCV 2.3.1 z myślą o nadchodzącym OpenCV 2.4, więc nie obsługuję wersji wcześniejszych niż 2.3.1. Ten projekt jest dostarczany jako projekt CMake z dobrze udokumentowanym API, istnieje również samouczek na temat klasyfikacji płci. Możesz zobacz dokumentację w wersji HTML pod adresem:

Jeśli chcesz zrozumieć, jak działają te algorytmy, możesz przeczytać mój przewodnik po rozpoznawaniu twarzy (zawiera przykłady Pythona i GNU Octave/MATLAB):

Jest też implementacja algorytmów Pythona i GNU Octave/MATLAB w moim GitHubie repozytorium . Oba projekty w facerec zawierają również kilka metod walidacji krzyżowej do oceny algorytmów:

Odpowiednie publikacje to:

  • Turk, M., and Pentland, A. Eigenfaces for recognition.. Journal of Cognitive Neuroscience 3 (1991), 71-86.
  • Belhumeur, P. N., Hespanha, J., and Kriegman, D. Eigenfaces vs. Fisherfaces: Recognition using class specyficzna projekcja liniowa.. IEEE Transactions on Pattern Analysis and Machine Intelligence 19, 7( 1997), 711-720. Ahonen, T., Hadid, A., and Pietikainen, M. Rozpoznawanie twarzy z lokalnymi wzorcami binarnymi.. Computer Vision-ECCV 2004 (2004), 469-481.
 54
Author: bytefish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-03 01:45:52

Pam-face-authentication Moduł Pam do uwierzytelniania twarzy: ale wymagałoby to trochę pracy, aby uzyskać to, czego chcesz. Szybki test wykazał, że wskaźnik rozpoznawania nie jest tak dobry jak VeriLook z NeuroTechnology.

Malic to kolejne oprogramowanie open source do rozpoznawania twarzy, które wykorzystuje deskryptory fal Gabor. Ale ostatnia aktualizacja do źródła ma 3 lata.

Ze strony: "Malic to oprogramowanie do rozpoznawania twarzy opensource który wykorzystuje falę gabor. Jest to system rozpoznawania twarzy w czasie rzeczywistym, który opiera się na Malib i CSU Face Identification Evaluation System (csuFaceIdEval).Wykorzystuje bibliotekę Malib do przetwarzania obrazów w czasie rzeczywistym i niektóre z csuFaceIdEval do rozpoznawania twarzy."

Dalej to może być interesujące:

Gaborboosting : Program naukowy zastosowany do rozpoznawania twarzy za pomocą fal Gabora i algorytmu AdaBoost

Biblioteka Ekstrakcji Funkcji - FELib odnosi się do " twarz Adnotacja przez jądro przetwornika Fisher dyskryminujący,"

 19
Author: jk.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-03 18:07:30

Myślę, że Eigenface , co już robisz, jest drogą do zrobienia, jeśli chcesz obliczyć odległość między twarzami. Możesz wypróbować różne podejścia, takie jak Support Vector Machine lub Hidden Markov Model . Znalazłem stronę, która zawiera listę głównych algorytmów, które mogą być używane do rozpoznawania twarzy: Strona główna Rozpoznawania Twarzy .

Ponadto, kiedy mówisz "lepsza wydajność", masz na myśli szybkość czy dokładność? Jaki masz problem? Jak różne są dane? Czy są to głównie powierzchnie czołowe, czy też profile?

 13
Author: Eugene Yokota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-21 05:47:17

Jeśli twój projekt jest w filmie lub telewizji, lub cokolwiek, co ma scenariusz, wygląda na to, że zdecydowanie chcesz spojrzeć na pracę Mark Everingham et al.. Oprogramowanie jest dostępne, podobnie jak wyniki Z odcinka Buffy .

 9
Author: huitseeker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-25 22:47:42

Powinieneś spojrzeć na http://libccv.org/

Jest dość nowy, ale zapewnia bezpłatny open source wysoki poziom API do wykrywania twarzy.

(...i, śmiem twierdzić, jest cholernie niesamowite)

Edit: warto również zauważyć, że jest to jedna z niewielu bibliotek, które nie zależą od opencv, a tak na wszelki wypadek, oto Kopia kodu do wykrywania twarzy ze strony dokumentacji, aby dać ci wyobrażenie o tym, co się z tym wiąże: {]}

#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;
} 
 7
Author: Doug,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-03 01:03:39

Wiem, że minęło trochę czasu, ale dla wszystkich zainteresowanych jest projekt Faint , który zawiera wiele tych funkcji (Wykrywanie, rozpoznawanie itp.) do ładnego pakietu oprogramowania.

 5
Author: Marcus P S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-13 20:19:53

Używamy OpenCV . Ma tam również wiele rzeczy nie do rozpoznawania twarzy, ale zapewniam cię, że to robi rozpoznawanie twarzy.

 4
Author: Paul J. Lucas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-10 15:39:15

Możesz spróbować otworzyć bibliotekę MVG, może ona być również używana dla wielu interfejsów.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-30 10:42:05

Następnym krokiem będzie FisherFaces. Spróbuj i sprawdź, czy działają dla Ciebie. tutaj jest ładne porównanie.

 0
Author: Łukasz Lew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-22 14:48:45

Nie do końca to, czego szukasz, ale może Ci się przydać. wykrywanie twarzy/widzenie komputerowe algorytmy w MATLAB.

 0
Author: Dan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-25 10:53:02