Modelli e piattaforme di IA
CameraCtrl: Abilitazione del Controllo della Fotocamera per la Generazione di Video Testuali
I recenti framework che tentano di generare video testuali o T2V utilizzano modelli di diffusione per aggiungere stabilità nel loro processo di addestramento, e il Video Diffusion Model, uno dei pionieri nella generazione di video testuali, estende un’architettura di diffusione di immagini 2D in un tentativo di accomodare i dati video, e addestra il modello su video e immagini congiuntamente da zero. Costruendo sullo stesso, e al fine di implementare un potente generatore di immagini pre-addestrato come Stable Diffusion, i lavori recenti gonfiano la loro architettura 2D interpolando strati temporali tra i layer 2D pre-addestrati, e addestrano il nuovo modello su grandi dataset non visti. Nonostante il loro approccio, i modelli di diffusione di video testuali affrontano una sfida significativa poiché l’ambiguità delle sole descrizioni testuali utilizzate per generare il campione video spesso risulta in un modello di video testuali con un controllo più debole sulla generazione. Per affrontare questa limitazione, alcuni modelli forniscono una guida migliorata mentre altri lavorano con segnali precisi per controllare la scena o i movimenti umani nei video sintetizzati in modo preciso. D’altra parte, ci sono alcuni framework di video testuali che adottano immagini come segnali di controllo per il generatore di video, risultando in una modellazione della relazione temporale precisa o in una alta qualità video.
Sarebbe sicuro dire che la controllabilità gioca un ruolo cruciale nelle attività generative di immagini e video, poiché consente agli utenti di creare il contenuto desiderato. Tuttavia, i framework esistenti spesso trascurano il controllo preciso della posizione della fotocamera che serve come linguaggio cinematografico per esprimere le sfumature narrative più profonde al modello. Per affrontare le limitazioni di controllabilità attuali, in questo articolo, parleremo di CameraCtrl, un’idea innovativa che tenta di abilitare il controllo preciso della posizione della fotocamera per i modelli di video testuali. Dopo aver parametrizzato la traiettoria della fotocamera in modo preciso, il modello addestra un modulo di fotocamera plug and play su un modello di video testuali, e lascia invariati gli altri componenti. Inoltre, il modello CameraCtrl conduce anche uno studio approfondito sull’effetto di diversi dataset, e suggerisce che i video con aspetti simili e una distribuzione della fotocamera diversa possono migliorare le capacità di controllabilità e generalizzazione complessive del modello. Gli esperimenti condotti per analizzare le prestazioni del modello CameraCtrl su attività del mondo reale indicano l’efficienza del framework nel raggiungere un controllo preciso e adattivo del dominio della fotocamera, aprendo la strada per la ricerca di una generazione di video personalizzata e dinamica da input testuali e posizioni della fotocamera.
Questo articolo si propone di coprire il framework CameraCtrl in profondità, ed esploriamo il meccanismo, la metodologia, l’architettura del framework insieme al suo confronto con i framework attuali. Quindi, iniziamo.
CameraCtrl: Controllo della Fotocamera per la Generazione di Video Testuali
Lo sviluppo recente e il progresso dei modelli di diffusione hanno avanzato notevolmente la generazione di video guidata da testo negli ultimi anni, e hanno rivoluzionato i flussi di lavoro di progettazione del contenuto. La controllabilità gioca un ruolo significativo nelle applicazioni pratiche di generazione di video, poiché consente agli utenti di personalizzare i risultati generati in base alle loro esigenze e requisiti. Con una controllabilità elevata, il modello è in grado di migliorare la realismo, la qualità e l’usabilità dei video generati, e mentre gli input testuali e immagini sono utilizzati comunemente dai modelli per migliorare la controllabilità complessiva, spesso mancano di un controllo preciso sul movimento e sul contenuto. Per affrontare questa limitazione, alcuni framework hanno proposto di sfruttare segnali di controllo come lo scheletro della posizione, il flusso ottico e altri segnali multi-modali per abilitare un controllo più preciso per guidare la generazione di video. Un’altra limitazione affrontata dai framework esistenti è che mancano di un controllo preciso sulla stimolazione o regolazione dei punti della fotocamera nella generazione di video, poiché la capacità di controllare la fotocamera è cruciale, poiché non solo migliora la realismo dei video generati, ma permettendo punti di vista personalizzati, migliora anche l’engagement dell’utente, una funzionalità essenziale nello sviluppo di giochi, realtà aumentata e realtà virtuale. Inoltre, gestire i movimenti della fotocamera in modo abile consente ai creatori di evidenziare le relazioni tra i personaggi, enfatizzare le emozioni e guidare l’attenzione del pubblico target, qualcosa di grande importanza nell’industria cinematografica e pubblicitaria.
Per affrontare e superare queste limitazioni, il framework CameraCtrl, un modulo di fotocamera apprendibile e preciso plug and play con la capacità di controllare i punti di vista della fotocamera per la generazione di video. Tuttavia, integrare una fotocamera personalizzata in una pipeline di modello di video testuali esistente è un compito più facile a dirsi che a farsi, costringendo il framework CameraCtrl a cercare modi per rappresentare e iniettare la fotocamera nell’architettura del modello in modo efficace. Sulla stessa nota, il framework CameraCtrl adotta le embeddings di Plücker come forma primaria di parametri della fotocamera, e il motivo per cui si è scelto di utilizzare le embeddings di Plücker è dovuto alla loro capacità di codificare descrizioni geometriche delle informazioni sulla posizione della fotocamera. Inoltre, per garantire la generalizzabilità e l’applicabilità del modello CameraCtrl dopo l’addestramento, il modello introduce un modello di controllo della fotocamera che accetta solo le embeddings di Plücker come input. Per garantire che il modello di controllo della fotocamera sia addestrato in modo efficace, il framework e i suoi sviluppatori conducono uno studio approfondito per indagare come diversi dati di addestramento influenzano il framework, dai dati sintetici a quelli realistici. I risultati sperimentali indicano che l’implementazione di dati con una distribuzione della posizione della fotocamera diversa e un aspetto simile al modello di base originale raggiunge il miglior compromesso tra controllabilità e generalizzabilità. Gli sviluppatori del framework CameraCtrl hanno implementato il modello sulla base del framework AnimateDiff, abilitando così un controllo preciso nella generazione di video in diversi contesti personalizzati, dimostrando la sua versatilità e utilità in una vasta gamma di contesti di creazione di video.

Il framework AnimateDiff adotta l’approccio di fine-tuning efficiente LoRA per ottenere i pesi del modello per diversi tipi di riprese. Il framework Direct-a-video propone di implementare un modulo di fotocamera per controllare la posizione della fotocamera durante il processo di generazione di video, ma condiziona solo su tre parametri della fotocamera, limitando la capacità di controllo della fotocamera ai tipi più basilari. D’altra parte, framework come MotionCtrl progettano un controller di movimento che accetta più di tre parametri di input e può produrre video con pose della fotocamera più complesse. Tuttavia, la necessità di addestrare parti dei video generati ostacola la generalizzabilità del modello. Inoltre, alcuni framework incorporano segnali di controllo strutturali aggiuntivi come mappe di profondità nel processo per migliorare la controllabilità sia per la generazione di immagini che per la generazione di testo. Tipicamente, il modello alimenta questi segnali di controllo in un encoder aggiuntivo e poi inietta i segnali in un generatore utilizzando varie operazioni.
CameraCtrl: Architettura del Modello
Prima di poter esaminare l’architettura e il paradigma di addestramento per l’encoder della fotocamera, è vitale per noi comprendere le diverse rappresentazioni della fotocamera. Tipicamente, una posizione della fotocamera si riferisce a parametri intrinseci ed estrinseci, e una delle scelte più dirette per far condizionare il generatore di video sulla posizione della fotocamera è quella di alimentare valori grezzi relativi ai parametri della fotocamera nel generatore. Tuttavia, l’implementazione di un tale approccio potrebbe non migliorare il controllo preciso della fotocamera per diverse ragioni. In primo luogo, mentre la matrice di rotazione è vincolata dall’ortogonalità, il vettore di traslazione è tipicamente non vincolato in magnitudine, e porta a una discordanza nel processo di apprendimento che può influenzare la coerenza del controllo. In secondo luogo, l’utilizzo diretto di parametri della fotocamera grezzi può rendere difficile per il modello correlare questi valori con i pixel dell’immagine, risultando in un controllo ridotto sui dettagli visivi. Per evitare queste limitazioni, il framework CameraCtrl sceglie le embeddings di Plücker come rappresentazione della posizione della fotocamera, poiché le embeddings di Plücker hanno rappresentazioni geometriche di ogni pixel del frame video, e possono fornire una descrizione più elaborata delle informazioni sulla posizione della fotocamera.
Controllabilità della Fotocamera nei Generatori di Video
Poiché il modello parametrizza la traiettoria della fotocamera in una sequenza di embeddings di Plücker, cioè mappe spaziali, il modello ha la possibilità di utilizzare un modello di encoder per estrarre le caratteristiche della fotocamera, e poi fondere le caratteristiche della fotocamera nel generatore di video. Simile all’adattatore di testo per immagine, il modello CameraCtrl introduce un encoder di fotocamera progettato specificamente per i video. L’encoder di fotocamera include un modello di attenzione temporale dopo ogni blocco convoluzionale, consentendogli di catturare le relazioni temporali delle pose della fotocamera nel clip video. Come dimostrato nell’immagine seguente, l’encoder di fotocamera accetta solo input di embeddings di Plücker e fornisce caratteristiche multi-scala. Dopo aver ottenuto le caratteristiche multi-scala della fotocamera, il modello CameraCtrl mira a integrare queste caratteristiche nell’architettura U-Net del modello di video testuali in modo trasparente, e determina i layer che devono essere utilizzati per incorporare le informazioni sulla fotocamera in modo efficace. Inoltre, poiché la maggior parte dei framework esistenti adotta un’architettura simile a U-Net che contiene sia layer di attenzione temporale che spaziale, il modello CameraCtrl inietta le rappresentazioni della fotocamera nel blocco di attenzione temporale, una decisione supportata dalla capacità dei layer di attenzione temporale di catturare le relazioni temporali, allineandosi con la natura causale e sequenziale intrinseca di una traiettoria della fotocamera con i layer di attenzione spaziale che rappresentano i singoli frame.

Apprendimento delle Distribuzioni della Fotocamera
L’addestramento del componente dell’encoder della fotocamera all’interno del framework CameraCtrl su un generatore di video richiede una grande quantità di video ben etichettati e annotati con il modello in grado di ottenere la traiettoria della fotocamera utilizzando l’approccio di struttura dal movimento o SfM. Il framework CameraCtrl tenta di selezionare il dataset con aspetti che corrispondono ai dati di addestramento del modello di video testuali di base in modo stretto, e avere una distribuzione della posizione della fotocamera ampia quanto possibile. I campioni nel dataset generati utilizzando motori virtuali esibiscono una distribuzione della fotocamera diversa, poiché gli sviluppatori hanno la flessibilità di controllare i parametri della fotocamera durante la fase di rendering, sebbene soffrano di un divario di distribuzione quando confrontati con dataset che contengono campioni del mondo reale. Quando si lavora con dataset che contengono campioni del mondo reale, la distribuzione della fotocamera è solitamente stretta, e in tali casi, il framework deve trovare un equilibrio tra la diversità tra diverse traiettorie della fotocamera e la complessità della traiettoria della fotocamera individuale. La complessità della traiettoria della fotocamera individuale garantisce che il modello impari a controllare traiettorie complesse durante il processo di addestramento, mentre la diversità tra diverse traiettorie della fotocamera garantisce che il modello non si adatti eccessivamente a certi pattern fissi. Inoltre, per monitorare il processo di addestramento dell’encoder della fotocamera, il framework CameraCtrl propone la metrica di allineamento della fotocamera per misurare la qualità di controllo della fotocamera quantificando l’errore tra la traiettoria della fotocamera dei campioni generati e le condizioni di input della fotocamera.
CameraCtrl: Esperimenti e Risultati
Il framework CameraCtrl implementa il modello AnimateDiff come modello di video testuali di base e un motivo importante per questo è che la strategia di addestramento del modello AnimateDiff consente al suo modulo di movimento di integrarsi con modelli di testo per immagine o con modelli LoRA di testo per immagine per accomodare la generazione di video in diversi generi e domini. Il modello utilizza l’ottimizzatore Adam per addestrare il modello con una velocità di apprendimento costante di 1e-4. Inoltre, per garantire che il modello non influisca negativamente sulle capacità di generazione di video del modello di video testuali originale, il framework CameraCtrl utilizza la metrica di distanza di Frechet Inception o FID per valutare la qualità dell’aspetto del video, e confronta la qualità del video generato prima e dopo l’inclusione del modulo della fotocamera.
Per valutare le sue prestazioni, il framework CameraCtrl viene confrontato con due framework di controllo della fotocamera esistenti: MotionCtrl e AnimateDiff. Tuttavia, poiché il framework AnimateDiff supporta solo otto traiettorie della fotocamera di base, il confronto tra CameraCtrl e AnimateDiff è limitato a tre traiettorie di base. D’altra parte, per il confronto con MotionCtrl, il framework seleziona oltre mille traiettorie della fotocamera casuali da un dataset esistente, in aggiunta alle traiettorie della fotocamera di base, genera video utilizzando queste traiettorie e li valuta utilizzando le metriche TransErr e RotErr.

Come può essere osservato, il framework CameraCtrl supera il framework AnimateDiff nella traiettoria di base e fornisce risultati migliori quando confrontato con il framework MotionCtrl nella metrica della traiettoria complessa.
Inoltre, la figura seguente dimostra l’effetto dell’architettura dell’encoder della fotocamera sulla qualità complessiva dei campioni generati. La riga a alla riga d rappresentano i risultati generati con l’encoder della fotocamera implementato nell’architettura: ControlNet, ControlNet con attenzione temporale, Adattatore di testo per immagine e adattatore di testo per immagine con attenzione temporale, rispettivamente.

Nella figura seguente, i primi due rappresentano il video generato utilizzando una combinazione dell’encoder RGB del framework SparseCtrl e del metodo utilizzato nel framework CameraCtrl.

Pensieri Finali
In questo articolo, abbiamo parlato di CameraCtrl, un’idea innovativa che tenta di abilitare il controllo preciso della posizione della fotocamera per i modelli di video testuali. Dopo aver parametrizzato la traiettoria della fotocamera in modo preciso, il modello addestra un modulo di fotocamera plug and play su un modello di video testuali, e lascia invariati gli altri componenti. Inoltre, il modello CameraCtrl conduce anche uno studio approfondito sull’effetto di diversi dataset, e suggerisce che i video con aspetti simili e una distribuzione della fotocamera diversa possono migliorare le capacità di controllabilità e generalizzazione complessive del modello. Gli esperimenti condotti per analizzare le prestazioni del modello CameraCtrl su attività del mondo reale indicano l’efficienza del framework nel raggiungere un controllo preciso e adattivo del dominio della fotocamera, aprendo la strada per la ricerca di una generazione di video personalizzata e dinamica da input testuali e posizioni della fotocamera.












