Jak działa rozpoznawanie twarzy?

Rozpoznawanie twarzy to rodzaj technologii biometrycznej, która identyfikuje lub weryfikuje osobę poprzez analizę unikalnych cech jej twarzy. Nowoczesne systemy rozpoznawania twarzy działają poprzez wykrycie twarzy na obrazie, zmapowanie kluczowych punktów orientacyjnych twarzy (takich jak odległość między oczami, kształt linii szczęki i pozycja nosa) oraz konwersję tych pomiarów na numeryczną reprezentację zwaną deskryptorem twarzy lub embeddingiem. Ten kompaktowy wektor oddaje istotę geometrii twarzy w sposób, który można porównywać matematycznie z innymi deskryptorami.

Gdy porównywane są dwa deskryptory twarzy, system oblicza odległość euklidesową między nimi — miarę tego, jak daleko od siebie znajdują się dwa wektory w przestrzeni wielowymiarowej. Mała odległość wskazuje na wysokie podobieństwo, sugerując, że twarze prawdopodobnie należą do tej samej osoby, podczas gdy duża odległość sugeruje różne osoby. Konfigurowalny próg określa granicę między dopasowaniem a niedopasowaniem.

Opis narzędzia

To narzędzie pozwala porównać dwie fotografie twarzy obok siebie, aby określić, czy należą do tej samej osoby. Wykorzystuje wstępnie wytrenowany model głębokich sieci neuronowych (SSD MobileNet v1) do wykrywania twarzy oraz dedykowaną sieć rozpoznawania twarzy do generowania 128-wymiarowych deskryptorów twarzy. Cały proces — od ładowania modelu do wykrywania twarzy i porównania — działa lokalnie w przeglądarce przy użyciu przyspieszenia WebGL. Żadne obrazy ani dane nigdy nie są przesyłane na serwer, co czyni to w pełni prywatnym narzędziem weryfikacji twarzy.

Jak to działa

  1. Ładowanie modelu — Przy pierwszym użyciu narzędzie pobiera lekkie modele sieci neuronowych (detektor twarzy, predyktor punktów orientacyjnych i sieć rozpoznawania) i przechowuje je w pamięci cache przeglądarki.
  2. Wykrywanie twarzy — Każdy przesłany obraz jest skanowany za pomocą detektora SSD MobileNet v1 w celu zlokalizowania twarzy i wyodrębnienia 68 punktów orientacyjnych twarzy.
  3. Ekstrakcja deskryptora — Region twarzy wyrównany do punktów orientacyjnych jest przetwarzany przez sieć rozpoznawania, która generuje 128-wymiarowy wektor deskryptora.
  4. Obliczanie odległości — Obliczana jest odległość euklidesowa między dwoma deskryptorami. Odległość poniżej progu wskazuje na dopasowanie; powyżej progu wskazuje na różne osoby.
  5. Wizualna informacja zwrotna — Wykryte twarze są podświetlane ramkami ograniczającymi na obu obrazach, a procent podobieństwa i surowa odległość są wyświetlane.

Przykłady

Scenariusz Oczekiwany wynik
Dwie selfie tej samej osoby zrobione w różnych dniach Wysokie podobieństwo (85–99%), dopasowanie
Zdjęcie osoby A vs. zdjęcie osoby B Niskie podobieństwo (20–50%), brak dopasowania
Ta sama osoba z i bez okularów Zwykle nadal dopasowanie, jeśli twarz jest wyraźnie widoczna
Ta sama osoba w znacznie różnych wiekach Może nie być dopasowania, jeśli struktura twarzy znacznie się zmieniła

Funkcje

  • 100% oparte na przeglądarce — całe przetwarzanie odbywa się lokalnie przy użyciu WebGL; bez przesyłania na serwer, bez API w chmurze
  • Regulowany próg dopasowania — dostrojenie czułości za pomocą suwaka od 0,1 do 1,0 (domyślnie: 0,6)
  • Wizualna nakładka wykrywania twarzy — ramki ograniczające są rysowane wokół wykrytych twarzy na obu obrazach
  • Szczegółowe metryki — wyświetla zarówno procent podobieństwa, jak i surową odległość euklidesową dla przejrzystości
  • Wiele formatów obrazów — obsługuje przesyłanie JPEG, PNG i WebP

Przypadki użycia

  • Weryfikacja tożsamości — szybko sprawdź, czy dwie fotografie pokazują tę samą osobę, przydatne do przeglądu dokumentów lub weryfikacji profilu
  • Organizacja zdjęć — określ, które zdjęcia w kolekcji należą do tej samej osoby, zanim posortują je do albumów
  • Audyt bezpieczeństwa — porównaj zdjęcie na żywo z obrazem referencyjnym w celu kontroli dostępu lub potwierdzenia obecności

Wyjaśnienie opcji

Opcja Opis Domyślnie
Próg dopasowania Kontroluje, jak ścisłe jest porównanie. Niższe wartości wymagają, aby twarze były bardziej podobne, aby liczyć się jako dopasowanie. Wyższe wartości są bardziej tolerancyjne. 0,6

Próg 0,6 sprawdza się dobrze w większości przypadków. Jeśli otrzymujesz fałszywe alarmy (różne osoby oznaczone jako ta sama), obniż próg. Jeśli otrzymujesz fałszywe negatywy (ta sama osoba oznaczona jako różna), podnieś go.

Ograniczenia

  • Analizowana jest tylko jedna twarz na obraz. Jeśli obraz zawiera wiele twarzy, wykrywana jest tylko najbardziej widoczna.
  • Bardzo niskorozdzielcze obrazy, duże zasłonięcie (maski, szaliki) lub skrajne kąty mogą uniemożliwić wykrycie twarzy.
  • Model działa najlepiej na pozach frontalnych lub bliskich frontalnym z odpowiednim oświetleniem.
  • Początkowe ładowanie modelu może zająć kilka sekund w zależności od szybkości sieci i wydajności urządzenia.
  • Wyniki są probabilistyczne, a nie ostateczne — to narzędzie nie jest odpowiednie do identyfikacji prawnej lub sądowo-medycznej.

FAQ

Czy moje dane są bezpieczne? Tak. Narzędzie działa całkowicie w przeglądarce. Twoje obrazy nigdy nie są przesyłane na żaden serwer. Cała logika wykrywania i porównywania twarzy wykonywana jest lokalnie przy użyciu WebGL.

Dlaczego wyświetla się „Nie wykryto twarzy"? Obraz może być zbyt mały, zbyt ciemny, mocno zasłonięty lub zrobiony z ekstremalnego kąta. Spróbuj wyraźniejszego zdjęcia frontalnego z dobrym oświetleniem.

Co oznacza tutaj odległość euklidesowa? To numeryczna miara tego, jak różne są dwa deskryptory twarzy. Wartości bliższe 0 wskazują na prawie identyczne twarze; wartości powyżej progu sugerują różne osoby.

Czy mogę porównywać twarze z różnych grup wiekowych? Narzędzie może obsługiwać umiarkowane różnice wiekowe, ale znaczące starzenie się (np. dziecko vs. osoba starsza) może zmniejszyć dokładność, ponieważ struktura twarzy zmienia się w czasie.