Face ID: tecnologia fallimentare o nuovo standard per il mercato consumer?

Apple ha rilasciato tutti i dettagli sul funzionamento di Face ID e le prime prove sono positive: siamo di fronte ad un nuovo standard per l'industria?

Face ID: tecnologia fallimentare o nuovo standard per il mercato consumer?
Articolo a cura di

Face ID è nuovo sistema di sicurezza che Apple ha implementato in iPhone X, il primo dell'azienda progettato con l'idea di occupare il più possibile la superficie frontale con lo schermo seguendo il trend borderless degli ultimi anni. In quest'ottica è stato necessario rimpiazzare il Touch ID che richiede un sensore di impronte digitali decisamente ingombrante in favore di sensori più piccoli posti nel Notch del nuovo smartphone. In questo speciale vogliamo analizzare la tecnologia e il funzionamento a livello tecnico di Face ID, senza quindi interrogarci sul perché Apple non abbia deciso di inserire un sensore di impronte digitali laterale o posteriore, lasciando ad altri lidi le discussioni su prezzo, design e marketing non inerenti al focus di questo articolo. Abbiamo già analizzato come funziona una neural network basata sul deep learning la scorsa settimana, dunque il passo dalla teoria alla pratica sarà breve ed indolore.


Machine Learning applicato al riconoscimento di immagini

Quando si sceglie di implementare algoritmi di Machine Learning (di cui il Deep Learning è solo un sottoinsieme) è perché nel campo applicativo si ha a che fare con un'enorme mole di dati e si ha la necessità di un software che sia in grado di imparare da questi senza la necessità di riprogrammarlo. Casi concreti sono il riconoscimento della targa di una macchina da un video o una foto oppure l'identificazione di un particolare oggetto in una foto, tutti largamente utilizzati nella quotidianità. L'analisi che viene svolta si basa sui pixel nelle immagini, ovvero sul valore numerico che gli è stato assegnato e che identifica il loro colore: più numerosi sono i pixel e più saranno gli input che deve analizzare la neural network. Solitamente questi algoritmi richiedono uno sforzo computazionale tale che è necessario comprare computer specifici che abbiano molti core o schede video che sfruttano la parallelizzazione dei calcoli. Nel caso del riconoscimento di oggetti nelle foto degli smartphone (Android e iOS) i calcoli non avvengono direttamente sul vostro dispositivo ma nel cloud, così da renderli più rapidi perché affidati ad una macchina adatta a svolgere Machine Learning.

Nel caso di Apple su iPhone X si è scelto di implementare algoritmi di Machine Learning per via della difficoltà nel riconoscere un volto che sia sottoposto di volta in volta a condizioni di illuminazione diversa, che sia in movimento e che cambi nel tempo. Con una neural network non si fa altro che implementare un'analisi statistica del volto esaminato così che possa essere confrontato con quello del vero proprietario del dispositivo registrato all'accensione: l'algoritmo restituisce una probabilità e decide in base ai dati esaminati se il viso di chi sta usando lo smartphone è lo stesso del vero proprietario. A questo punto dovreste aver capito che la complessità dietro ad un'operazione apparentemente banale come il riconoscimento di pattern distinti e molto variabili di un volto è estremamente maggiore di una semplice impronta digitale, che non porta con sé tutti i problemi legati alle condizioni ambientali esterne (luce su tutte) e sui cambiamenti del volto (barba, trucco, occhiali, capelli, cappelli, etc), risolvibili implementando algoritmi di deep learning che sfruttano metodi statistici.

L'acquisizione dei dati tramite i sensori ad infrarossi

Nell'immagine che segue trovate tutti i sensori posti nel Notch dell'iPhone X che servono a tracciare una mappatura tridimensionale di un viso. Una semplice foto non basterebbe a rendere riconoscibile una persona in modo preciso, perché l'inclinazione della testa rispetto alla superficie frontale dello smartphone complicherebbe il procedimento, dunque Apple ha optato per una scansione tridimensionale che cattura 30.000 punti e ne traccia non solo la loro posizione spaziale in verticale ed in orizzontale, ma anche la loro profondità. In questo modo chi impugna il telefono non è costretto ad essere allineato in modo preciso e il dato della profondità aggiunge una variabile fondamentale che aumenta la precisione di tutto il sistema (per contro, complica nettamente i calcoli da svolgere).

Il tutto avviene grazie al True Depth Camera System, alla frequenza dell'infrarosso, che funziona anche in assenza di luce: il flood illuminator illumina il viso, il dot projector proietta più di 30.000 punti sulla sua superficie e la IR camera ne cattura un'immagine. La neural network traccia un modello matematico tridimensionale che viene confrontato a livello statistico con quello del proprietario dello smartphone: questi calcoli sono esosi e i processori odierni non riescono ad eseguirli rapidamente. Per questo è necessario un'acceleratore hardware dedicato ed il chip A11 ne contiene uno apposito che velocizza gli algoritmi di Machine Learning. Il tutto avviene dunque in locale senza bisogno di connettersi ad internet e la sicurezza dei dati è stata garantita da Apple che ha usato la crittografia.

Face ID è il nuovo standard per l'industria consumer?

Le prime prove su strada di iPhone X sono positive e non sembrano ancora essere emerse delle criticità in Face ID, che di fatto permette di sbloccare lo smarphone rapidamente. Il presunto fail avvenuto durante la presentazione dello smartphone non è da imputare al sistema di riconoscimento del viso ma al fatto che era stato disattivato ed era necessario inserire il PIN per abilitarlo. A quanto pare le potenziali falle potrebbero risiedere in una persona che ha abusato del trucco o che ha coperto in modo eccessivo il suo volto (eventualità che confonde anche gli esseri umani), oltre che il banale caso di un gemello identico. Il sistema permette di acquisire i dati di un solo viso alla volta per device, limitazione che presumiamo sia dovuta alla rapidità richiesta dallo sblocco: il confronto del modello matematico del viso creato dal neural engine con i dati del True Depth Camera System richiede un tempo di esecuzione che, in linea di principio, aumenterebbe se i volti dei proprietari usati come confronto fossero più di uno.

Il Machine Learning assicura un'analisi statistica del viso di chi impugna lo smartphone, quindi eventuali modifiche del volto non dovrebbero impattare sul suo funzionamento quotidiano: rispetto ai tratti del volto la crescita della barba o la copertura di una parte del viso con gli occhiali in linea di principio non dovrebbero confondere una neural network che dispone di una ricostruzione dettagliata del viso. Grazie alla facoltà di apprendere, l'algoritmo nel corso del tempo registra eventuali modifiche al volto, ovvero impara ed aggiorna i propri parametri casomai doveste cambiare pettinatura o farvi crescere la barba. Insomma gli ingredienti per un sistema di sicurezza che possa sostituire il Touch ID ci sono tutti, ma una tecnologia del genere ha bisogno di molte prove prima di poter confermare la sua bontà ed efficienza