Tom's Hardware Italia Tom's Hardware
Android

Google Pixel 3, come agisce l’intelligenza artificiale durante lo scatto fotografico

Google ha sviluppato un algoritmo di intelligenza artificiale specifico per la modalità ritratto del Pixel 3, smartphone che, come abbiamo avuto modo di verificare, riesce a generare un effetto bokeh di alta qualità nonostante usi una sola lente. Prodotti di altre marche, invece, ne montano due o più – il che rende più semplice ottenere l’effetto in questione.

Ieri Google ha pubblicato un post dedicato a questo tema, sul suo blog in cui parla di ricerca sull’Intelligenza Artificiale. Scopriamo così che il notevole risultato è frutto di un lavoro di ricerca sofisticato, il cui punto di partenza è la messa a fuoco PDAF.

L’acronimo sta per Phase Detection Auto Focus, ed è una soluzione tecnica presente normalmente su smartphone e fotocamere. Con questo sistema il sensore registra sempre due immagini (anche se la lente è solo una), cambiando leggermente il punto di vista e generando così una differenza di parallasse. Il confronto tra i due rilevamenti permette di individuare gli oggetti nell’inquadratura e metterli a fuoco. È un sistema che dipende molto dal software, e che è andato migliorando con gli anni – in particolare per quanto riguarda la velocità. La sfocatura dello sfondo, poi, è ottenuta tramite elaborazione software nel caso degli smartphone (anche quelli con più di una lente). In una macchina fotografica vera e propria, invece, è un effetto ottico naturale dovuta alle lenti stesse.

A questo punto, il software del Pixel 3 stima la profondità della scena, per stabilire qual è il soggetto in primo piano (la persona di cui vogliamo fare il ritratto) e lo sfondo. Con la Stereo Depth Estimation lo smartphone confronta la due diverse immagini generate dal PDAF, sfruttando il differente parallasse per determinare qual è lo sfondo – questo perché gli elementi più lontani mostreranno una variazione maggiore rispetto a quelli più vicini.

Il sistema però è imperfetto e può generare errori; i primi modelli dotati di “modalità ritratto” a volte ne generavano di grossolani. Google ha migliorato la Depth Estimation usando due ulteriori fonti di informazione, oltre alla visione stereo: la “defocus depth cue” e la “semantic cue”.

Nel primo caso, il software identifica gli oggetti più lontani sfruttando il fatto che sono meno a fuoco. Nel secondo sfrutta il fatto che più un oggetto è lontano e più appare piccolo. Quest’ultimo elemento è particolarmente rilevante: il telefono deve sapere a priori quanto è grande un’auto, un pallone, un albero o qualsiasi altra cosa. E dev’essere in grado di capire il rapporto tra le dimensioni che “vede”. Creare un sistema AI capace di gestire questo fenomeno non era un’ovvietà.

Gli sviluppatori di Google hanno affrontato il problema scrivendo un algoritmo ad hoc che unisce i tre elementi descritti (stereo, defocus e semantico) e usandoli per addestrare una rete neurale convoluzionale scritta con Tensor Flow.

Ma ancora non era sufficiente, soprattutto perché le informazioni di parallasse generate da uno smartphone non bastano per addestrare adeguatamente l’algoritmo. Si è proceduto allora a creare un “Frenkenphone”, vale a dire un mostro composto da 5 Pixel 3 tenuti insieme da hardware progettato apposta. Scattano tutti allo stesso tempo, con uno scarto di 2 millisecondi al massimo. Si ottengono così più informazioni di profondità, grazie al fatto che i cinque sensori sono molto distanti fra loro.

Alla fine si è passati a Tensor Flow Lite, così da generare un algoritmo che potesse girare su un Pixel 3 in modo abbastanza veloce – vale a dire che possa scattare foto in modalità ritratto senza farci aspettare troppo a lungo. Si tratta di una piattaforma di sviluppo che permette di “eseguire algoritmi di machine learning su dispositivi mobile o embedded”.

Google ha messo a disposizione un album di immagini per mostrare le differenze tra il sistema attuale e quello precedente. Tutto questo lavoro è condensato nell’applicazione Google Fotocamera, preinstallata sui Google Pixel. I dati raccolti, tra l’altro, permettono anche di agire a posteriori sulla messa a fuoco, un gesto che oggi potrebbe sembrare normale ma che solo qualche anno era straordinario – qualcuno ricorderà forse il rumore mediatico che generò la Lytro.

Il Google Pixel 3 è un gran bel telefono, ma volendo spendere meno c’è lo Xiaomi Mi8, con un incredibile rapporto qualità/prezzo.