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 |