Przewodnik wykrywania punktów orientacyjnych twarzy

Zadanie dotyczące rozpoznawania twarzy

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.

Wypróbuj!

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:

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:
  • nieruchome obrazy;
  • Zdekodowane klatki wideo
  • Kanał z obrazem na żywo
Narzędzie do tworzenia punktów orientacyjnych twarzy generuje następujące wyniki:
  • Pola ograniczające wykryte twarze w ramce obrazu.
  • Kompletna siatka twarzy dla każdej wykrytej twarzy z punktami mieszania oznaczającymi mimikę i współrzędnymi jej punktów orientacyjnych.

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.

Najważniejsze punkty programu Punkt orientacyjny

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