Potok rozpoznawania twarzy składa się z czterech głównych etapów. (1) Detekcja twarzy — lokalizacja twarzy na obrazie (np. kaskada Viola-Jones lub sieci MTCNN/RetinaFace). (2) Wyrównanie (alignment) — normalizacja geometryczna twarzy względem wykrytych punktów charakterystycznych (oczy, nos, usta), aby zredukować wariancję pozy. (3) Ekstrakcja embeddingu — głęboka sieć konwolucyjna mapuje wyrównaną twarz na wektor o stałej długości (np. 128 lub 512 wymiarów), trenowany funkcją straty metrycznej (triplet loss w FaceNet) lub marginesowej straty softmax (ArcFace, CosFace, SphereFace), tak aby embeddingi tej samej osoby były blisko siebie, a różnych osób daleko. (4) Porównanie — dla weryfikacji 1:1 liczona jest odległość (kosinusowa lub euklidesowa) i porównywana z progiem; dla identyfikacji 1:N embedding zapytania jest porównywany z galerią znanych tożsamości i wybierany jest najbliższy (lub odrzucany, jeśli przekracza próg).
Automatyczne, bezkontaktowe ustalenie lub potwierdzenie tożsamości osoby na podstawie obrazu twarzy, w warunkach zmiennego oświetlenia, pozy, mimiki i starzenia się. Klasyczne metody oparte na ręcznie projektowanych cechach słabo generalizowały; wyuczone embeddingi rozwiązują problem otwartego zbioru tożsamości bez konieczności ponownego trenowania modelu dla każdej nowej osoby.
Lokalizuje twarze na obrazie i zwraca ramki ograniczające oraz często punkty charakterystyczne. Przykłady: Viola-Jones, MTCNN, RetinaFace.
Oficjalna
Normalizuje geometrię twarzy względem punktów charakterystycznych (transformacja afiniczna do kanonicznego układu), redukując wariancję pozy.
Oficjalna
Głęboka sieć konwolucyjna (np. ResNet, Inception) mapująca wyrównaną twarz na wektor cech o stałej długości. Trenowana funkcją straty metrycznej lub marginesowej.
Oficjalna
Oblicza podobieństwo (odległość kosinusowa lub euklidesowa) między embeddingami i podejmuje decyzję: weryfikacja 1:1 wg progu lub identyfikacja 1:N przez wyszukanie najbliższego sąsiada w galerii.
Oficjalna
Modele wykazują nierówną dokładność względem grup demograficznych (płeć, pochodzenie etniczne, wiek), co potwierdziły m.in. badania NIST FRVT.
Systemy bez wykrywania żywotności (liveness) mogą być oszukane zdjęciem, wideo lub maską 3D (atak prezentacji).
Źle dobrany próg powoduje niekorzystny kompromis między fałszywą akceptacją (FAR) a fałszywym odrzuceniem (FRR).
Błędy detekcji punktów charakterystycznych lub duże odchylenia pozy degradują jakość embeddingu.
Turk i Pentland wprowadzają Eigenfaces — pierwszą praktyczną metodę automatycznego rozpoznawania twarzy opartą na PCA.
Kaskada Viola-Jones umożliwia detekcję twarzy w czasie rzeczywistym, stając się podstawą praktycznych systemów.
Facebook prezentuje DeepFace — głęboką sieć CNN osiągającą 97,35% na LFW, blisko poziomu ludzkiego.
Google wprowadza FaceNet z triplet loss i 128-wymiarowymi embeddingami, osiągając 99,63% na LFW.
Zhang i in. proponują MTCNN — kaskadę CNN łączącą detekcję twarzy i wyrównanie punktów charakterystycznych.
Deng i in. wprowadzają Additive Angular Margin Loss (ArcFace), znacząco zwiększając rozróżnialność embeddingów.
Złożoność czasowa: O(N · D). Złożoność przestrzenna: O(N · D).
Długość wektora cech twarzy. Kompromis między rozróżnialnością a kosztem pamięci/porównania.
Margines dodawany w funkcji straty (ArcFace/CosFace) zwiększający separację między klasami tożsamości.
Współczynnik skalujący znormalizowane cechy przed softmax w stratach marginesowych.
Próg odległości/podobieństwa determinujący akceptację dopasowania; steruje kompromisem FAR/FRR.
Architektura i głębokość sieci ekstrahującej cechy (np. ResNet-50, ResNet-100).
Ekstrakcja embeddingu to gęste przejście w przód sieci CNN; wszystkie ścieżki są aktywne dla każdego wejścia.
Ekstrakcja embeddingów dla wielu twarzy oraz porównania w galerii są w pełni zrównoleglone (batching, macierzowe mnożenia).
Trening i inferencja głębokich sieci CNN korzystają z równoległych mnożeń macierzy na rdzeniach tensorowych GPU.
Inferencja pojedynczych twarzy i porównania embeddingów są wykonalne na CPU dla małej skali.