Ciao a tutti, sono Vincenzo Lomonaco, ricercatore all’Università di Pisa.
Nella puntata di oggi discuteremo di generazione video tramite soluzioni di intelligenza artificiale, a partire da una descrizione testuale.
A che punto siamo? Quali sono le metodologie allo stato dell’arte che lo consentono e cosa aspettarci per il futuro? Scopriamolo insieme in questa puntata di Le Voci dell’AI.
Nel gennaio dell’ormai lontano 2021 siamo rimasti tutti estasiati dalle capacità impressionanti di DALL·E, uno dei primi prodotti di OpenAI nella generazione di immagini realistiche a partire da semplici input testuali, prompt, brevi descrizioni uniche del contenuto che le immagini avrebbero dovuto raffigurare.
Da allora c’è stata una vera e propria rivoluzione nel mondo della grafica.
La generazione di immagini sintetiche fotorealistica, che da un lato ha messo in crisi e il mondo della fotografia, soprattutto quella giornalistica e documentaristica, dall’altro ha dato la possibilità a milioni di creatori nel web di produrre artefatti visivi di assoluta originalità, funzionalità e utilità pratica.
Dal 2021, infatti, un numero importante di aziende ha cominciato ad offrire servizi basati su queste tecnologie, come Midjourney per esempio, arrivando a risultati di livello commerciale, davvero impressionanti.
Ecco, oggi siamo spettatori di un’ulteriore significativa evoluzione nella generazione di video ad alta risoluzione di altissima qualità e realisticità.
Sto parlando di soluzioni quali Sora, di OpenAI, Veo di Google DeepMind, recentissimamente rilasciato, e Gen-2 di Runway, una start-up fondata nel 2018 a New York City e che ha sviluppato in realtà la ricerca necessaria la tecnologia alla base di tutti questi modelli di AI per la generazione video, i modelli a diffusione stabile di cui parleremo più avanti.
Come sappiamo, i video sono semplicemente una sequenza di immagini in rapida successione, con una coerenza temporale tra le stesse. Un numero di immagini, o meglio frame, di 24 o più al secondo in rapida successione, ci dà come risultato un video abbastanza fluido.
Dato quindi per assodato che è già possibile generare immagini a partire da una frase o un piccolo paragrafo descrittivo, la difficoltà principale dei video risulta la coerenza temporale tra i frame tra frame successivi, ad alta risoluzione.
In questo video vediamo un esempio di OpenAI Sora generato a partire da un input testuale.
Questo è in particolare “Una donna elegante cammina lungo una strada di Tokyo illuminata da neon caldi e segnaletica animata. Indossa una giacca di pelle nera, un lungo vestito rosso e stivali neri e porta una borsa nera agli occhiali da sole e il rossetto rosso. Cammina con sicurezza e disinvoltura. La strada è umida, riflette le luci colorate creando un effetto specchio. Molti pedoni passeggiano intorno”.
Davvero impressionante, non trovate? Sul sito ufficiale di OpenAI Sora trovate ulteriori esempi particolarmente accattivanti e ben riusciti.
Ma cerchiamo di capire come funziona questo tipo di modelli. I ricercatori in questo ambito prendono ispirazione dai grandi modelli del linguaggio naturale, i Large Language Model, che acquisiscono capacità generaliste attraverso l’addestramento su grandissime moli di dati sulla scala dell’intero web.
Il successo del paradigma dei Large Language Model è reso possibile in parte grazie all’uso di token, brevi sequenze di simboli o caratteri che unificano elegantemente diverse modalità di testo, dal codice alla matematica, ai vari linguaggi naturali.
In questi modelli Text to Video si cerca di utilizzare come token, quindi componenti di base, simboli di base delle patch visive, come dei pezzetti di un puzzle, per capirci. Come vediamo in questa immagine ad alto livello, i video vengono quindi convertiti in patch compresse prima riducendo i video in uno spazio latente a dimensioni inferiori, con un visual encoder, e successivamente decomponendo la rappresentazione in patch spazio-temporali.
La generazione dei frame nel tempo viene quindi fatta direttamente in questo spazio latente più semantico e poi solo successivamente un visual decoder viene utilizzato per rigenerare immagini ad alta risoluzione a partire da questa sequenza.
Modelli come Sora sono chiamati modelli di diffusione perché prendono ispirazione da processi di diffusione fisici e generano un video partendo da uno che sembra rumore statico e lo trasforma gradualmente, rimuovendo il rumore in una serie di passaggi iterativi.
Sora è in grado di generare interi video in una sola volta o estendere video generati per renderli più lunghi.
È un modello di diffusione basato su la classica architettura ormai conosciuta – la stessa sostanzialmente dei modelli di linguaggio allo stato dell’arte.
Come vediamo in questa immagine, partendo da un numero di frame fisso che determina la lunghezza del video a priori e un loro contenuto caratterizzato esclusivamente dal rumore bianco, è possibile generare un video via via sempre più definito e di alta qualità visiva.
A questo punto siamo in grado di generare dei video di alta qualità a partire dal rumore.
Ma come possiamo fare a guidare questo processo attraverso delle istruzioni testuali? Per addestrare un modello Text to Video, come Sora, è necessario disporre di una grande quantità di video con didascalie di testo corrispondenti che ne descrivono il contenuto.
Per farlo, i ricercatori di OpenAI hanno utilizzato la tecnica delle caption introdotta in DALL·E 3.
Inizialmente si addestrò un modello di didascalia altamente descrittivo che produce didascalie di testo per tutti i video del dataset di addestramento. Questo approccio, è risaputo, migliora la fedeltà del testo e la qualità complessiva dei video generati. Solo successivamente si utilizza un modello come GPT-4 per trasformare brevi prove dell’utente in didascalie più dettagliate che vengono inviate al modello visuale di diffusione.
Questo consente a Sora di generare video di alta qualità che seguono accuratamente le istruzioni dell’utente.
Ma questi modelli non sono solo confinati al testo video. Possono anche essere adattati per gestire numerosi altri input che condizionano la generazione del video stesso.
Per esempio, si può partire da immagini statiche, oppure combinare immagini a delle descrizioni e dettagli del tipo di animazione che vorremmo vedere del nostro video generato.
Stiamo andando sicuramente nella direzione di una vera e propria piattaforma flessibile per la generazione automatica di video ad alta risoluzione, a partire da dettagli, evidenze e istruzioni di varia natura.
E sostanzialmente il sogno di ogni creatore di contenuti visuali.
C’è da dire che siamo ancora lontani da dei sistemi che offrano garanzie di qualità in ogni dominio e servizio specifico.
Non tutti i video generati hanno la stessa qualità e presentano spesso delle storture significative, per esempio per quanto riguarda la modellizzazione accurata della fisica, come per esempio vediamo in questa figura la rottura dei bicchieri con all’interno del liquido, ma è sicuramente già possibile aspettarsi una significativa rivoluzione nel mondo cinematografico delle arti visive.
Più in generale, saremo senz’altro spettatori con estremo interesse di un vero e proprio mercato basato su questi servizi innovativi per la generazione automatica di video.
Ciao e alla prossima puntata di Le Voci dell’AI.