Mit der MediaPipe Face Landmarker-Aufgabe können Sie Gesichts-Landmarks und Gesichtsausdrücke in Bildern und Videos erkennen. Mit dieser Aufgabe können Sie menschliche Gesichtsausdrücke erkennen, Gesichtsfilter und ‑effekte anwenden und virtuelle Avatare erstellen. Für diese Aufgabe werden ML-Modelle verwendet, die mit einzelnen Bildern oder einem kontinuierlichen Stream von Bildern arbeiten können. Die Aufgabe gibt dreidimensionale Gesichts-Landmarks, Blendshape-Werte (Koeffizienten, die den Gesichtsausdruck darstellen) aus, um detaillierte Gesichtsoberflächen in Echtzeit abzuleiten, sowie Transformationsmatrizen, um die für das Rendern von Effekten erforderlichen Transformationen durchzuführen.
Jetzt starten
Folgen Sie einer der Implementierungsanleitungen für Ihre Zielplattform, um diese Aufgabe zu verwenden. In diesen plattformspezifischen Anleitungen wird die grundlegende Implementierung dieser Aufgabe beschrieben. Dazu gehören ein empfohlenes Modell und ein Codebeispiel mit empfohlenen Konfigurationsoptionen:
- Android – Codebeispiel – Anleitung
- Python – Codebeispiel – Anleitung
- Web – Codebeispiel – Anleitung
Taskdetails
In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfigurationsoptionen dieser Aufgabe beschrieben.
Funktionen
- Verarbeitung von Eingabebildern: Die Verarbeitung umfasst Bilddrehung, Größenanpassung, Normalisierung und Farbraumkonvertierung.
- Grenzwert für den Score: Ergebnisse anhand von Vorhersagescores filtern.
| Aufgabeneingaben | Aufgabenausgaben |
|---|---|
Der Face Landmarker akzeptiert Eingaben mit einem der folgenden Datentypen:
|
Der Face Landmarker gibt die folgenden Ergebnisse aus:
|
Konfigurationsoptionen
Für diese Aufgabe sind die folgenden Konfigurationsoptionen verfügbar:
| Option | Beschreibung | Wertebereich | Standardwert |
|---|---|---|---|
running_mode |
Legt den Ausführungsmodus für die Aufgabe fest. Es gibt drei Modi: IMAGE: Der Modus für einzelne Bildeingaben. VIDEO: Der Modus für decodierte Frames eines Videos. LIVE_STREAM: Der Modus für einen Livestream von Eingabedaten, z. B. von einer Kamera. In diesem Modus muss „resultListener“ aufgerufen werden, um einen Listener einzurichten, der Ergebnisse asynchron empfängt. |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
num_faces |
Die maximale Anzahl von Gesichtern, die von FaceLandmarker erkannt werden können. Die Glättung wird nur angewendet, wenn num_faces auf 1 gesetzt ist.
|
Integer > 0 |
1 |
min_face_detection_confidence |
Der Mindestkonfidenzwert, damit die Gesichtserkennung als erfolgreich gilt. | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
Der minimale Konfidenzwert für die Gesichtserkennung bei der Erkennung von Gesichts-Landmarks. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
Der Mindest-Konfidenzwert für das Gesichtstracking, damit es als erfolgreich gilt. | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
Gibt an, ob Face Landmarker Gesichts-Blendshapes ausgibt. Gesichts-Blendshapes werden zum Rendern des 3D-Gesichtsmodells verwendet. | Boolean |
False |
output_facial_transformation_matrixes |
Gibt an, ob FaceLandmarker die Transformationsmatrix für das Gesicht ausgibt. FaceLandmarker verwendet die Matrix, um die markanten Stellen im Gesicht aus einem kanonischen Gesichtsmodell in das erkannte Gesicht zu transformieren. So können Nutzer Effekte auf die erkannten markanten Stellen anwenden. | Boolean |
False |
result_callback |
Legt den Ergebnis-Listener fest, der die Landmarker-Ergebnisse asynchron empfängt, wenn sich FaceLandmarker im Livestream-Modus befindet.
Kann nur verwendet werden, wenn der Ausführungsmodus auf LIVE_STREAM festgelegt ist. |
ResultListener |
N/A |
Modelle
Der Face Landmarker verwendet eine Reihe von Modellen, um Gesichts-Landmarks vorherzusagen. Das erste Modell erkennt Gesichter, ein zweites Modell lokalisiert markante Stellen in den erkannten Gesichtern und ein drittes Modell verwendet diese markanten Stellen, um Gesichtszüge und ‑sausdrücke zu identifizieren.
Die folgenden Modelle sind in einem herunterladbaren Modellpaket enthalten:
- Modell zur Gesichtserkennung: erkennt das Vorhandensein von Gesichtern anhand einiger wichtiger Gesichtsmerkmale.
- Gesichts-Mesh-Modell: Fügt eine vollständige Abbildung des Gesichts hinzu. Das Modell gibt eine Schätzung von 478 dreidimensionalen Gesichts-Landmarks aus.
- Blendshape-Vorhersagemodell: Empfängt die Ausgabe des Gesichts-Mesh-Modells und sagt 52 Blendshape-Werte voraus. Das sind Koeffizienten, die verschiedene Gesichtsausdrücke darstellen.
Das Modell für die Gesichtserkennung ist das BlazeFace-Modell für kurze Distanzen, ein leichtgewichtiger und genauer Gesichtserkennungsalgorithmus, der für die Inferenz auf mobilen GPUs optimiert ist. Weitere Informationen finden Sie unter der Aufgabe Face Detector.
Das Bild unten zeigt eine vollständige Zuordnung von Gesichtsmerkmalen aus der Ausgabe des Modell-Bundles.
Eine detailliertere Ansicht der Gesichtsmerkmale finden Sie im Bild in voller Größe.
| Modellpaket | Eingabeform | Datentyp | Modellkarten | Versionen |
|---|---|---|---|---|
| FaceLandmarker | FaceDetector: 192 × 192 FaceMesh-V2: 256 × 256 Blendshape: 1 × 146 × 2 |
float 16 |
FaceDetector FaceMesh-V2 Blendshape |
Neueste |