Face Detection e Face recognition: le differenze

face detection e face recognition

Condividi:

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su whatsapp
Condividi su telegram

Hai mai pensato come fa il telefono a sbloccarsi tramite il riconoscimento facciale?

E se ti dicessi che questa è la stessa tecnologia che oggi viene utilizzata dalla maggior parte delle telecamere, smartphone e computer?

In questo articolo, andremo a parlare di una delle tecnologie presenti in tutto il mondo e che si dice raggiungerà gli 8.5 miliardi di dollari entro il 2025. Oggi parleremo di Face Detection e una delle sue più importanti applicazioni: la Face Recognition.

Il testo che stai per leggere non è adatto ai più esperti, perciò preparati perché ora andremo a capire cosa è la Face Detection e Face Recognition, come funzionano ed alcune delle loro applicazioni nel mondo reale.

Facial Detection vs Facial Recognition

Come inesperto del settore può essere che almeno una volta anche tu ti sia domandato “Ma la Face Detection e Face Recognition sono la stessa cosa? Altrimenti cosa gli differenzia?”.

Per quanto la risposta a questa domanda si possa trovare già nei nomi di queste due tecnologie, è meglio andare ad approfondire i due argomenti.

Quindi procediamo un passo per volta e andiamo a capire:

Cos’è la Face Detection?

Hai presente che noi umani possiamo riconoscere qualcosa semplicemente guardandolo? Perché ne siamo capaci? Lo facciamo in maniera automatica ma è una cosa che abbiamo imparato fin da piccoli.

Sicuramente se ti do una foto di una persona, sono sicuro che in poco tempo mi sapresti dire quali sono le parti del corpo che si vedono in una foto.

Ecco questo esempio serve per farti capire cos’è il riconoscimento facciale. Questa tecnologia di Intelligenza Artificiale può riconoscere i volti delle persone quando gli viene fornita un’immagine o un video.

Ad oggi le sue applicazioni nel mondo reale stanno aumentando man mano che si fanno ricerche e nascono nuovi algoritmi sempre più accurati. Passiamo dal semplice riconoscimento facciale fino ad arrivare al tracciamento degli occhi per capire quanto una persona resta ferma a guardare la vetrina di un negozio.

Ma facciamo attenzione!

Il riconoscimento facciale, sì, riesce a riconoscere i volti delle persone ma sicuramente non lo fa come lo facciamo noi (o almeno come lo fa il nostro cervello).

Ti spiego.

Come funziona la Face Detection

La tecnologia di cui stiamo parlando è realizzabile in diversi modi, alcuni di questi sono meno recenti altri sono più nuovi, più accurati e più veloci nel rilevare i volti delle persone.

Sostanzialmente, l’idea di base dietro agli algoritmi di Face Detection è il rilevamento di alcune caratteristiche del volto umano.

Qual é la prima cosa che ti viene in mente se ti dico di descrivermi il volto di una persona?

Scommetto che hai pensato agli occhi, vero? Questo è quello che fa anche un algoritmo di Face Detection, ovvero, analizza l’immagine fino a trovare una caratteristica comune nei volti dell’uomo come ad esempio gli occhi, poi passando per il naso, la bocca e i contorni del viso.


L’algoritmo lo fa in maniera sistematica analizzando l’intera immagine pixel per pixel e, infine, accomuna queste caratteristiche del volto per predirlo. Questo è uno dei metodi ed è chiamato Feature-Based Method.

Ma non finisce qua.

Quella che ti ho descritto è l’idea, ma per realizzare questo tipo di metodo è prima necessario allenare il proprio algoritmo di riconoscimento facciale con un bel po’ di immagini. Immagini dove non sono presenti esclusivamente volti, ma anche palazzi, panorami ecc.

Solo così potremmo avere un algoritmo funzionante ed efficace allo stesso tempo.

Algoritmo di Face Detection: Haar Cascades

Come ti dicevo poco fa, grazie alla ricerca continua da parte dei più esperti e appassionati del settore Computer Vision, ci sono tanti algoritmi che sono usciti in questi anni, alcuni più promettenti e accurati di altri.

Il più popolare è l’Haar Cascades, questo è una “sotto-versione” dell’algoritmo di object detection Viola e Jones. Questo algoritmo non è uno dei più recenti ma è un buon algoritmo di base ed è uno dei più veloci nel campo.

Ma come funziona esattamente?

Questo algoritmo utilizza i cosiddetti “Haar Feature”, ovvero 5 rettangoli che vengono utilizzati per identificare le caratteristiche di un volto.

Grazie a tale metodo l’algoritmo riesce ad individuare caratteristiche del volto tramite la tecnica di slide windows, cioè una tecnica che permette di far scorrere una finestra (per meglio dire un quadrato) sull’immagine così da permettere all’algoritmo di analizzare una sezione dell’immagine alla volta.

Per capire meglio cosa sto dice, ti consiglio di guardare questo video:

Non voglio scendere particolarmente nei dettagli, soprattuto quelli matematici perché questo articolo ha l’obiettivo di farti comprendere l’idea di base e non di analizzare algoritmo per algoritmo (se vuoi approfondirlo ti posso rimandare direttamente al paper).

L’Haar Cascade è uno dei più popolari nell’ambito Face Detection, ma non è il migliore. Infatti, ci sono tanti altri algoritmi più recenti che performano meglio di quello descritto, alcuni esempi sono MSCNN, FDNet, RetinaFace e TinaFace.

Ora che sai cosa è e come funziona la Face Detection possiamo passare allo step successivo e quindi andare a capire la Face Recognition.

Cos’è la Face Recognition

face detection e face recognition
Foto di George Dolgikh @ Giftpundits.com da Pexels

Il nome ti suona famigliare?

Ti suona famigliare perché quasi sicuramente utilizzi questa tecnologia per sbloccare il tuo smartphone. Beh, allora non perdiamo altro tempo e vediamo cosa è e come funziona, in breve.

Il riconoscimento facciale è una delle applicazioni della Face Detection. All’inizio ti ho detto che entrambe erano correlate, ecco il perché.

Diciamo che senza la Face Detection questa tecnologia non poteva esistere.

Il concetto di base è più o meno identico ma non uguale, la face recognition è un pochino più sofisticata e non è da confondere con la Face Verification di cui dopo vedremo la differenza.

Come funziona la Face Recognition

Sicuramente per noi riconoscere una persona che abbiamo già visto da qualche parte è molto più semplice. Magari sappiamo anche descrivere il suo colore degli occhi, il colore dei capelli etc.

Ma non è la stessa cosa per il riconoscimento facciale. Infatti, questa tecnologia usa geometria e formule matematiche per riconoscere una persona, come? Vediamolo.

Innanzitutto questa tecnologia trasforma il viso di una persona in un array di dati, chiamata “Encoding”. Questi dati vengono trasferiti all’interno di un database e vengono associati al soggetto.

Una volta che l’algoritmo avrà inserito all’interno del database questi dati, questo sarà in grado di riconoscerlo quando vedrà lo stesso volto in una foto o in un video.

Ok, ma come esattamente?

L’algoritmo è in grado di memorizzare il volto tenendo conto delle forme geometriche. Cioè la distanza tra gli occhi, gli angoli che si possono trovare in un volto, la rotondità e tanti altri aspetti.

Tutti questi dati vengono memorizzati per renderli accessibili quando si cercherà di riconoscere un volto.

Leggi anche: Un tool per la Computer Vision: OpenCV

Face Recognition vs Face Verification

Anche qui l’idea di base è la stessa, ma c’è una differenza sostanziale tra i due.

Con un sistema di riconoscimento facciale si possono identificare più volti. Ad esempio alcuni uffici hanno questo sistema per riconoscere i loro dipendenti e permettergli l’accesso. Quindi si tratta di un sistema uno a molti, cioè con un solo sistema puoi riconoscere più volti se sono già memorizzati nel database.

Mentre la Face Verification è una tecnologia basata su tecnologia 1:1, quindi ti sa dire solo se quel viso è di una certa persona o no. L’esempio più comune è il Face ID di Apple o il face verification di altri smartphone Android.

face detection e face recognition

Face Recognition problemi etici

Il sistema di riconoscimento facciale è molto utile nel mondo di oggi, infatti molti paesi come la Cina e alcune organizzazioni come l’FBI utilizzano sistemi di riconoscimento facciale per sorvegliare o individuare i criminali.

E’ un sistema davvero utile, ma con qualche criticità a livello di privacy.

Prendiamo l’esempio delle città, sicuramente le rende più sicure ma poiché questo sistema è installato in tutte le strade per mantenere la sicurezza, i cittadini hanno meno privacy.

Si pensi che si potrebbe usare questa tecnologia per spiare gli interi movimenti di un singolo cittadino, violandone la sua libertà. Inoltre il tuo volto viene collezionato senza il tuo permesso e l’immagine raccolta potrebbe essere usata per altri scopi.

Quello della privacy è uno dei problemi più grandi con l’implementazione di queste tecnologie, un problema che secondo me faremo fatica a risolvere, intanto però possiamo godere dei benefici del riconoscimento facciale, vediamone alcuni.

Le loro applicazioni

Alcune applicazioni nel mondo reale sono:

  • Maggiore sicurezza nelle città e negli aereoporti
  • Marketing: si possono usare queste tecnologie per conoscere quanto tempo una persona passa a guardare la vetrina del nostro negozio
  • Social Media: viene usato il riconoscimento del volto per creare filtri, un esempio è quello di Snapchat
  • Sbloccare smartphone o cassaforti
  • Healthcare: si possono monitorare i pazienti così da poter intervenire subito
  • Riconoscere se il guidatore sta guardando la strada oppure sta al cellulare

Conclusione

Quelli elencati sopra sono solo alcuni degli esempi chiave di questa tecnologia e quasi sicuramente tu ne potresti aggiungere altri alla lista; inoltre sono anche motivi per cui la Face Detection è importante oggi.

Spero che questo articolo ti sia stato utile a capire l’argomento di cui abbiamo parlato fino ad ora, ricordati che puoi sempre scrivere nei commenti se non ti è chiaro qualcosa o magari desideri qualche altro articolo di approfondimento.

Alla prossima,

Antonio.

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su whatsapp
Condividi su telegram
Antonio Furioso

Antonio Furioso

Fondatore di Neuragate. Credo molto in quello che le immagini possono comunicare, per questo sono fortemente attratto dalla Computer Vision. Mi piace tutto quello che è nuovo. La curiosità è quella che mi spinge oltre le aspettative e a fare sempre di più.

Iscriviti
Notificami
guest
0 Commenti
Inline Feedback
Vedi tutti i commenti
Neuragate