webentwicklung-frage-antwort-db.com.de

Bibliothek zur Erkennung des Gesichtsgeschlechts

Ich suche nach einem SDK oder einer Bibliothek, die Gesichter in einem Webcam-Stream und das Geschlecht erkennen kann. Kostenlos oder kostenpflichtig, C++ oder C # unter Windows. Irgendwelche Vorschläge?

18
Shachar Weis

Ich habe in meinem Blog unter: http://bytefish.de/blog/gender_classification ein Experiment zur Geschlechtsklassifizierung mit der Fisherfaces-Methode durchgeführt und eine Erkennungsrate von 98% für geometrisch normalisierte Bilder erhalten. Ich biete eine Implementierung der Fisherfaces-Methode für GNU Octave/MATLAB, Python und C++.

libfacerec , eine moderne Gesichtserkennungsbibliothek für die OpenCV C++ API (BSD-Lizenz), enthält eine Implementierung der Fisherfaces-Methode. Die neueste Version von libfacerec ist verfügbar unter:

libfacerec ist ein CMake-Projekt mit einer gut dokumentierten API. Es gibt auch ein Tutorial zur Geschlechtsklassifizierung. Eine HTML-Version der Dokumentation finden Sie unter:

Ich biete eine Python und GNU Octave/MATLAB Implementierung von Fisherfaces an:

Verwenden Sie zum Erkennen eines Gesichts in einem Bild einfach den CascadeClassifier , der mit OpenCV geliefert wird, aber erwarten Sie keine perfekte Erkennung Ergebnisse bei falsch ausgerichteten Daten.

Es gibt eine Antwort oben, um Eigengesichter zu verwenden, die nicht funktionieren. Eigengesichter verwenden eine Hauptkomponentenanalyse, einen nicht überwachten Algorithmus, der keine Kenntnisse über Klassen besitzt. Sie müssen wirklich glücklich sein, wenn der Unterraum, in den Sie Ihre Daten einbetten, zwischen den Geschlechtern unterscheidet. Vielleicht generiert es einige positive Vorhersagen, indem es das nächstliegende Bild und das zugehörige Geschlecht findet.

19
bytefish

Eigenfaces verwendet PCA und dies ist in OpenCV implementiert. Dieser Algorithmus kann zur Geschlechtserkennung verwendet werden: http://campillos.ucmerced.edu/~jboiser/eigfaces.pdf

Informationen zur Verwendung von Eigenflächen mit OpenCV finden Sie unter http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html .

Es wird allerdings ein bisschen Kodierung von Ihrer Seite erfordern.

2
rossb83

Auf den ersten Blick würde ich OpenCV sagen, aber Ihr habt es sicherlich schon getestet ...

Scheint, dass dieser Blog viel über Gesichts- und Geschlechtserkennung spricht. Hoffe, es wird helfen: http://www.computer-vision-software.com/blog/

1
Macmade

Sie können den in OpenCV eingebauten Gesichtsdetektor verwenden. Für das Geschlecht können Sie mit Haartraining Ihren eigenen Geschlechtsdetektor trainieren. Sie sollten eine Datenbank mit männlichen und weiblichen Gesichtern finden und diese mit dem HaarTraining-Modul in OpenCV trainieren.

0
Krish