Zadanie MediaPipe Face Landmarker umożliwia wykrywanie punktów charakterystycznych twarzy i mimiki na obrazach i w filmach. Możesz używać tego interfejsu do rozpoznawania ludzkich wyrazów twarzy, stosowania filtrów i efektów do twarzy oraz tworzenia wirtualnych awatarów. To zadanie korzysta z modeli uczenia maszynowego, które mogą przetwarzać pojedyncze obrazy lub ciągły strumień obrazów. Zadanie zwraca trójwymiarowe punkty charakterystyczne twarzy, wyniki blendshape (współczynniki reprezentujące mimikę) do wnioskowania o szczegółowych powierzchniach twarzy w czasie rzeczywistym oraz macierze przekształceń do wykonywania przekształceń wymaganych do renderowania efektów.
Rozpocznij
Aby zacząć korzystać z tego zadania, postępuj zgodnie z jednym z przewodników po implementacji dla Twojej platformy docelowej. Te przewodniki dotyczące poszczególnych platform zawierają podstawowe informacje o wdrażaniu tego zadania, w tym zalecany model i przykładowy kod z zalecanymi opcjami konfiguracji:
- Android – Przykładowy kod – Przewodnik
- Python – Przykładowy kod – Przewodnik
- Sieć – Przykład kodu – Przewodnik
Szczegóły działania
W tej sekcji opisujemy możliwości, dane wejściowe, dane wyjściowe i opcje konfiguracji tego zadania.
Funkcje
- Przetwarzanie obrazu wejściowego – przetwarzanie obejmuje obracanie obrazu, zmianę rozmiaru, normalizację i konwersję przestrzeni kolorów.
- Próg wyniku – filtruj wyniki na podstawie wyników prognozy.
| Dane wejściowe zadania | Dane wyjściowe działania |
|---|---|
Model Face Landmarker akceptuje dane wejściowe w jednym z tych typów:
|
Model Face Landmarker zwraca te wyniki:
|
Opcje konfiguracji
To zadanie ma te opcje konfiguracji:
| Nazwa opcji | Opis | Zakres wartości | Wartość domyślna |
|---|---|---|---|
running_mode |
Ustawia tryb działania zadania. Dostępne są 3 tryby: OBRAZ: tryb dla pojedynczych obrazów. WIDEO: tryb dla zdekodowanych klatek filmu. LIVE_STREAM: tryb transmisji na żywo danych wejściowych, np. z kamery. W tym trybie należy wywołać funkcję resultListener, aby skonfigurować odbiornik do asynchronicznego odbierania wyników. |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
num_faces |
Maksymalna liczba twarzy, które mogą być wykrywane przez FaceLandmarker. Wygładzanie jest stosowane tylko wtedy, gdy wartość parametru num_faces wynosi 1.
|
Integer > 0 |
1 |
min_face_detection_confidence |
Minimalny poziom ufności, przy którym wykrywanie twarzy jest uznawane za udane. | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
Minimalny poziom ufności wykrycia twarzy. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
Minimalny poziom ufności, przy którym śledzenie twarzy jest uznawane za udane. | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
Określa, czy funkcja Face Landmarker ma zwracać kształty twarzy. Kształty twarzy są używane do renderowania modelu twarzy 3D. | Boolean |
False |
output_facial_transformation_matrixes |
Określa, czy FaceLandmarker ma zwracać macierz przekształceń twarzy. FaceLandmarker używa macierzy do przekształcania punktów orientacyjnych twarzy z kanonicznego modelu twarzy na wykrytą twarz, dzięki czemu użytkownicy mogą stosować efekty do wykrytych punktów orientacyjnych. | Boolean |
False |
result_callback |
Ustawia odbiornik wyników, aby asynchronicznie odbierać wyniki wykrywania punktów charakterystycznych, gdy wykrywacz punktów charakterystycznych twarzy jest w trybie transmisji na żywo.
Można go używać tylko wtedy, gdy tryb działania ma wartość LIVE_STREAM |
ResultListener |
N/A |
Modele
Model Face Landmarker używa serii modeli do prognozowania punktów charakterystycznych twarzy. Pierwszy model wykrywa twarze, drugi lokalizuje punkty orientacyjne na wykrytych twarzach, a trzeci wykorzystuje te punkty do identyfikowania rysów twarzy i wyrazów twarzy.
Te modele są spakowane w jeden pakiet modeli do pobrania:
- Model wykrywania twarzy: wykrywa obecność twarzy na podstawie kilku kluczowych punktów orientacyjnych.
- Model siatki twarzy: dodaje pełne mapowanie twarzy. Model generuje szacunkową liczbę 478 trójwymiarowych punktów charakterystycznych twarzy.
- Model prognozowania kształtu mieszanego: otrzymuje dane wyjściowe z modelu siatki twarzy i prognozuje 52 wyniki kształtu mieszanego, które są współczynnikami reprezentującymi różne wyrazy twarzy.
Model wykrywania twarzy to BlazeFace short-range, lekki i dokładny detektor twarzy zoptymalizowany pod kątem wnioskowania na mobilnych procesorach graficznych. Więcej informacji znajdziesz w sekcji Wykrywanie twarzy.
Obraz poniżej przedstawia pełne mapowanie punktów charakterystycznych twarzy z danych wyjściowych pakietu modelu.
Aby zobaczyć bardziej szczegółowy widok punktów charakterystycznych twarzy, otwórz obraz w pełnym rozmiarze.
| Pakiet modeli | Kształt wejściowy | Typ danych | Karty modeli | Wersje |
|---|---|---|---|---|
| FaceLandmarker | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 Blendshape: 1 x 146 x 2 |
float 16 |
FaceDetector FaceMesh-V2 Blendshape |
Najnowsze |