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.
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:
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!
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.
Ich empfehle Ihnen, die FaceTracker -Bibliothek zu verwenden. Es wird in C ++ mit OpenCV 2.x geschrieben. Sie werden nicht enttäuscht sein.