Zadanie MediaPipe Face Markuper umożliwia wykrywanie punktów orientacyjnych i mimiki twarzy na zdjęciach i filmach. W tym zadaniu możesz rozpoznawać mimikę, stosować filtry i efekty oraz tworzyć wirtualne awatary. To zadanie wykorzystuje modele systemów uczących się, które mogą działać z pojedynczymi obrazami lub ciągłym strumieniem obrazów. Zadanie generuje trójwymiarowe punkty orientacyjne, wyniki mieszania (współczynniki reprezentujące wyraz twarzy), aby w czasie rzeczywistym określić szczegółowe dane o twarzach, oraz macierze przekształceń do wykonywania przekształceń wymaganych do renderowania efektów.
Rozpocznij
Zacznij korzystać z tego zadania, postępując zgodnie z instrukcjami implementacji jednego z przewodników po implementacji dla platformy docelowej. Przewodniki dotyczące poszczególnych platform przeprowadzą Cię przez podstawowe wdrożenie 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ładowy kod – 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 obrót obrazu, zmianę jego rozmiaru, normalizację i konwersję przestrzeni kolorów.
- Próg wyniku – filtrowanie wyników na podstawie wyników prognozy.
Dane wejściowe zadań | Wyniki działania |
---|---|
Punkt orientacyjny twarzy akceptuje dane jednego z tych typów danych:
|
Narzędzie do tworzenia punktów orientacyjnych twarzy generuje następujące 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. Są 3 tryby: IMAGE: tryb wprowadzania pojedynczych obrazów. WIDEO: tryb dekodowanych klatek filmu. TRANSMISJA NA ŻYWO: tryb transmisji danych wejściowych na żywo, np. z kamery. W tym trybie należy wywołać metodę resultListener, aby skonfigurować odbiornik, który będzie odbierał wyniki asynchronicznie. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
num_faces |
Maksymalna liczba twarzy, które może wykryć FaceLandmarker . Wygładzanie jest stosowane tylko wtedy, gdy num_faces ma wartość 1.
|
Integer > 0 |
1 |
min_face_detection_confidence |
Minimalny stopień pewności, że wykrywanie twarzy zostanie uznane za udane. | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
Minimalny wskaźnik ufności wykrywania obecności twarzy w przypadku wykrywania punktów orientacyjnych twarzy. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
Minimalny wynik pewności, że śledzenie twarzy zostanie uznane za udane. | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
Określa, czy kreator twarzy wyświetla kształty twarzy. Do renderowania 3D modelu twarzy używane są kształty mieszania twarzy. | Boolean |
False |
output_facial_transformation_matrixes |
Określa, czy FaceLandmarker generuje macierz transformacji twarzy. FaceLandmarker wykorzystuje macierz do przekształcania punktów orientacyjnych twarzy z kanonicznego modelu twarzy w wykrytą twarz, dzięki czemu użytkownicy mogą stosować efekty na wykryte punkty orientacyjne. | Boolean |
False |
result_callback |
Ustawia detektor wyników, aby asynchronicznie otrzymywać wyniki dotyczące punktów orientacyjnych, gdy FaceLandmarker jest w trybie transmisji na żywo.
Tego ustawienia można używać tylko wtedy, gdy tryb biegowy jest ustawiony na LIVE_STREAM |
ResultListener |
N/A |
Modele
Funkcja wyznaczania punktów orientacyjnych twarzy wykorzystuje serię modeli do przewidywania punktów orientacyjnych twarzy. Pierwszy model wykrywa twarze, drugi określa ich punkty orientacyjne, a trzeci używa tych punktów do identyfikacji cech i wyrazów twarzy.
Poniższe modele są prezentowane w formie pakietu modeli, który można pobrać:
- Model wykrywania twarzy: wykrywa obecność twarzy za pomocą kilku kluczowych punktów orientacyjnych.
- Model siatki twarzy: dodaje pełne mapowanie twarzy. Model uzyskuje oszacowanie 478 trójwymiarowych punktów orientacyjnych twarzy.
- Model prognozowania mieszania: otrzymuje dane wyjściowe z modelu siatki twarzy, które prognozuje 52 wyniki mieszania, czyli współczynniki reprezentujące różne wyraz twarzy.
Model wykrywania twarzy to krótki zasięg w BlazeFace, lekki i dokładny system wykrywania twarzy zoptymalizowany pod kątem wnioskowania z GPU na urządzenia mobilne. Więcej informacji znajdziesz w sekcji dotyczącej wykrywania twarzy.
Na ilustracji poniżej widać pełne mapowanie punktów orientacyjnych twarzy na podstawie danych wyjściowych pakietu modeli.
Aby zobaczyć bardziej szczegółowe punkty orientacyjne, obejrzyj obraz w pełnym rozmiarze.
Pakiet modeli | Wprowadź kształt | Typ danych | Karty modelu | Wersje |
---|---|---|---|---|
FaceLandmarker | Wykrywacz twarzy: 192 x 192 FaceMesh-V2: 256 x 256 Kształt mieszania: 1 x 146 x 2 |
liczba zmiennoprzecinkowa 16 |
Wykrywacz twarzy FaceMesh-V2 Blendshape |
Najnowsze |