Wykrywanie twarzy

Dzięki interfejsowi API wykrywania twarzy ML Kit możesz wykrywać twarze na obrazie, identyfikować kluczowe cechy twarzy i uzyskiwać kontury wykrytych twarzy.

Dzięki wykrywaniu twarzy możesz uzyskać informacje potrzebne do wykonywania zadań, takich jak ozdabianie autoportretów i portretów lub generowanie awatarów ze zdjęcia użytkownika. Ponieważ ML Kit potrafi wykrywać twarze w czasie rzeczywistym, można go używać w aplikacjach takich jak czaty wideo czy gry, które reagują na mimikę gracza.

iOS -Android

Jeśli jesteś programistą Flutter, być może zainteresuje Cię FlutterFire , który zawiera wtyczkę do interfejsów API ML Vision firmy Firebase.

Kluczowe możliwości

Rozpoznawanie i lokalizowanie rysów twarzy Uzyskaj współrzędne oczu, uszu, policzków, nosa i ust każdej wykrytej twarzy.
Uzyskaj kontury rysów twarzy Uzyskaj kontury wykrytych twarzy oraz ich oczu, brwi, ust i nosa.
Rozpoznawanie wyrazu twarzy Określ, czy dana osoba się uśmiecha, czy ma zamknięte oczy.
Śledź twarze w klatkach wideo Uzyskaj identyfikator twarzy każdej wykrytej osoby. Identyfikator ten jest spójny we wszystkich wywołaniach, dzięki czemu można na przykład manipulować obrazem konkretnej osoby w strumieniu wideo.
Przetwarzaj klatki wideo w czasie rzeczywistym Wykrywanie twarzy odbywa się na urządzeniu i jest wystarczająco szybkie, aby można je było wykorzystać w aplikacjach czasu rzeczywistego, takich jak manipulacja wideo.

Przykładowe wyniki

Przykład 1

Dla każdej wykrytej twarzy:

Twarz 1 z 3
Wielokąt ograniczający (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882 812, 329,660278320312)
Kąty obrotu Y: -14.054030418395996, Z: -55.007488250732422
Identyfikator śledzenia 2
Punkty orientacyjne twarzy
Lewe oko (945,869323730469, 211,867126464844)
Prawe oko (971,579467773438, 247,257247924805)
Dno ust (907,756591796875, 259,714477539062)

...itd.

Prawdopodobieństwa cech
Uśmiechnięty 0,88979166746139526
Lewe oko otwarte 0,98635888937860727
Prawe oko otwarte 0,99258323386311531

Przykład 2 (wykrywanie konturu twarzy)

Jeśli masz włączone wykrywanie konturu twarzy, otrzymasz także listę punktów za każdą wykrytą cechę twarzy. Punkty te reprezentują kształt obiektu. Poniższy obraz ilustruje sposób, w jaki te punkty są przypisane do twarzy (kliknij obraz, aby powiększyć):

Kontury rysów twarzy
Mostek nosowy (505.149811, 221.201797), (506.987122, 313.285919)
Lewe oko (404.642029, 232.854431), (408.527283, 231.366623), (413.565796, 229.427856), (421.378296, 226.967682), (432.598755, 225.434143), (4 42.953064, 226.089508), (453.899811, 228.594818), (461.516418, 232.650467), (465.069580 , 235.600845), (462.170410, 236.316147), (456.233643, 236.891602), (446.363922, 237.966888), (435.698914, 238.149323), (424.320740, 237.235168), (416.037720, 236.012115), (409.983459, 234.870300)
Górna część górnej wargi (421.662048, 354.520813), (428.103882, 349.694061), (440.847595, 348.048737), (456.549988, 346.295532), (480.526489, 346.089294), (5 03.375702, 349.470459), (525.624634, 347.352783), (547.371155, 349.091980), (560.082031 , 351.693268), (570.226685, 354.210175), (575.305420, 359.257751)
(itp.)