Robocikowo>ROBOCIKOWO
computer-vision

Rozpoznawanie twarzy

2014AktywnyOpublikowano: 23 września 2026Aktualizacja: 23 września 2026Opublikowany
Biometryczna technologia identyfikacji lub weryfikacji osoby na podstawie cech jej twarzy, oparta na wyuczonych embeddingach.
Kluczowa innowacja
Przejście od ręcznie projektowanych cech do wyuczonych embeddingów twarzy w przestrzeni metrycznej, w której odległość bezpośrednio koduje tożsamość — co umożliwiło rozpoznawanie w trybie otwartym (open-set) 1:N na dużą skalę.
Kategoria
computer-vision
Poziom abstrakcji
System
Poziom operacji
ModelInferencjaAplikacja
Zastosowania
Odblokowywanie urządzeń (smartfony, laptopy)Kontrola dostępu i systemy bezpieczeństwaKontrola graniczna i paszportowa (e-gates)Interakcja człowiek-robot (HRI) — roboty rozpoznające ludziPersonalizacja usług i asystentówUwierzytelnianie płatności i bankowośćAnaliza wideo i monitoring

Jak działa

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).

Rozwiązany problem

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.

Komponenty

Face detectorWejście potoku — wykrycie i wycięcie regionu twarzy

Lokalizuje twarze na obrazie i zwraca ramki ograniczające oraz często punkty charakterystyczne. Przykłady: Viola-Jones, MTCNN, RetinaFace.

INObraz RGB dowolnej rozdzielczości.
OUTRamki ograniczające i punkty charakterystyczne dla N twarzy.

Oficjalna

Face alignmentPreprocessing przed ekstrakcją cech

Normalizuje geometrię twarzy względem punktów charakterystycznych (transformacja afiniczna do kanonicznego układu), redukując wariancję pozy.

INWycięta twarz i jej punkty charakterystyczne.
OUTWyrównany, przyciety obraz twarzy o stałym rozmiarze.

Oficjalna

Embedding network (backbone)Rdzeń rozpoznawania — generacja embeddingu tożsamości

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.

INWyrównany obraz twarzy.
OUTWektor embeddingu, typowo D = 128 (FaceNet) lub 512 (ArcFace).
FaceNet (triplet loss, 128-d)Embedding 128-wymiarowy trenowany triplet loss (Google, 2015).
ArcFace (additive angular margin, 512-d)Embedding trenowany marginesową stratą kątową (2019).

Oficjalna

Matcher / comparatorWyjście potoku — decyzja o tożsamości

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.

INEmbedding zapytania i galeria embeddingów.
OUTTożsamość (1:N) lub decyzja binarna (1:1).

Oficjalna

Implementacja

Pułapki implementacyjne
Uprzedzenia demograficzneKrytyczna

Modele wykazują nierówną dokładność względem grup demograficznych (płeć, pochodzenie etniczne, wiek), co potwierdziły m.in. badania NIST FRVT.

Rozwiązanie:Zbalansowane zbiory treningowe, audyty sprawiedliwości, kalibracja progów per-grupa i testy na zróżnicowanych benchmarkach.
Podatność na spoofingWysoka

Systemy bez wykrywania żywotności (liveness) mogą być oszukane zdjęciem, wideo lub maską 3D (atak prezentacji).

Rozwiązanie:Wykrywanie żywotności (liveness), kamery głębi/IR i anti-spoofing.
Kalibracja progu decyzyjnegoŚrednia

Źle dobrany próg powoduje niekorzystny kompromis między fałszywą akceptacją (FAR) a fałszywym odrzuceniem (FRR).

Rozwiązanie:Kalibracja progu na reprezentatywnych danych i dobór punktu pracy zgodnie z wymogami bezpieczeństwa.
Wrażliwość na wyrównanie i pozęŚrednia

Błędy detekcji punktów charakterystycznych lub duże odchylenia pozy degradują jakość embeddingu.

Rozwiązanie:Solidne wyrównanie, augmentacja pozy w treningu i odrzucanie próbek niskiej jakości.

Ewolucja

Oryginalny paper · 2014 · CVPR 2014 · Yaniv Taigman
DeepFace: Closing the Gap to Human-Level Performance in Face Verification
Yaniv Taigman, Ming Yang, Marc'Aurelio Ranzato, Lior Wolf
1991
Eigenfaces
Punkt przełomowy

Turk i Pentland wprowadzają Eigenfaces — pierwszą praktyczną metodę automatycznego rozpoznawania twarzy opartą na PCA.

2001
Detektor Viola-Jones

Kaskada Viola-Jones umożliwia detekcję twarzy w czasie rzeczywistym, stając się podstawą praktycznych systemów.

2014
DeepFace
Punkt przełomowy

Facebook prezentuje DeepFace — głęboką sieć CNN osiągającą 97,35% na LFW, blisko poziomu ludzkiego.

2015
FaceNet
Punkt przełomowy

Google wprowadza FaceNet z triplet loss i 128-wymiarowymi embeddingami, osiągając 99,63% na LFW.

2016
MTCNN

Zhang i in. proponują MTCNN — kaskadę CNN łączącą detekcję twarzy i wyrównanie punktów charakterystycznych.

2019
ArcFace
Punkt przełomowy

Deng i in. wprowadzają Additive Angular Margin Loss (ArcFace), znacząco zwiększając rozróżnialność embeddingów.

Hiperparametry (konfigurowalne osie)

Wymiar embeddinguWysoka

Długość wektora cech twarzy. Kompromis między rozróżnialnością a kosztem pamięci/porównania.

128FaceNet
512ArcFace / większość nowoczesnych modeli
Margines kątowy (m)Krytyczna

Margines dodawany w funkcji straty (ArcFace/CosFace) zwiększający separację między klasami tożsamości.

0.5Typowy margines w ArcFace
Skala cech (s)Średnia

Współczynnik skalujący znormalizowane cechy przed softmax w stratach marginesowych.

64Typowa wartość skali w ArcFace
Próg decyzyjnyKrytyczna

Próg odległości/podobieństwa determinujący akceptację dopasowania; steruje kompromisem FAR/FRR.

Głębokość backboneWysoka

Architektura i głębokość sieci ekstrahującej cechy (np. ResNet-50, ResNet-100).

Złożoność obliczeniowa

Złożoność czasowa: O(N · D). Złożoność przestrzenna: O(N · D).

Paradygmat wykonania

Tryb główny
Gęsty

Ekstrakcja embeddingu to gęste przejście w przód sieci CNN; wszystkie ścieżki są aktywne dla każdego wejścia.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
W pełni równoległy

Ekstrakcja embeddingów dla wielu twarzy oraz porównania w galerii są w pełni zrównoleglone (batching, macierzowe mnożenia).

Zakres
TreningInferencja

Wymagania sprzętowe

Podstawowe

Trening i inferencja głębokich sieci CNN korzystają z równoległych mnożeń macierzy na rdzeniach tensorowych GPU.

Możliwe

Inferencja pojedynczych twarzy i porównania embeddingów są wykonalne na CPU dla małej skali.