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: