Koncepcje wykrywania twarzy

Funkcja wykrywania twarzy znajduje ludzki wizerunek w multimediach wizualnych, np. na zdjęciach lub filmach. Po wykryciu twarzy można przypisać jej położenie, rozmiar i orientację. Można też wyszukiwać punkty orientacyjne, takie jak oczy czy nos.

Oto niektóre terminy, których używamy w odniesieniu do funkcji wykrywania twarzy w ML Kit:

  • Śledzenie twarzy rozszerza wykrywanie twarzy na sekwencje wideo. Każdą twarz, która pojawi się w filmie przez dowolny czas, można śledzić od klatki do klatki. Oznacza to, że w kolejnych klatkach filmu można zidentyfikować twarz, która jest tą samą osobą. Pamiętaj, że nie jest to forma rozpoznawania twarzy. Śledzenie twarzy polega tylko na wnioskowaniu na podstawie położenia i ruchu twarzy w sekwencji wideo.

  • Punkt orientacyjny to ciekawe miejsce znajdujące się na twarzy. Lewe oko, prawe oko i podstawa nosa to przykłady punktów orientacyjnych. ML Kit umożliwia zlokalizowanie punktów orientacyjnych na wykrytej twarzy.

  • Kontur to zestaw punktów przylegających do kształtu części twarzy. ML Kit umożliwia wykrywanie kontur twarzy.

  • Klasyfikacja określa, czy występują określone cechy twarzy. Na przykład twarz można sklasyfikować na podstawie tego, czy ma otwarte lub zamknięte oczy oraz czy twarz jest uśmiechnięta.

Orientacja twarzy

Poniższe terminy opisują kąt, pod jakim jest zorientowana twarz w stosunku do aparatu:

  • Euler X: twarz z dodatnim kątem Eulera X jest skierowana w górę.
  • Euler Y: twarz o dodatnim kierunku Eulera Y patrzy w prawo lub w lewo, jeśli wartość ujemna jest ujemna.
  • Euler Z: twarz o dodatnim kącie Eulera Z jest obracana w lewo względem kamery.

ML Kit nie zgłasza kąta Eulera X, Eulera Y ani Eulera Z wykrytej twarzy, gdy LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE i PERFORMANCE_MODE_FAST są ustawione razem.

Punkty orientacyjne

Punkt orientacyjny to ciekawe miejsce znajdujące się w obrębie twarzy. Liczne oko, prawe oko i podstawa nosa to przykłady punktów orientacyjnych.

ML Kit wykrywa twarze bez szukania punktów orientacyjnych. Wykrywanie punktów orientacyjnych to krok opcjonalny, który jest domyślnie wyłączony.

W tabeli poniżej znajdziesz podsumowanie wszystkich punktów orientacyjnych, które można wykryć, biorąc pod uwagę kąt Y Eulera powiązanej twarzy:

Kąt Y Eulera Wykrywalne punkty orientacyjne
< -36 stopni lewe oko, lewe usta, lewe ucho, podstawa nosa, lewy policzek
Od –36 stopni do –12 stopni lewe usta, podstawa nosa, dolne usta, prawe oko, lewe oko, lewy policzek, czubek lewej ucha
Od –12 stopni do 12 stopni prawe oko, lewe oko, podstawa nosa, lewy policzek, prawy policzek, lewe usta, prawe usta, dolne usta
12–36 stopni prawe usta, podstawa nosa, dolne usta, lewe oko, prawe oko, prawy policzek, końcówka prawego ucha
> 36 stopni prawe oko, prawe usta, prawe ucho, podstawa nosa, prawy policzek

Każdy wykryty punkt orientacyjny obejmuje powiązane z nim położenie na obrazie.

Kontury

Kontur to zestaw punktów reprezentujących kształt cech twarzy. Poniższy przykład przedstawia, jak te punkty są mapowane na twarz. Kliknij obraz, aby go powiększyć:

Każdy kontur cechy wykryty przez ML Kit jest reprezentowany przez stałą liczbę punktów:

Owal 36 punktów Górna warga (górna) 11 punktów
Lewa brew (góra) 5 punktów Górna warga (dolna) 9 punktów
Lewa brew (u dołu) 5 punktów Dolna warga (góra) 9 punktów
Prawa brew (góra) 5 punktów Dolna warga (dolna) 9 punktów
Prawa brew (u dołu) 5 punktów Mostek na nosie 2 punkty
Lewe oko 16 punktów U dołu nosa 3 punkty
Prawe oko 16 punktów
Lewy policzek (w środku) 1 punkt
Prawy policzek (w środku) 1 punkt

Gdy wyświetlisz wszystkie kontury płaszczyzny jednocześnie, otrzymasz tablicę 133 punktów, z których są odwzorowywane kontury, tak jak to pokazano poniżej:

Indeksy konturu cech
0-35 Owal
36-40 Lewa brew (góra)
41-45 Lewa brew (u dołu)
46-50 Prawa brew (góra)
51-55 Prawa brew (u dołu)
56-71 Lewe oko
72-87 Prawe oko
88-96 Górna warga (dolna)
97-105 Dolna warga (góra)
106-116 Górna warga (górna)
117-125 Dolna warga (dolna)
126, 127 Mostek na nosie
128-130 Nos do dołu (zwróć uwagę, że punkt środkowy znajduje się w indeksie 128)
131 Lewy policzek (w środku)
132 Prawy policzek (w środku)

Klasyfikacja

Klasyfikacja określa, czy występują określone cechy twarzy. ML Kit obsługuje obecnie 2 klasyfikacje: otwarte oczy i uśmiechnięta.

Klasyfikacja jest wartością pewności. Wskazuje on stopień pewności w obecności określonych cech twarzy. Na przykład wartość 0,7 lub większa dla klasyfikacji uśmiechniętej oznacza, że prawdopodobnie dana osoba się uśmiecha.

Obie klasyfikacje opierają się na wykrywaniu punktów orientacyjnych.

Pamiętaj też, że klasyfikacja „otwarte oczy” i „uśmiechnięta” dotyczy tylko twarzy przedniej, tj. twarzy o małym kącie Eulera Y (od -18 do 18 stopni).

Minimalny rozmiar twarzy

Minimalny rozmiar twarzy to odpowiedni rozmiar wyrażony jako stosunek szerokości głowy do szerokości obrazu. Na przykład wartość 0,1 oznacza, że najmniejsza twarz do wyszukania zajmuje około 10% szerokości wyszukiwanego obrazu.

Minimalny rozmiar twarzy wiąże się z porównaniem wydajności i dokładności: ustawienie minimalnego rozmiaru mniejszego umożliwia wykrywanie mniejszych twarzy, ale wykrywanie będzie trwało dłużej. Ustawienie większego rozmiaru może wykluczyć mniejsze twarze, ale będzie działać szybciej.

Minimalny rozmiar twarzy nie jest sztywny. Wykrywacz może wykryć twarze nieco mniejsze od podanych.

Dalsze kroki

Korzystanie z wykrywania twarzy w aplikacji na iOS lub Androida: