Connect with us

Kunstmatige intelligentie

CameraCtrl: Camera-besturing inschakelen voor Text-to-Video-generatie

mm

Recente kaders die proberen tekst naar video of T2V-generatie te gebruiken, maken gebruik van diffusiemodellen om stabiliteit toe te voegen in hun trainingsproces, en het Video Diffusion Model, een van de pioniers in de tekst-naar-video-generatiekaders, breidt een 2D-beeld diffusiearchitectuur uit in een poging om videogegevens te accommoderen, en traint het model op video en afbeelding gezamenlijk van scratch. Gebouwd op hetzelfde, en om een krachtige vooraf getrainde afbeeldingsgenerator zoals Stable Diffusion te implementeren, gebruiken recente werken hun 2D-architectuur door tijdelijke lagen tussen de vooraf getrainde 2D-lagen te interpoleren, en finetunen het nieuwe model op ongezien grote datasets. Ondanks hun benadering, tekst-naar-video-diffusiemodellen worden geconfronteerd met een aanzienlijke uitdaging, omdat de ambiguïteit van uitsluitend gebruikte tekstbeschrijvingen om de videovoorbeeld te genereren, vaak resulteert in het tekst-naar-video-model met een zwakkere controle over de generatie. Om deze beperking aan te pakken, bieden sommige modellen verbeterde richtlijnen, terwijl anderen werken met precieze signalen om de scène of menselijke bewegingen in de gesynthetiseerde video’s precies te controleren. Aan de andere kant zijn er een paar tekst-naar-video-kaders die afbeeldingen gebruiken als de besturingssequentie voor de videogenerator, wat resulteert in een nauwkeurige temporele relatie-modellering of hoge videokwaliteit.

Het zou veilig zijn om te zeggen dat bestuurbaarheid een cruciale rol speelt in beeld- en videogeneratietaken, omdat het gebruikers in staat stelt de inhoud te creëren die ze wensen. Echter, bestaande kaders negeren vaak de precieze controle van de camerapositie, die dient als een cinematografische taal om de diepere narratieve nuances aan het model beter uit te drukken. Om de huidige beperkingen van de bestuurbaarheid aan te pakken, zullen we in dit artikel praten over CameraCtrl, een nieuw idee dat probeert om nauwkeurige camerapositiebesturing voor tekst-naar-video-modellen in te schakelen. Na het parameteriseren van de trajectorie van de camera, traint het model een plug-and-play-camera-module op een tekst-naar-video-model, en laat de andere componenten ongemoeid. Bovendien voert het CameraCtrl-model ook een uitgebreide studie uit naar het effect van verschillende datasets en stelt voor dat video’s met vergelijkbare verschijningen en diverse cameraverdeling de algehele bestuurbaarheid en generaliseerbaarheid van het model kunnen verbeteren. Experimenten die zijn uitgevoerd om de prestaties van het CameraCtrl-model op echte taken te analyseren, geven de efficiëntie van het kader aan bij het bereiken van precieze en domeinadaptieve camerabesturing, waardoor een weg wordt geopend voor het nastreven van aangepaste en dynamische videogeneratie vanuit camerapositie en tekstuele invoer.

Dit artikel heeft als doel het CameraCtrl-kader diepgaand te behandelen, en we onderzoeken de mechanisme, de methodologie, de architectuur van het kader, evenals de vergelijking met state-of-the-art-kaders. Laten we dus beginnen.

CameraCtrl : Camera-besturing voor T2V-generatie

De recente ontwikkeling en vooruitgang van diffusiemodellen hebben tekstgeleide videogeneratie aanzienlijk verbeterd in de afgelopen jaren en hebben de inhoudsontwerpwerkstromen gerevolutioneerd. Bestuurbaarheid speelt een significante rol in praktische videogeneratie-toepassingen, omdat het gebruikers in staat stelt de gegenereerde resultaten aan te passen aan hun behoeften en vereisten. Met hoge bestuurbaarheid kan het model de realisme, kwaliteit en bruikbaarheid van de gegenereerde video’s verbeteren, en terwijl tekst- en afbeeldingsinvoer vaak worden gebruikt door modellen om de algehele bestuurbaarheid te verbeteren, ontbreekt het vaak aan precieze controle over beweging en inhoud. Om deze beperking aan te pakken, hebben sommige kaders voorgesteld om besturingsignalen zoals pose-skelet, optische stroom en andere multimodale signalen te gebruiken om meer nauwkeurige controle te ermöglichen voor videogeneratie. Een andere beperking waarmee bestaande kaders worden geconfronteerd, is dat ze geen precieze controle hebben over het stimuleren of aanpassen van camerapunten bij videogeneratie, aangezien de mogelijkheid om de camera te controleren cruciaal is, omdat het niet alleen de realisme van de gegenereerde video’s verbetert, maar door aangepaste gezichtspunten te ermöglichen, ook de gebruikersbetrokkenheid verhoogt, een functie die essentieel is in game-ontwikkeling, augmented reality en virtual reality. Bovendien maakt het vaardig beheersen van camerabewegingen het mogelijk voor creators om karakterrelaties te benadrukken, emoties te benadrukken en de focus van het doelpubliek te leiden, iets van groot belang in de film- en reclame-industrie.

Om deze beperkingen aan te pakken en te overwinnen, biedt het CameraCtrl-kader een leerbaar en precies plug-and-play-camera-module met de mogelijkheid om de gezichtspunten van de camera voor videogeneratie te controleren. Echter, het integreren van een aangepaste camera in een bestaand tekst-naar-video-model-pijplijn is een taak die gemakkelijker gezegd dan gedaan is, waardoor het CameraCtrl-kader ernaar streeft om manieren te vinden om de camera effectief in de modelarchitectuur te representeren en in te brengen. Op dezelfde noot, kiest het CameraCtrl-kader voor plucker-embeddings als de primaire vorm van cameraparameters, en de reden voor het kiezen van plucker-embeddings kan worden toegeschreven aan hun vermogen om geometrische beschrijvingen van de camerapositie-informatie te coderen. Bovendien, om de generaliseerbaarheid en toepasbaarheid van het CameraCtrl-model na de training te waarborgen, introduceert het model een cameracontrole-model dat alleen plucker-embeddings als invoer accepteert. Om ervoor te zorgen dat het cameracontrole-model effectief getraind wordt, voert het kader en zijn ontwikkelaars een uitgebreide studie uit om te onderzoeken hoe verschillende trainingsgegevens het kader beïnvloeden, van synthetische tot realistische gegevens. De experimentele resultaten geven aan dat het implementeren van gegevens met diverse camerapositie-verdeling en vergelijkbare verschijning met het oorspronkelijke basismodel de beste balans tussen bestuurbaarheid en generaliseerbaarheid bereikt. De ontwikkelaars van het CameraCtrl-kader hebben het model geïmplementeerd op basis van het AnimateDiff-kader, waardoor precieze controle in videogeneratie mogelijk wordt gemaakt over verschillende gepersonaliseerde, en demonstreert zijn veelzijdigheid en nut in een breed scala aan videocreatiecontexten.

Het AnimateDiff-kader gebruikt de efficiënte LoRA-fijne afstellingaanpak om de gewichten van het model voor verschillende soorten shots te verkrijgen. Het Direct-a-video-kader stelt voor om een camera-embedder te implementeren om de positie van de camera’s tijdens het videogeneratieproces te controleren, maar het conditioneert alleen op drie cameraparameters, waardoor de controle over de camera beperkt is tot de meest basale soorten. Aan de andere kant, kaders zoals MotionCtrl ontwerpen een motion-controller die meer dan drie invoerparameters accepteert en in staat is om video’s met complexe cameraposities te produceren. Echter, de noodzaak om delen van de gegenereerde video’s fijn af te stellen, belemmert de generaliseerbaarheid van het model. Bovendien incorporeren sommige kaders additionele structurele besturingsignalen zoals dieptekaarten in het proces om de bestuurbaarheid voor zowel beeld- als tekstgeneratie te verbeteren. Typisch voeden deze besturingsignalen een extra encoder, en injecteren de signalen vervolgens in een generator met behulp van verschillende bewerkingen.

CameraCtrl: Modelarchitectuur

Voordat we een blik kunnen werpen op de architectuur en trainingsparadigma voor de camera-encoder, is het essentieel om verschillende cameraweergaven te begrijpen. Typisch verwijst een camerapositie naar intrinsieke en extrinsieke parameters, en een van de rechtstreekse keuzes om een videogenerator te laten conditioneren op de camerapositie is om de ruwe waarden met betrekking tot de cameraparameters rechtstreeks in de generator te voeden. Echter, het implementeren van een dergelijke aanpak kan de nauwkeurige camerabesturing voor het videogeneratiemodel niet noodzakelijkerwijs verbeteren, om een aantal redenen. Ten eerste, terwijl de rotatiematrix wordt beperkt door orthogonaliteit, is de translatievector typisch onbeperkt in grootte, en leidt dit tot een mismatch in het leerproces dat de consistentie van de besturing kan beïnvloeden. Ten tweede kan het gebruik van ruwe cameraparameters rechtstreeks het voor het model moeilijk maken om deze waarden te correleren met beeldpixels, waardoor de controle over visuele details afneemt. Om deze beperkingen te vermijden, kiest het CameraCtrl-kader voor plucker-embeddings als de weergave voor de camerapositie, aangezien de plucker-embeddings geometrische beschrijvingen van elke pixel van de videoframe hebben, en een meer gedetailleerde beschrijving van de camerapositie-informatie kunnen bieden.

Camera-bestuurbaarheid in videogeneratoren

Aangezien het model de trajectorie van de camera parameteriseert in een plucker-embedding-sequentie, d.w.z. ruimtelijke kaarten, heeft het model de keuze om een encoder-model te gebruiken om de camerakenmerken te extraheren, en vervolgens de camerakenmerken in videogeneratoren te fuseren. Vergelijkbaar met tekst-naar-afbeelding-adapter, introduceert het CameraCtrl-model een camera-encoder die specifiek voor video’s is ontworpen. De camera-encoder bevat een tijdelijke aandachtmodel na elk convolutionaal blok, waardoor het in staat is om de tijdelijke relaties van cameraposities throughout de videoclip te capteren. Zoals wordt aangetoond in de volgende afbeelding, accepteert de camera-encoder alleen plucker-embedding-invoer en levert multi-schaal-kenmerken. Na het verkrijgen van de multi-schaal-camerakenmerken, streeft het CameraCtrl-model ernaar om deze kenmerken naadloos in de U-net-architectuur van het tekst-naar-video-model te integreren, en bepaalt het de lagen die moeten worden gebruikt om de camerainformatie effectief te incorporeren. Bovendien, aangezien de meeste bestaande kaders een U-Net-achtige architectuur adopteren die zowel tijdelijke als ruimtelijke aandachtlagen bevat, injecteert het CameraCtrl-model de cameraweergaven in de tijdelijke aandachtblok, een beslissing die wordt ondersteund door het vermogen van de tijdelijke aandachtlagen om tijdelijke relaties te capteren, in overeenstemming met de inherente causale en sequentiële aard van een cameratrajectorie met de ruimtelijke aandachtlagen die individuele frames afbeelden.

Leer cameraverdelingen

Het trainen van de camera-encoder-component binnen het CameraCtrl-kader op een videogenerator vereist een grote hoeveelheid goed gelabelde en geannoteerde video’s, waarbij het model in staat is om de cameratrajectorie te verkrijgen met behulp van de structure-from-motion- of SfM-aanpak. Het CameraCtrl-kader streeft ernaar om de dataset te selecteren met verschijningen die overeenkomen met de trainingsgegevens van het basis-tekst-naar-video-model, en hebben een camerapositie-verdeling zo breed mogelijk. Voorbeelden in de dataset gegenereerd met behulp van virtuele engines vertonen een diverse cameraverdeling, aangezien ontwikkelaars de flexibiliteit hebben om de parameters van de camera tijdens de renderfase te controleren, hoewel het wel lijdt onder een distributiegap in vergelijking met datasets die reële voorbeelden bevatten. Wanneer wordt gewerkt met datasets die reële voorbeelden bevatten, is de verdeling van de camera meestal smal, en in dergelijke gevallen moet het kader een balans vinden tussen de diversiteit onder verschillende cameratrajecten en de complexiteit van individuele cameratrajecten. De complexiteit van individuele cameratrajecten zorgt ervoor dat het model leert om complexe trajecten te controleren tijdens het trainingsproces, terwijl de diversiteit onder verschillende cameratrajecten ervoor zorgt dat het model niet overpast op bepaalde vaste patronen. Bovendien, om het trainingsproces van de camera-encoder te controleren, stelt het CameraCtrl-kader de camera-alignment-metric voor om de besturingskwaliteit van de camera te meten door de fout tussen de cameratrajectorie van de gegenereerde voorbeelden en de invoer-cameragegevens te kwantificeren.

CameraCtrl : Experimenten en resultaten

Het CameraCtrl-kader implementeert het AnimateDiff-model als zijn basis-tekst-naar-video-model, en een belangrijke reden hiervoor is dat de trainingsstrategie van het AnimateDiff-model het mogelijk maakt om zijn motion-module te integreren met tekst-naar-afbeelding-basismodellen of tekst-naar-afbeelding-LoRAs om videogeneratie over verschillende genres en domeinen te accommoderen. Het model gebruikt de Adam-optimizer om het model te trainen met een constante leersnelheid van 1e-4. Bovendien, om ervoor te zorgen dat het model de videogeneratiecapaciteiten van het oorspronkelijke tekst-naar-video-model niet negatief beïnvloedt, gebruikt het CameraCtrl-kader de FID- of Frechet-Inception-Distance-metric om de verschijningskwaliteit van de video te beoordelen, en vergelijkt de kwaliteit van de gegenereerde video voordat en na het includeren van de camera-module.

Om zijn prestaties te beoordelen, wordt het CameraCtrl-kader geëvalueerd tegen twee bestaande cameracontrole-kaders: MotionCtrl en AnimateDiff. Echter, aangezien het AnimateDiff-kader alleen ondersteuning biedt voor acht basis-cameratrajecten, is de vergelijking tussen CameraCtrl en AnimateDiff beperkt tot drie basis-trajecten. Aan de andere kant, voor de vergelijking met MotionCtrl, selecteert het kader meer dan duizend willekeurige cameratrajecten uit bestaande datasets, plus basis-cameratrajecten, genereert video’s met behulp van deze trajecten, en evalueert ze met behulp van de TransErr- en RotErr-metrics.

Zoals te zien is, overtreft het CameraCtrl-kader het AnimateDiff-kader in basis-trajecten en levert betere resultaten wanneer het wordt vergeleken met het MotionCtrl-kader op de complexe traject-metric.

Bovendien toont de volgende figuur het effect van de camera-encoder-architectuur op de algehele kwaliteit van de gegenereerde voorbeelden. Rij a tot en met Rij d vertegenwoordigen de resultaten gegenereerd met de camera-encoder geïmplementeerd in de architectuur: ControlNet, ControlNet met tijdelijke aandacht, T2I-Adapter, en T2I-adapter met tijdelijke aandacht respectievelijk.

In de volgende figuur, vertegenwoordigen de eerste twee plaatsen de video gegenereerd met behulp van een combinatie van SparseCtrl-kaders’ RGB-encoder en de methode gebruikt in het CameraCtrl-kader.

Slotgedachten

In dit artikel hebben we gesproken over CameraCtrl, een nieuw idee dat probeert om nauwkeurige camerapositiebesturing voor tekst-naar-video-modellen in te schakelen. Na het parameteriseren van de trajectorie van de camera, traint het model een plug-and-play-camera-module op een tekst-naar-video-model, en laat de andere componenten ongemoeid. Bovendien voert het CameraCtrl-model ook een uitgebreide studie uit naar het effect van verschillende datasets en stelt voor dat video’s met vergelijkbare verschijningen en diverse cameraverdeling de algehele bestuurbaarheid en generaliseerbaarheid van het model kunnen verbeteren. Experimenten die zijn uitgevoerd om de prestaties van het CameraCtrl-model op echte taken te analyseren, geven de efficiëntie van het kader aan bij het bereiken van precieze en domeinadaptieve camerabesturing, waardoor een weg wordt geopend voor het nastreven van aangepaste en dynamische videogeneratie vanuit camerapositie en tekstuele invoer.

Een ingenieur van beroep, een schrijver van hart. Kunal is een technisch schrijver met een diepe liefde en begrip voor AI en ML, toegewijd aan het vereenvoudigen van complexe concepten in deze gebieden door middel van zijn boeiende en informatieve documentatie.