Face Landmark Extraktion in OpenCV 3.0. Kann jemand gute Open-Source-Bibliotheken vorschlagen, die es mir ermöglichen, Gesichtsmarksteine ​​zu extrahieren?

8

Ich benutze derzeit OpenCV3.0 mit der Hoffnung, dass ich in der Lage sein werde, ein Programm zu erstellen, das drei Dinge erledigt. Zuerst werden Gesichter in einem Live-Video-Feed gefunden. Zweitens extrahiert die Standorte der Gesichtspunkte mit ASM oder AAM. Verwenden Sie schließlich eine SVM, um den Gesichtsausdruck auf dem Gesicht der Person im Video zu klassifizieren.

Ich habe viel darüber geforscht, kann aber nirgendwo die am besten geeignete Open-Source-AAM- oder ASM-Bibliothek finden, um diese Funktion zu erfüllen. Wenn es möglich ist, möchte ich auch in der Lage sein, die AAM oder ASM zu trainieren, um die spezifischen Gesichtspunkte, die ich benötige, zu extrahieren. Zum Beispiel alle nummerierten Punkte im unten verlinkten Bild: www.imgur.com/XnbCZXf

Wenn es Alternativen zu dem gibt, was ich vorgeschlagen habe, um die erforderliche Funktionalität zu erhalten, dann zögern Sie nicht, sie mir zu empfehlen.

Vielen Dank im Voraus für alle Antworten, alle Ratschläge sind willkommen, mich bei diesem Projekt zu unterstützen.

    
EiiNHERJii1991 15.04.2015, 18:10
quelle

4 Antworten

7

In den Kommentaren sehe ich, dass Sie sich dafür entscheiden, Ihren eigenen Gesichtsmarkierungsdetektor unter Verwendung der dlib-Bibliothek zu trainieren. Sie hatten ein paar Fragen darüber, mit welchem ​​Trainingssatz dlib das bereitgestellte Modell "shape_predictor_68_face_landmarks.dat" generiert wurde.

Einige Hinweise:

  • Der Autor (Davis King) gab an, dass er die kommentierten Bilder aus dem iBUG 300-W-Datensatz verwendet habe. Dieser Datensatz enthält insgesamt 11.167 Bilder, die mit der 68-Punkte-Konvention versehen sind. Als Standardtrick spiegelt er auch jedes Bild, um die Größe des Trainingssatzes zu verdoppeln, dh 11.167 * 2 = 22334 Bilder. Hier ist ein Link zum Datensatz: Ссылка
    • Hinweis: Das iBUG 300-W-Dataset enthält zwei Datasets, die nicht frei / öffentlich verfügbar sind: XM2VTS und FRGCv2. Leider machen diese Bilder einen Großteil des iBug 300-W (7310 Bilder oder 65,5%) aus.
    • Das Originalpapier wurde nur für die HELEN-, AFW- und LFPW-Datensätze trainiert. Sie sollten also in der Lage sein, ein vernünftig gutes Modell nur für die öffentlich verfügbaren Bilder (HELEN, LFPW, AFW, IBUG) zu erstellen, dh 3857 Bilder.
      • Wenn Sie Google "eine Millisekunde Face Alignment kazemi" eingeben, werden das Papier (und die Projektseite) die besten Treffer sein.

Sie können mehr über die Einzelheiten des Trainingsverfahrens lesen, indem Sie den Kommentarbereich dieses dlib-Blogposts lesen. Insbesondere diskutiert er kurz die Parameter, die er für das Training gewählt hat: Ссылка

Angesichts der Größe des Trainings (Tausende von Bildern) glaube ich nicht, dass Sie mit nur wenigen Bildern akzeptable Ergebnisse erzielen werden. Glücklicherweise gibt es viele öffentlich verfügbare Gesichtsdatensätze, einschließlich des oben verlinkten Datensatzes:)

Hoffe das hilft!

    
ekim 08.07.2015 22:49
quelle
2

AAM und ASM sind ziemlich alt und die Ergebnisse sind ein bisschen enttäuschend.

Die meisten Tracker von Facial Landmarks verwenden Kaskaden von Patches oder Deep-Learning. Du hast DLib, das mit dieser Demo , einige andere auf GitHub oder eine Reihe von API als diese eine , die frei ist zu verwenden.

Sie können auch mein Projekt mit C ++ / OpenCV / DLib ansehen mit allen Funktionen, die Sie zitiert haben und perfekt funktionieren.

    
Tom A 15.04.2015 19:23
quelle
1
  • Versuchen Sie Stasm4.0.0 . Es gibt ungefähr 77 Punkte auf Gesicht.
Sagar Patel 14.12.2015 13:16
quelle
0

Ich empfehle Ihnen, die FaceTracker -Bibliothek zu verwenden. Es wird in C ++ mit OpenCV 2.x geschrieben. Sie werden nicht enttäuscht sein.

    
Kornel 17.04.2015 12:04
quelle

Tags und Links