Riconoscimento facciale

Accendi la webcam: ogni volto nuovo viene misurato da una rete neurale, riceve un'impronta numerica e un nome di fantasia, maschile o femminile secondo l'aspetto. Quando lo stesso volto torna nell'inquadratura, anche dopo essere uscito, viene riconosciuto e incorniciato con il suo nome.

100% nel browserGPU · WebGLnessuna immagine inviataniente salvato
1 · Fotocamera

2 · Riconoscimento

Più bassa: meno scambi di persona, ma lo stesso volto può essere visto come nuovo. Più alta: il contrario.

Le immagini della fotocamera restano su questo dispositivo.

Volti visti

    La memoria vive solo in questa scheda: ricaricando la pagina tutti i volti vengono dimenticati.

    Come funziona

    • Rilevamento: una piccola rete convoluzionale (Tiny Face Detector, 190 kB) trova i volti in ogni fotogramma; una seconda rete individua 68 punti caratteristici (occhi, naso, bocca, contorno) per allineare il volto.
    • Impronta del volto: una ResNet addestrata sul riconoscimento facciale trasforma il volto allineato in un vettore di 128 numeri. Foto dello stesso volto danno vettori vicini, persone diverse vettori lontani: due volti sono considerati la stessa persona se la distanza euclidea è sotto la soglia (0,6 di base). Finché un volto resta nello stesso punto dell'inquadratura viene seguito anche se cambia posa, e la nuova posa viene memorizzata.
    • Hash e nome: un volto nuovo viene memorizzato dopo 4 fotogrammi nitidi. La media dei suoi vettori, quantizzata, passa per SHA-256: l'hash che compare nell'elenco. Dall'hash si sceglie il nome di fantasia in una lista maschile, femminile o neutra, secondo la stima del genere.
    • Riconoscimento: a ogni fotogramma il vettore di ogni volto è confrontato con quelli memorizzati; per ogni persona si conservano fino a 20 vettori di pose e luci diverse, così il riconoscimento migliora man mano che la si vede.
    • Privacy: le reti (7,6 MB) vengono scaricate una volta e girano sulla GPU del tuo dispositivo con TensorFlow.js. Immagini, vettori e nomi non lasciano mai il browser e non vengono salvati.

    Limiti

    L'hash non è un identificatore stabile: due misure dello stesso volto non sono mai identiche, quindi lo stesso volto riceve un hash diverso in ogni sessione. Il riconoscimento avviene per distanza tra vettori, non per uguaglianza di hash. Il genere è una stima binaria dall'aspetto, con errori frequenti con luce scarsa, profili, occhiali o barba; quando la stima è incerta viene usato un nome neutro. Gemelli, pose molto laterali e controluce possono confondere il modello.

    Visione artificiale per la produzione

    Le stesse tecniche (rilevamento, embedding, confronto con una galleria) servono per riconoscere pezzi e difetti, verificare montaggi o contare oggetti sulla linea, con modelli addestrati sui vostri dati che girano su dispositivi locali.

    Parliamo del vostro progetto