La tecnologia dietro i filtri di Snapchat
Dietro quei cappelli buffi e quelle orecchie da coniglio c'è un complicato meccanismo (che potrebbe diventare molto redditizio)
Una delle funzioni più popolari di Snapchat, il social network e app di messaggistica molto popolare soprattutto tra i ragazzi tra i 14 e i 20 anni, sono i filtri che permettono di aggiungere illustrazioni o effetti particolari ai video. Probabilmente li avete già visti: sono quei video girati con la videocamera frontale dello smartphone in cui il soggetto ha delle orecchie da coniglio, oppure sputa fuoco, ha una corona di fiori o tira fuori una lingua lunghissima quando apre la bocca. Il sito Vox ha realizzato un video in cui ha spiegato come funziona la tecnologia dietro i filtri di Snapchat.
Snapchat chiama i suoi filtri “Lenses”: come spiega Joss Fong di Vox, «sono molto scemi, ma la tecnologia che c’è dietro è molto seria». Alla base dei filtri di Snapchat c’è Looksery, una start-up che si occupa di riconoscimento facciale acquistata nel settembre del 2015 da Snapchat per 150 milioni di dollari. I filtri rientrano nel settore della visione artificiale, cioè la tecnologia che permette ai computer di interpretare la realtà, riconoscendo forme e oggetti, attraverso le informazioni ottenute dalla fotocamera. La visione artificiale è alla base dei sistemi che permettono di depositare gli assegni in banca fotografandoli, o del riconoscimento facciale di Facebook, o delle auto che si guidano da sole.
La prima cosa che il software di Snapchat deve fare, per aggiungere i filtri, è riconoscere che la fotocamera sta inquadrando un volto. Come spiega Fong, per la mente umana è una cosa molto facile, ma un computer vede una foto solo come un insieme di dati: un numero per ogni pixel, per indicarne la colorazione. Alla base dei sistemi di riconoscimento facciale c’è l’algoritmo di Viola Jones, sviluppato nel 2001 dagli ingegneri Paul Viola and Michael Jones. L’algoritmo si basa su alcune caratteristiche comuni dei volti delle persone: il dorso del naso è più chiaro dei lati, la zona degli occhi è più scura della fronte e la fronte è più chiara al centro che intorno. I software di riconoscimento facciale cercano queste caratteristiche in un’area dell’inquadratura, e se le trovano concludono che lì c’è una faccia.
Per aggiungere i filtri, però, Snapchat ha bisogno di altre informazioni: deve localizzare le varie parti del volto, dalle labbra agli occhi. Gli sviluppatori del software hanno memorizzato migliaia di foto di volti umani, per ognuno dei quali hanno segnato manualmente dei punti a indicare le labbra, il .contorno della mascella, l’attaccatura dei capelli, eccetera. Sulla base di tutte queste immagini, il software applica una maschera alla faccia inquadrata dalla fotocamera, che si adatta allargandosi, restringendosi e ruotando fino a combaciare. Poi, il software analizza i contrasti cromatici tra i pixel per fissare i propri indicatori (quelli che delimitano ad esempio gli occhi, la bocca o i capelli) nel posto giusto sul volto inquadrato. Sulla base di questi indicatori, il software crea finalmente una maschera, che segue nei movimenti la nostra faccia. Ottenuta e sistemata la maschera, Snapchat può aggiungere illustrazioni e animazioni, cambiare i colori o deformare la nostra faccia.
Vox spiega che la tecnologia di riconoscimento facciale, di per sé, non è molto moderna: l’algoritmo di Viola Jones risale al 2001, ed è da diversi anni che le macchine fotografiche hanno incorporati dei sistemi per riconoscere dove ci sono i volti. È da poco però che i software riescono a elaborare tutte queste informazioni in tempo reale e da un dispositivo mobile. E se è vero che tutta questa tecnologia alla fine serve ad aggiungerci occhiali buffi e cappelli da pirata, spiega Vox, Snapchat ci ha investito così tanto perché ritiene che sia il settore dove ha i maggiori margini di profitto: vendendo a grandi aziende set di filtri sponsorizzati, per esempio, oppure proponendo filtri personalizzati ai singoli utenti.