La tecnologia del riconoscimento facciale

Centinaia di volte abbiamo visto in fiction e film elaborati sistemi di riconoscimento facciale che consentono di compiere le azioni più disparate.

Sebbene sia ancora un sogno arrivare a quel livello di abilità, si tratta di un settore nel quale la tecnologia sta facendo rapidi progressi.

La capacità da parte di un software di riconoscere la fisionomia umana nasce negli anni ’60 e sicuramente c’è del potenziale se consideriamo gli attuali progressi.

A dimostralo c’è l’esempio più comune come la capacità data dalla maggior parte dei nuovi modelli di smartphone di sbloccare il proprio cellulare semplicemente guardando lo schermo.

Restano perlopiù problemi legati alla sicurezza e alla privacy conseguenti dall’uso di questi elaborati sistemi.

Come funziona un sistema di riconoscimento facciale

Esso si basa sulla capacità di distinguere determinate zone –dette punti nodali– che caratterizzano ogni individuo.

Tra gli 80 punti nodali presenti sul volto umano, alcuni di questi sono:

  • distanza tra gli occhi
  • profondità delle orbite
  • lunghezza e larghezza del naso
  • forma degli zigomi
  • altezza della fronte
  • linea della mascella

Tutti questi dati numerici vengono elaborati creando un codice, definito “Faceprint”, attraverso il quale il software è in grado di riprodurre il volto umano.

Lo sviluppo del riconoscimento facciale negli anni

Precedentemente tali sistemi di IA si rifacevano a un database di immagini bidimensionali, mediante confronto tra immagini.

Questo portava non pochi problemi perché, affinché la ricerca potesse essere precisa, l’immagine catturata del volto doveva presentare poche espressioni facciali, non dovevano esserci grosse variazioni di luce e così via, rendendo l’acquisizione dell’immagine una pratica scomoda.

Con il passare del tempo, tali software si sono sviluppati per la creazione di modelli 3D, i quali sono sicuramente in grado di fornire maggiori dettagli, potendo identificare con precisione il target.

L’immagine 3D utilizza una nuova dimensione, quella della profondità, consente di riconoscere un soggetto da molteplici angolazioni diverse e non risente dell’illuminazione (il riconoscimento può essere usato anche al buio).

Con un software 3D sono pochi i  passaggi da eseguire per riconoscere un volto:

  • rilevamento: l’immagine viene acquisita mediante scansione di una fotografia (tecnica 2D) oppure acquisendo un video live del soggetto (3D);
  • allineamento: una volta acquisita l’immagine, il sistema determina forma e dimensione della testa;
  • misurazioni: su una scala millimetrica, il software misura diversi parametri del volto, creando un preciso modello;
  • rappresentazione: il sistema genera un codice costituito da cifre rappresentanti caratteristiche uniche di quel modello;
  • corrispondenza: se il modello è già presente o trova un riscontro nel database, il software creerà una corrispondenza, abbinandolo a un eventuale volto.

La tecnologia FaceIt

A proposito di Intelligenza Artificiale in grado di riconoscere i volti, citiamo FaceIt, un software proveniente dall’Identix americana, che è in grado di assimilare i tratti di un volto e paragonarle a quelle presenti nel suo database.

Tale tecnologia consentirebbe di individuare un particolare volto nel mezzo della folla, di estrarlo dal gruppo e di confrontarlo con un database ricco di immagini nel sistema.