My Heritage è un’azienda il cui business tradizionale è basato sull’analisi del DNA di un individuo allo scopo di poterne risalire al background etnico. Recentemente essa ha iniziato a offrire un nuovo servizio online basato su AI, chiamato Deep Nostalgia, che è stato e continua ad essere argomento di discussione. In pratica, il software consente di animare foto di persone del passato (familiari o personaggi famosi). Un utente deve semplicemente fare l’upload di un ritratto a colori o in bianco e nero, per esempio di una persona cara scomparsa e il servizio restituisce un video in cui il soggetto nel ritratto sottomesso è animato (esegue movimenti con la testa, gli occhi e la bocca). Nella foto in evidenza è possibile osservare un esempio di animazione generata da Deep Nostalgia: a sinistra l’immagine originale, a destra un fotogramma del video generato dal servizio.
Deep Nostalgia è diventato subito virale (tantissimi utenti su Twitter continuano a postare il risultato delle foto da loro sottomesse): in base al blog ufficiale di My Heritage, al momento della scrittura di questo articolo più di 26 milioni di animazioni sono state generate tramite questo servizio.
In questo articolo si vuole andare al di là dell’hype che si è generato attorno a questo fenomeno, cercando di spiegare a grandi linee quali tecnologie/algoritmi sono stati utilizzati per implementarlo (niente a che vedere con la magia, come nel caso dei ritratti parlanti di Hogwarts…).
Deep Nostalgia, come funziona
La piattaforma tecnologica che sta dietro le quinte di Deep Nostalgia è stata sviluppata dalla compagnia israeliana D-ID. Si tratta di tecnologia proprietaria, quindi a codice sorgente chiuso, ma dall’osservazione del servizio fornito da My Heritage si può capire su quali algoritmi si basa.
L’aggettivo Deep nel nome del servizio indica che si tratta di una applicazione di Deep Learning. L’idea generale consiste nella generazione di una sequenza video a partire da un soggetto in una immagine sorgente statica che viene animato in base al movimento presente in un video di riferimento, detto driver. Il modello generativo utilizzato non richiede alcun tipo di etichetta o altre informazioni insieme all’immagine in input da animare, in quanto esso è stato allenato utilizzando un insieme di video in cui era presente un soggetto della stessa categoria (un volto umano nel caso di Deep Nostalgia). Da qui si evince che lo stesso tipo di architettura può essere addestrata con l’intento di animare alternativamente, per esempio, una figura umana intera: dipende dal data set di video per il training e la validazione del modello usato. Quindi la rete neurale, nel caso in esame in questo articolo, è in grado di identificare se nella immagine di input è presente un volto umano oppure no e, in caso affermativo, procedere con il processo di animazione.
Prima di continuare nella descrizione del processo di animazione end-to-end, qualche dettaglio su come è possibile identificare la struttura geometrica di un volto umano in una immagine digitale. In Computer Vision la tecnica che consente di farlo si chiama Face Alignment. È basata anch’essa su deep neural networks. Questo processo consiste nell’eseguire delle iterazioni di aggiustamento di modelli deformabili (un insieme di algoritmi che tiene conto di e si occupa di modellare la variabilità di certe classi di oggetti, quali ad esempio parti del corpo umano come volto e mani) in base alla conoscenza acquisita di forma e aspetto di volti umani allo scopo di rilevare quelli presenti in una immagine statica o fotogramma di un video. Una volta identificate la posizione e la forma di un volto, questa tecnica consente di calcolare automaticamente la forma di parti componenti un volto, quali occhi, naso e bocca. Gli algoritmi attuali consentono di identificare volti in una immagine anche quando questi non sono posizionati frontalmente rispetto all’obbiettivo (figura 2).
Figura 2 – Esempi di Face Alignment in situazioni in cui il volto presente in una immagine non è in posizione frontale rispetto all’obiettivo.
Il processo di generazione delle animazioni di Deep Nostalgia può essere schematizzato come composto da due macro-blocchi, quello per la valutazione del movimento e quello generativo (figura 3).
Figura 3 – Schema esplicativo del processo di generazione dei frame del video finale in sistemi come Deep Nostalgia
Il primo modulo innanzitutto identifica ed estrae, per ogni coppia formata dall’immagine sorgente e da un frame del driver video, i punti di interesse relativamente a oggetti simili (volti umani) presenti in entrambi gli input ed inoltre, assumendo l’esistenza di un terzo frame astratto, valuta due trasformazioni affini, una dal frame astratto all’immagine sorgente e l’altra sempre dal frame astratto ma verso il frame del driver. Quindi una rete neurale (indicata come dense motion network in figura) si occupa di combinare tali approssimazioni in modo da ottenere il dense motion field risultante e in aggiunta anche una occlusion mask che serve ad indicare quali parti dell’immagine driver possono essere ricostruite “semplicemente” eseguendo una deformazione dell’immagine sorgente e quali invece dovranno essere ricavate dal contesto (operazione che prende il nome di inpainting). Il modulo generativo, come si evince dal nome, è quello che si occupa della generazione del fotogramma finale eseguendo sia operazioni di deformazione che di inpainting.
Deep Nostalgia non può sicuramente essere basato esclusivamente su modelli generativi di tipo GAN (Generative Adversarial Networks) o VAE (Variational Auto Encoder), i quali, fra tanti altri casi d’uso, vengono impiegati anche in applicazioni di Computer Vision legate al trasferimento di espressioni facciali o di movimenti, ma da soli non sarebbero sufficienti per un caso come quello in esame in questo articolo. GAN e VAE si basano su modelli il cui apprendimento avviene su set di dati precedentemente etichettati rispetto a valori di riferimento (per questo vengono definiti anche come metodi per oggetti specifici), situazione molto difficile da ottenere in casi come quello di Deep Nostalgia, dove si considera una categoria arbitraria di oggetti. Questo è infatti un caso perfetto di self-supervised learning. Altro motivo per cui un approccio diverso da GAN e VAE è da considerare per il caso d’uso in esame è che tali architetture non sono in grado di tenere automaticamente conto di eventuali parti del soggetto (volto umano) di interesse in qualche modo occluse per l’obbiettivo.
I video generati da Deep Nostalgia non prevedono audio. Nonostante D-ID fornisca anche un servizio basato su AI per la generazione di video animati di volti parlanti a partire da immagini statiche, My Heritage ha deciso di non abilitare tale funzionalità per limitare il rischio di generazione di Deepfakes per finalità diverse da quelle della piattaforma Deep Nostalgia. Con la tecnologia Deep Nostalgia è possibile anche solo migliorare la qualità di vecchie immagini fotografiche o colorare in modo molto realistico foto in bianco e nero.
Conclusioni
La generazione di video animati a partire da immagini statiche ha, e ne avrà di più nell’immediato futuro, diverse applicazioni pratiche in altre aree, tra cui anche l’ambito cinematografico (esempi si possono trovare nel film Captain Marvel dei Marvel Studios, la cui storia è ambientata in un periodo passato (anni ‘90 dello scorso secolo) rispetto agli altri film della stessa saga Marvel Cinematic Universe, che sono ambientati nel presente: in questo modo, combinando con tecniche di de-aging digitale (anch’esse basate su AI) è stato possibile includere nella narrazione i personaggi interpretati da Samuel L. Jackson e Clark Gregg (attori viventi), nonostante l’azione si svolga nel passato).
Figura 4 – Esempio in ambito cinematografico di combinazione di generazione di animazione di volti umani e de-aging AI-based
I vantaggi in questi casi sono vari, dalla riduzione di tempi di animazione e montaggio fino alla riduzione dei rischi in tempi di COVID-19 legati alle regole di distanziamento e presenza sul set di attori e operatori.
Purtroppo la stessa tecnologia si presta anche a usi con finalità affatto legali e/o etiche (non necessariamente l’intento di un utilizzatore è criminale, come nel caso di Deep Nostalgia, ma i risultati finali possono avere conseguenze anche di tipo per esempio psicologico (quale impatto emotivo nelle persone legate a un defunto/a potrà scatenare la visione di una animazione artificiale di una persona cara deceduta?). Quindi, come per altre tecnologie e altre applicazioni di AI, è necessario regolamentarne l’utilizzo il prima possibile e prima che la democratizzazione di queste soluzioni raggiunga platee più grandi (già adesso sono accessibili anche a un’audience con budget e risorse minori rispetto, per esempio, agli studios cinematografici).