Udostępnij za pośrednictwem


Wykrywanie twarzy, atrybuty i dane wejściowe

Uwaga

Dostęp do usługi rozpoznawania twarzy jest ograniczony na podstawie kryteriów kwalifikowalności i użycia w celu obsługi naszych zasad odpowiedzialnej sztucznej inteligencji. Usługa rozpoznawania twarzy jest dostępna tylko dla klientów i partnerów zarządzanych przez firmę Microsoft. Użyj formularza do wprowadzania rozpoznawania twarzy, aby ubiegać się o dostęp. Aby uzyskać więcej informacji, zobacz stronę Dostęp ograniczony do twarzy.

Ważne

Atrybuty twarzy są przewidywane za pomocą algorytmów statystycznych. Nie zawsze mogą być dokładne. Zachowaj ostrożność podczas podejmowania decyzji na podstawie danych atrybutów. Należy powstrzymać się od używania tych atrybutów do ochrony przed fałszowaniem. Zamiast tego zalecamy użycie wykrywania na żywo twarzy. Aby uzyskać więcej informacji, zobacz Samouczek: wykrywanie liveness na twarzach.

W tym artykule wyjaśniono pojęcia dotyczące wykrywania twarzy i danych atrybutów twarzy. Wykrywanie twarzy to proces lokalizowania ludzkich twarzy na obrazie i opcjonalnie zwracania różnych rodzajów danych związanych z twarzą.

Interfejs API wykrywania służy do wykrywania twarzy na obrazie. Aby rozpocząć korzystanie z interfejsu API REST lub zestawu SDK klienta, postępuj zgodnie z przewodnikiem Szybki start dotyczący usługi rozpoznawania twarzy. Aby uzyskać bardziej szczegółowy przewodnik, zobacz Wywoływanie interfejsu API wykrywania.

Prostokąt twarzy

Każda wykryta twarz odpowiada polu faceRectangle w odpowiedzi. Jest to zestaw współrzędnych pikseli dla lewej, górnej, szerokości i wysokości wykrytej twarzy. Korzystając z tych współrzędnych, możesz uzyskać lokalizację i rozmiar twarzy. W odpowiedzi interfejsu API twarze są wyświetlane w kolejności od największej do najmniejszej.

Wypróbuj możliwości wykrywania twarzy szybko i łatwo, korzystając z usługi Azure AI Vision Studio.

Identyfikator twarzy

Identyfikator twarzy to unikatowy ciąg identyfikatora dla każdej wykrytej twarzy na obrazie. Funkcja Face ID wymaga zatwierdzenia ograniczonego dostępu, którego można zastosować, wypełniając formularz do wprowadzania. Aby uzyskać więcej informacji, zobacz stronę Dostęp ograniczony interfejsu API rozpoznawania twarzy. Możesz zażądać identyfikatora twarzy w wywołaniu interfejsu API wykrywania .

Punkty charakterystyczne twarzy

Punkty orientacyjne twarzy to zestaw łatwych do znalezienia punktów na twarzy, takich jak źrenice lub wierzchołek nosa. Domyślnie istnieje 27 wstępnie zdefiniowanych punktów charakterystycznych. Na poniższej ilustracji przedstawiono wszystkie 27 punktów:

Diagram twarzy ze wszystkimi 27 punktami orientacyjnymi oznaczonymi etykietami.

Współrzędne punktów są zwracane w jednostkach pikseli.

Model Detection_03 ma obecnie najdokładniejsze wykrywanie punktów orientacyjnych. Punkty orientacyjne oczu i źrenicy, które zwraca, są wystarczająco dokładne, aby umożliwić śledzenie wzroku twarzy.

Atrybuty

Uwaga

Firma Microsoft ma wycofane lub ograniczone możliwości rozpoznawania twarzy, które mogą służyć do wnioskowania stanów emocjonalnych i atrybutów tożsamości, które, w przypadku nieprawidłowego użycia, mogą podlegać stereotypom, dyskryminacji lub niesprawiedliwej odmowy usług. Wycofane możliwości to emocje i płeć. Ograniczone możliwości to wiek, uśmiech, zarost, włosy i makijaż. Wyślij wiadomość e-mail do interfejsu API rozpoznawania twarzy platformy Azure, jeśli masz odpowiedzialny przypadek użycia któregokolwiek z ograniczonych możliwości. Przeczytaj więcej na temat tej decyzji tutaj.

Atrybuty to zestaw funkcji, które można opcjonalnie wykryć za pomocą interfejsu API wykrywania. Można wykryć następujące atrybuty:

  • Akcesoria: wskazuje, czy dana twarz ma akcesoria. Ten atrybut zwraca możliwe akcesoria, w tym okulary, okulary i maskę, z współczynnikiem ufności między zero a jednym dla każdego akcesorium.

  • Rozmycie: wskazuje rozmycie twarzy na obrazie. Ten atrybut zwraca wartość z zakresu od zera do jednej i nieformalnej oceny niskiej, średniej lub wysokiej.

  • Ekspozycja: wskazuje ekspozycję twarzy na obrazie. Ten atrybut zwraca wartość z zakresu od zera do jednej i nieformalnej oceny wartości underExposure, goodExposure lub overExposure.

  • Okulary: wskazuje, czy dana twarz ma okulary. Możliwe wartości to NoGlasses, ReadingGlasses, Okulary przeciwsłoneczne i Gogle pływające.

  • Położenie głowy: wskazuje orientację twarzy w przestrzeni 3D. Ten atrybut jest opisany przez kąty rzutowania, yaw i pitch w stopniach, które są zdefiniowane zgodnie z regułą po prawej stronie. Kolejność trzech kątów to rzut-yaw-pitch, a zakres wartości każdego kąta wynosi od -180 stopni do +180 stopni. Orientacja 3D twarzy jest szacowana przez kąty rzutowania, yaw i pitch w kolejności. Zobacz następujący diagram mapowania kątów:

    Diagram głowy z rzutem, rzutem i osiami yaw oznaczonymi.

    Aby uzyskać więcej informacji na temat używania tych wartości, zobacz Use the HeadPose attribute (Używanie atrybutu HeadPose).

  • Maska: wskazuje, czy twarz nosi maskę. Ten atrybut zwraca możliwy typ maski i wartość logiczną wskazującą, czy nos i usta są pokryte.

  • Szum: wskazuje szum wizualny wykryty na obrazie twarzy. Ten atrybut zwraca wartość z zakresu od zera do jednego oraz nieformalną ocenę niskiej, średniej lub wysokiej.

  • Okluzji: wskazuje, czy istnieją obiekty blokujące części twarzy. Ten atrybut zwraca wartość logiczną dla eyeOccluded, foreheadOccluded i mouthOccluded.

  • QualityForRecognition: wskazuje ogólną jakość obrazu, aby określić, czy obraz używany w wykrywaniu jest wystarczającą jakością, aby podjąć próbę rozpoznawania twarzy. Wartość jest nieformalną oceną niskiej, średniej lub wysokiej. W scenariuszach identyfikacji zalecane są tylko obrazy o wysokiej jakości, a jakość w lub lepszej niż średnia .

    Uwaga

    Dostępność każdego atrybutu zależy od określonego modelu wykrywania. Atrybut QualityForRecognition zależy również od modelu rozpoznawania, ponieważ jest on obecnie dostępny tylko w przypadku używania kombinacji modelu wykrywania detection_01 lub detection_03 oraz modelu rozpoznawania recognition_03 lub recognition_04.

Wymagania dotyczące danych wejściowych

Skorzystaj z poniższych wskazówek, aby upewnić się, że obrazy wejściowe dają najdokładniejsze wyniki wykrywania:

  • Obsługiwane formaty obrazów wejściowych to JPEG, PNG, GIF (pierwsza ramka), BMP.
  • Rozmiar pliku obrazu nie powinien być większy niż 6 MB.
  • Minimalny wykrywalny rozmiar twarzy to 36 x 36 pikseli na obrazie, który nie jest większy niż 1920 x 1080 pikseli. Obrazy o rozmiarze większym niż 1920 x 1080 pikseli mają proporcjonalnie większy minimalny rozmiar twarzy. Zmniejszenie rozmiaru twarzy może spowodować, że niektóre twarze nie zostaną wykryte, nawet jeśli są one większe niż minimalny rozmiar twarzy wykrywalny.
  • Maksymalny wykrywalny rozmiar twarzy to 4096 x 4096 pikseli.
  • Twarze poza zakresem rozmiaru od 36 x 36 do 4096 x 4096 pikseli nie zostaną wykryte.

Dane wejściowe z informacjami o orientacji

Niektóre obrazy wejściowe w formacie JPEG mogą zawierać informacje o orientacji w metadanych formatu pliku obrazu (EXIF). Jeśli orientacja EXIF jest dostępna, obrazy są automatycznie obracane do prawidłowej orientacji przed wysłaniem do wykrywania twarzy. Prostokąt twarzy, punkty orientacyjne i pozy głowy dla każdej wykrytej twarzy są szacowane na podstawie obróconego obrazu.

Aby prawidłowo wyświetlić prostokąt twarzy i punkty orientacyjne, należy upewnić się, że obraz został poprawnie obrócony. Większość narzędzi do wizualizacji obrazów automatycznie obraca obraz zgodnie z orientacją EXIF domyślnie. W przypadku innych narzędzi może być konieczne zastosowanie rotacji przy użyciu własnego kodu. W poniższych przykładach pokazano prostokąt twarzy na obróconym obrazie (po lewej) i nieobróconym obrazie (po prawej).

Zrzut ekranu przedstawiający dwa obrazy twarzy z rotacją i bez jej obrotu.

Dane wejściowe wideo

Jeśli wykrywasz twarze z kanału informacyjnego wideo, możesz zwiększyć wydajność, dostosowując niektóre ustawienia w aparacie wideo:

  • Smoothing: Wiele kamer wideo stosuje efekt wygładzenia. Należy wyłączyć tę opcję, jeśli to możliwe, ponieważ tworzy rozmycie między ramkami i zmniejsza przejrzystość.

  • Szybkość migawki: szybsza szybkość migawki zmniejsza ilość ruchu między ramkami i sprawia, że każda ramka jest jaśniejsza. Zalecamy szybkość migawki 1/60 sekundy lub szybciej.

  • Kąt migawki: Niektóre kamery określają kąt migawki zamiast migawki. Należy użyć dolnego kąta migawki, jeśli to możliwe, co powoduje jaśniejsze klatki wideo.

    Uwaga

    Czujnik aparatu z dolnym kątem migawki otrzymuje mniej światła w każdej ramce, więc obraz jest ciemniejszy. Musisz określić odpowiedni poziom do użycia.

Następny krok

Teraz, gdy znasz już pojęcia dotyczące wykrywania twarzy, dowiedz się, jak napisać skrypt, który wykrywa twarze na danym obrazie.