Frage

Ich suche ein kostenloses Gesichtserkennung Bibliothek für ein Universitätsprojekt. Ich suche nicht nach Gesichtserkennung.Ich suche nach tatsächlicher Anerkennung.Das bedeutet, Bilder zu finden, die bestimmte Gesichter enthalten, oder Bibliotheken, die Abstände zwischen bestimmten Gesichtern berechnen.

Ich verwende derzeit OpenCV zum Erkennen der Gesichter und eines groben Bildes Eigenface Algorithmus für die Erkennung.Aber ich dachte, es sollte etwas mit einer besseren Leistung als einen selbst geschriebenen Eigenface-Algorithmus geben.Ich spreche nicht von Geschwindigkeit als Leistung, ich suche nach einer Bibliothek mit besseren Ergebnissen als einem einfachen Eigenface-Ansatz.

Ich habe einen Blick darauf geworfen Schwach, aber es scheint, dass die Bibliothek für meine eigenen Anwendungen nicht sehr wiederverwendbar ist.

Ich bin zufrieden mit einer Bibliothek in Python, Java, C++, C oder so ähnlich.Das Beste wäre, wenn es auf einem Windows-Rechner ausgeführt werden könnte, da ich im Moment auf externen Windows-Code angewiesen bin.

War es hilfreich?

Lösung

Hier ist eine Liste von kommerziellen Anbietern, die für die Gesichtserkennung off-the-shelf-Pakete bereitzustellen, die unter Windows ausgeführt werden:

  1. Cybula - Informationen über ihren Facial Recognition SDK. Dies ist ein Unternehmen von einem Universitätsprofessor gegründet und als solche ihrer Website sieht unprofessionell. Es gibt keine Preisinformationen oder Demo, die Sie herunterladen können. Sie werden href="http://www.cybula.com/contact.htm" müssen Kontakt .

  2. Neurotechnologie - Informationen über ihren Facial Recognition SDK. Diese Firma hat sowohl up-front Preisinformationen sowie ein tatsächliche 30 Tage-Testversion von ihrem SDK

  3. Pittsburgh Pattern Recognition - ( Übernahme durch Google ) Angaben über ihre Gesichts-Tracking und Recognition SDK . Die Demos, die sie bieten Hilfe bewerten Sie ihre Technologie nicht aber ihre Sdsk. Sie müssen href="http://www.pittpatt.com/contact/" zum Kontakt .

  4. Sensible Vision- - Informationen über ihre SDK . Ihre Website ermöglicht es Ihnen leicht ein Preisangebot zu erhalten und Sie können auch eine Evaluierungs-Kit bestellen, dass Sie ihre Technologie zu bewerten helfen.

Andere Tipps

Update

OpenCV 2.4.2 kommt nun mit dem sehr neuen cv: : FaceRecognizer . Bitte beachten Sie die sehr ausführliche Dokumentation unter:

Original Beitrag

Ich habe libfacerec , eine moderne Gesichtserkennungsbibliothek für die OpenCV C ++ API (BSD-Lizenz). libfacerec hat keine zusätzliche Abhängigkeiten und implementiert die Methode Eigengesichter, Fisherfaces Methode und Local Binary Patterns Histogramme. Teile der Bibliothek werden in OpenCV 2.4 aufgenommen werden.

Die neueste Revision des libfacerec unter:

Die Bibliothek wurde für OpenCV geschrieben 2.3.1 mit den bevorstehenden OpenCV 2.4 im Auge, so dass ich nicht unterstützen OpenCV-Versionen vor 2.3.1. Dieses Projekt kommt als CMake Projekt mit einem gut dokumentierten API, gibt es auch ein Tutorial zu Gender-Klassifikation. Sie können eine HTML-Version der Dokumentation finden Sie unter:

Wenn Sie verstehen wollen, wie diese Algorithmen arbeiten, möchten Sie vielleicht meinen Führer lesen Anerkennung zu Angesicht (enthält Python und GNU Octave / MATLAB Beispiele):

Es gibt auch eine Python und GNU Octave / MATLAB Implementierung der Algorithmen in rel="noreferrer">. Beide Projekte in facerec auch mehrere Kreuzvalidierungsverfahren zur Auswertung Algorithmen sind:

Die relevanten Publikationen sind:

  • Turk, M., und Pentland, A. Eigengesichter für die Anerkennung. . Journal of Cognitive Neuroscience 3 (1991), 71-86.
  • Belhumeur, P. N., Hespanha, J., und Kriegman, D. Eigengesichter vs. Fisherfaces. Recognition klassenspezifische lineare Projektion mit . IEEE Transactions on Pattern Analysis and Machine Intelligence-19, 7 (1997), 711-720.
  • Ahonen, T., Hadid, A. und Pietikainen, M. Gesichtserkennung mit Local Binary Patterns. . Computer Vision -. ECCV 2004 (2004), 469-481

pam-face-Authentifizierung ein PAM-Modul für Face-Authentifizierung: aber es würde einige Arbeit zu bekommen benötigen, was Sie wollen. Ein kurzer Test zeigte, dass die Erkennungsrate wie jene von VeriLook von Neurotechnologie nicht so gut ist.

Malic ist eine weitere Open-Source-Gesichtserkennungssoftware, die verwendet Gabor Wavelet-Deskriptoren. Aber das letzte Update auf die Quelle ist 3 Jahre alt.

Von der Website: „ Malic ist eine Open-Source-Gesichtserkennungssoftware, die Gabor-Wavelet verwendet. Es Echtzeit-Gesichtserkennungssystem, das auf Basis von Malib und CSU Gesichtserkennung Evaluation System (csuFaceIdEval) .Uses Malib Bibliothek für Echtzeit-Bildverarbeitung und einige csuFaceIdEval für die Gesichtserkennung . "

Ferner könnte dies von Interesse sein:

gaborboosting : Ein wissenschaftliches Programm angewandt auf Gesichtserkennung mit Gabor-Wavelet und AdaBoost Algorithmus

Extraction Library-Funktion - FELib bezieht sich href="http://www.vision.ee.ethz.ch/~zhuji/pdfs/tmm_tkfd07.pdf" rel="noreferrer"> "Face Annotation von Transduktive Kernel Fisher Diskriminanz"

Ich würde denken, Eigengesicht , die Sie bereits tun, die Art und Weise ist, wenn man zu gehen will den Abstand zwischen den Flächen zu berechnen. Sie können verschiedene Ansätze wie Support Vector Machine ausprobieren oder Hidden Markov Model . Ich fand eine Seite, die wichtigsten Algorithmen aufgelistet, die für die Gesichtserkennung verwendet werden könnte: Face Recognition Homepage .

Auch wenn Sie sagen, „eine bessere Leistung,“ tun Sie Geschwindigkeit oder Genauigkeit bedeuten? Welche Art von Problem ist aufgetreten? Wie Variation sind die Daten? Sind sie meist frontal Gesicht oder tun sie umfassen Profile?

Wenn Ihr Projekt auf einem Film oder TV ist, oder alles, was ein Skript hat, sieht es aus wie Sie auf jeden Fall auf der Arbeit von aussehen wollen? Mark Everingham et al. . Die Software ist verfügbar , ebenso wie die Ergebnisse auf einer Buffy Episode

Das solltest du dir ansehen http://libccv.org/

Es ist ziemlich neu, bietet aber eine kostenlose Open-Source-API auf hoher Ebene für die Gesichtserkennung.

(...und ich wage zu sagen, es ist verdammt erstaunlich)

Bearbeiten:Erwähnenswert ist auch, dass dies eine der wenigen Bibliotheken ist, die NICHT von opencv abhängig ist, und nur zum Spaß gibt es hier eine Kopie des Codes für die Gesichtserkennung von der Dokumentationsseite, um Ihnen eine Vorstellung davon zu geben, worum es geht:

#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;
} 

Ich weiß, dass es eine Weile gewesen ist, sondern auch für alle anderen Interessierten gibt es die Faint Projekt, das hat eine Menge dieser Funktionen (Erkennung, Erkennung, etc.) in einem netten Softwarepaket gebündelt.

Wir verwenden OpenCV . Es hat viel von Nicht-Gesichtserkennung Sachen in der auch dort, aber sicher sein, es tut Gesichtserkennung.

Sie können versuchen, offene MVG-Bibliothek, es kann auch für mehrere Schnittstellen verwendet werden.

Der nächste Schritt wäre Fisherfaces. Probieren Sie es aus und prüfen, ob sie für Sie arbeiten. Hier ist ein schöner Vergleich.

Nicht wirklich das, was Sie suchen, aber es kann für Sie nützlich sein. Gesichtserkennung / Computer Vision Algorithmen in MATLAB.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top