Szukam bezpłatnej biblioteki rozpoznawania twarzy do projektu uniwersyteckiego. Nie szukam funkcji wykrywania twarzy . Szukam prawdziwego uznania. Oznacza to znalezienie obrazów zawierających określone twarze lub biblioteki obliczające odległości między określonymi twarzami.
Obecnie używam OpenCV do wykrywania twarzy i szorstkiej twarzy własnej algorytmu do rozpoznawania. Ale pomyślałem, że powinno być coś o lepszej wydajności niż samodzielnie napisany algorytm Eigenface. Nie mówię o szybkości jako wydajności, szukam biblioteki z lepszymi wynikami niż proste podejście do Eigenface.
I przyjrzał się Faint , ale wydaje się, że biblioteka nie jest bardzo wielokrotnego użytku dla moich własnych aplikacji.
Jestem zadowolony z biblioteki w Pythonie, Javie, C ++, C lub czymś podobnym. Najlepiej byłoby, gdyby można go było uruchomić na komputerze z systemem Windows, ponieważ w tej chwili polegam na zewnętrznym kodzie tylko dla systemu Windows.
Odpowiedzi:
Oto lista komercyjnych dostawców, którzy oferują gotowe pakiety do rozpoznawania twarzy, które działają w systemie Windows:
Cybula - Informacje o ich SDK do rozpoznawania twarzy . Jest to firma założona przez profesora uniwersytetu i jako taka jej strona internetowa wygląda nieprofesjonalnie. Nie ma informacji o cenach ani wersji demonstracyjnej, które można pobrać. Aby uzyskać informacje o cenach, musisz się z nimi skontaktować .
NeuroTechnology - informacje o ich SDK do rozpoznawania twarzy . Ta firma ma zarówno informacje o cenach z góry, jak i faktyczną 30-dniową wersję próbną swojego SDK .
Pittsburgh Pattern Recognition - ( pozyskane przez Google ) Informacje o ich pakiecie Face Tracking and Recognition SDK . Prezentacje, które udostępniają, pomagają ocenić ich technologię, ale nie SDSK. Aby uzyskać informacje o cenach, musisz się z nimi skontaktować .
Sensible Vision - informacje o ich SDK . Ich strona pozwala łatwo uzyskać wycenę, a także zamówić zestaw ewaluacyjny, który pomoże Ci ocenić ich technologię.
źródło
Aktualizacja
OpenCV 2.4.2 jest teraz dostarczany z bardzo nowym cv :: FaceRecognizer . Proszę zapoznać się z bardzo szczegółową dokumentacją pod adresem:
Oryginalny post
Wydałem libfacerec , nowoczesną bibliotekę do rozpoznawania twarzy dla OpenCV C ++ API (licencja BSD). libfacerec nie ma dodatkowych zależności i implementuje metodę Eigenfaces, metodę Fisherfaces i lokalne histogramy wzorców binarnych. Części biblioteki zostaną włączone 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 OpenCV wcześniejszych niż 2.3.1. Ten projekt jest projektem CMake z dobrze udokumentowanym interfejsem API, jest też samouczek dotyczący klasyfikacji płci. Możesz zobaczyć wersję HTML dokumentacji 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):
Istnieje również implementacja algorytmów w języku Python i GNU Octave / MATLAB w moim repozytorium github . Oba projekty w facerec obejmują również kilka metod walidacji krzyżowej do oceny algorytmów:
Odpowiednie publikacje to:
źródło
pam-face-authentication moduł PAM do uwierzytelniania twarzy: ale uzyskanie tego, czego chcesz, wymagałoby trochę pracy. Szybki test wykazał, że wskaźniki rozpoznawania nie są tak dobre, jak VeriLook z NeuroTechnology.
Malic to kolejne oprogramowanie do rozpoznawania twarzy typu open source, które wykorzystuje deskryptory Gabor Wavelet. Ale ostatnia aktualizacja źródła ma 3 lata.
Ze strony internetowej: „ Malic to oprogramowanie do rozpoznawania twarzy typu open source, które wykorzystuje falkę gabor. Jest to system rozpoznawania twarzy w czasie rzeczywistym oparty na systemie Malib i CSU Face Identification Evaluation System (csuFaceIdEval). Wykorzystuje bibliotekę Malib do przetwarzania obrazu w czasie rzeczywistym i niektóre elementy csuFaceIdEval dla twarzy uznanie. ”.
Ponadto może to być interesujące:
gaborboosting : program naukowy stosowany do rozpoznawania twarzy z algorytmem Gabor Wavelet i AdaBoost
Biblioteka wyodrębniania cech - FELib odnosi się do „Adnotacji twarzy przez dyskryminujący rozróżniający Fishera jądra transdukcyjnego”,
źródło
Myślę, że Eigenface , który już robisz, jest właściwą drogą, 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ę z listą głównych algorytmów, których można użyć do rozpoznawania twarzy: Strona główna Rozpoznawanie 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ą one głównie czołowe, czy zawierają profile?
źródło
Jeśli twój projekt jest w filmie, telewizji lub cokolwiek, co ma scenariusz, wygląda na to, że na pewno chcesz przyjrzeć się pracy Marka Everinghama i in. . Oprogramowanie jest dostępne , podobnie jak wyniki z odcinka Buffy .
źródło
Powinieneś spojrzeć na http://libccv.org/
Jest dość nowy, ale zapewnia bezpłatny interfejs API wysokiego poziomu typu open source do wykrywania twarzy.
(... i, śmiem twierdzić, jest cholernie niesamowity)
Edycja: Warto również zauważyć, że jest to jedna z niewielu bibliotek, które NIE zależą od opencv i tylko dla kopnięć, oto kopia kodu do wykrywania twarzy ze strony dokumentacji, aby dać ci wyobrażenie o tym, co się z tym wiąże:
źródło
Wiem, że minęło trochę czasu, ale dla każdego, kto jest zainteresowany, istnieje projekt Faint , który zawiera wiele tych funkcji (wykrywanie, rozpoznawanie itp.) W ładnym pakiecie oprogramowania.
źródło
Używamy OpenCV . Zawiera również wiele rzeczy niezwiązanych z rozpoznawaniem twarzy, ale zapewniamy, że rozpoznaje twarze.
źródło
Możesz wypróbować otwartą bibliotekę MVG, może być również używana dla wielu interfejsów.
źródło
Następnym krokiem byłoby FisherFaces. Wypróbuj i sprawdź, czy Ci odpowiadają. Oto ładne porównanie.
źródło
Niezupełnie to, czego szukasz, ale może ci się przydać. Algorytmy wykrywania twarzy / widzenia komputerowego w programie MATLAB.
źródło