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 twarzy 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. Aby uzyskać bardziej szczegółowy przewodnik, zobacz Wywoływanie interfejsu API wykrywania.

Prostokąt twarzy

Każda wykryta twarz odpowiada faceRectangle polu 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 przy użyciu programu 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 do twarzy. Możesz zażądać identyfikatora twarzy w wywołaniu interfejsu API wykrywania twarzy.

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:

A face diagram with all 27 landmarks labeled

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 zwracane są wystarczająco dokładne, aby umożliwić śledzenie wzroku twarzy.

Atrybuty

Uwaga

Firma Microsoft wycofała 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. Obejmują one możliwości, które przewidują emocje, płeć, wiek, uśmiech, zarost, włosy i makijaż. Przeczytaj więcej na temat tej decyzji tutaj.

Atrybuty to zestaw funkcji, które mogą być opcjonalnie wykrywane przez interfejs API rozpoznawania twarzy — wykrywanie . 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 maski, z współczynnikiem ufności między zero a jednym dla każdego akcesorium.

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

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

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

  • Pozy głowy. Orientacja 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:

    A head with the pitch, roll, and yaw axes labeled

    Aby uzyskać więcej informacji na temat używania tych wartości, zobacz Przewodnik po stronie głównego.

  • 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. Szum wizualny wykryty na obrazie twarzy. Ten atrybut zwraca wartość z zakresu od zera do jednej i nieformalnej oceny 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 Ogólna jakość obrazu dotycząca tego, czy obraz używany w wykrywaniu ma wystarczającą jakość do próby rozpoznania twarzy. Wartość jest nieformalną oceną niskiej, średniej lub wysokiej. W scenariuszach identyfikacji zaleca się stosowanie tylko obrazów o wysokiej jakości. W przypadku scenariuszy identyfikacji zaleca się stosowanie tylko "wysokiej jakości" obrazów.

    Uwaga

    Dostępność każdego atrybutu zależy od określonego modelu wykrywania. Atrybut QualityForRecognition zależy również od modelu rozpoznawania, ponieważ jest 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).

Two face images with and without rotation

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. Jeśli to możliwe, należy użyć dolnego kąta migawki. Powoduje to jaśniejsze klatki wideo.

    Uwaga

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

Następne kroki

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