Con l’introduzione di iOS 11, Apple ha lanciato anche un blog chiamato Machine Learning Journal, dedicato appunto all’intelligenza artificiale. Oggi è stato pubblicato un nuovo articolo nel quale l’azienda descrive dettagliatamente il sistema che permette di riconoscere i volti presenti nelle immagini sfruttando il Neural Network direttamente sul dispositivo.
Apple ha iniziato ad utilizzare il deep learning per il riconoscimento facciale già da iOS 10 ma adesso, con il rilascio del framework Vision, gli sviluppatori possono utilizzare questa tecnologia e molti altri algoritmi di computer vision all’interno delle proprie applicazioni.
La scelta di Apple, a differenza di altre aziende, è quella di effettuare il riconoscimento direttamente sul dispositivo, senza avere quindi la necessità di caricare la foto online e sfruttare risorse esterne per riconoscere i volti. Farlo direttamente da dispositivo aumenta considerevolmente la privacy degli utenti ma è al tempo stesso una sfida davvero grande data la complessità ed il volume delle operazioni da eseguire.
A differenza di Google che sfrutta il servizio Google Foto per migliorare la propria intelligenza artificiale con i dati degli utenti senza pensare troppo alla privacy, con Apple nemmeno quando le foto vengono caricate su iCloud Photo Library possono essere riconosciute perchè l’upload è criptato ed il file immagine viene decriptato soltanto con la chiave presente sui dispositivi nei quali è presente l’account iCloud.
Per operare direttamente sul dispositivo Apple, i modelli di deep learning devono essere parte del sistema operativo e quindi occupano spazio di storage sulla memoria NAND. I modelli devono poi essere caricati nella RAM e richiedono un tempo di calcolo significativo sulla GPU e / o sulla CPU. A differenza dei servizi basati su cloud quindi, le operazioni che svolge un iPhone sono molto più complesse e gravano sulle risorse di sistema. Mentre avviene il riconoscimento infatti, lo smartphone esegue tantissime altre operazioni contemporaneamente, fa girare applicazioni e deve comunque rimanere fluido. Il calcolo inoltre, deve essere sufficientemente efficiente da poter gestire ed elaborare una grande libreria di foto in breve tempo, senza spendere troppa energia nè provocare surriscaldamenti.
L’ottimizzazione del Vision framework è stata lunga e fa parte delle cose di iOS che naturalmente noi non vediamo ma che richiedono molti mesi (in questo caso anni) di sviluppo. Apple è riuscita a sfruttare in maniera adeguata la CPU e la GPU degli iPhone, sfruttando anche il motore grafico Metal ed i BNNS. I dettagli sono spiegati nell’articolo sul sito Apple.
Leggi o Aggiungi Commenti