AI-modellen en platforms
CameraCtrl: Camera Control voor T2V-Generatie
Recente kaders die proberen tekst naar video of T2V-generatie te maken, gebruiken diffusiemodellen om stabiliteit in hun trainingsproces toe te voegen, en het Video Diffusion Model, een van de pioniers in de tekst-naar-video-generatiekaders, breidt een 2D-beelddiffusiearchitectuur uit om video-gegevens te accommoderen, en traint het model op video- en beeldgegevens van scratch. Gebouwd op hetzelfde, en om een krachtige voorgetrainde beeldgenerator zoals Stable Diffusion te implementeren, hebben recente werken hun 2D-architectuur opgeblazen door tijdelijke lagen tussen de voorgetrainde 2D-lagen te interpoleren, en finetunen het nieuwe model op ongezien grote datasets. Ondanks hun benadering, hebben tekst-naar-video-diffusiemodellen een significante uitdaging omdat de ambiguïteit van uitsluitend gebruikte tekstbeschrijvingen om de video-steekproef te genereren vaak resulteert in het tekst-naar-video-model met 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 beelden gebruiken als controle-signaal voor de video-generator, wat resulteert in een nauwkeurige temporale relatie-modellering of hoge video-kwaliteit.
Het zou veilig zijn om te zeggen dat controleerbaarheid een cruciale rol speelt in beeld- en video-generatietaken, omdat het gebruikers in staat stelt de inhoud te creëren die ze wensen. Echter, bestaande kaders letten vaak over het hoofd de precieze controle van camera-pose die dient als een cinematografische taal om de diepere narratieve nuances aan het model beter uit te drukken. Om de huidige controlebeperkingen aan te pakken, zullen we in dit artikel praten over CameraCtrl, een novum idee dat probeert om nauwkeurige camera-pose-controle voor tekst-naar-video-modellen mogelijk te maken. Na het parameteriseren van de trajectorie van de camera nauwkeurig, 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 controleerbaarheid en generaliseerbaarheid van het model kunnen verbeteren. Experimenten die zijn uitgevoerd om de prestaties van het CameraCtrl-model op echte taken te analyseren, geven aan dat het kader efficiënt is in het bereiken van precieze en domein-adaptieve camera-controle, wat een weg vrijmaakt voor het nastreven van aangepaste en dynamische video-generatie vanuit camera-pose 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 Control voor T2V-Generatie
De recente ontwikkeling en vooruitgang van diffusiemodellen hebben tekst-geleide video-generatie aanzienlijk verbeterd in de afgelopen jaren, en hebben de inhoudsontwerpprocessen gerationaliseerd. Controleerbaarheid speelt een significante rol in praktische video-generatie-toepassingen, omdat het gebruikers in staat stelt de gegenereerde resultaten aan te passen aan hun behoeften en vereisten. Met hoge controleerbaarheid kan het model de realisme, kwaliteit en bruikbaarheid van de gegenereerde video’s verbeteren, en terwijl tekst- en beeldinvoer vaak worden gebruikt door modellen om de algehele controleerbaarheid te verbeteren, ontbreken ze vaak aan precieze controle over beweging en inhoud. Om deze beperking aan te pakken, hebben sommige kaders voorgesteld om controle-signalen zoals pose-skelet, optische stroom en andere multi-modale signalen te gebruiken om meer nauwkeurige controle te mogelijk maken om video-generatie te geleiden. Een andere beperking van bestaande kaders is dat ze ontbreken aan precieze controle over het stimuleren of aanpassen van camera-punten in video-generatie, aangezien de mogelijkheid om de camera te controleren cruciaal is, omdat het niet alleen de realisme van de gegenereerde video’s verbetert, maar ook door aangepaste gezichtspunten, gebruikersbetrokkenheid te vergroten, een functie die essentieel is in game-ontwikkeling, augmented reality en virtual reality. Bovendien maakt het vaardig beheren van camera-bewegingen het mogelijk voor creators om personage-relaties te benadrukken, emoties te benadrukken en de focus van het doelpubliek te geleiden, iets van groot belang in de film- en reclame-industrie.
Om deze beperkingen 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 video-generatie te controleren. Echter, het integreren van een aangepaste camera in een bestaand tekst-naar-video-model-pipeline is een taak die gemakkelijker gezegd dan gedaan is, waardoor het CameraCtrl-kader moet zoeken naar manieren om de camera effectief in de model-architectuur te representeren en in te voeren. Op dezelfde manier kiest het CameraCtrl-kader voor plucker-embeddings als de primaire vorm van camera-parameters, en de reden voor het kiezen van plucker-embeddings kan worden toegeschreven aan hun vermogen om geometrische beschrijvingen van de camera-pose-informatie te coderen. Bovendien, om de generaliseerbaarheid en toepasbaarheid van het CameraCtrl-model na training te waarborgen, introduceert het model een camera-controle-model dat alleen plucker-embeddings als invoer accepteert. Om ervoor te zorgen dat het camera-controle-model effectief getraind wordt, voert het kader en de ontwikkelaars een uitgebreide studie uit om te onderzoeken hoe verschillende trainingsdata het kader beïnvloeden, van synthetische tot realistische data. De experimentele resultaten geven aan dat het implementeren van data met diverse camera-pose-verdeling en vergelijkbare verschijning met het oorspronkelijke basis-model de beste compromis tussen controleerbaarheid en generaliseerbaarheid bereikt. De ontwikkelaars van het CameraCtrl-kader hebben het model geïmplementeerd op het AnimateDiff-kader, waardoor precieze controle in video-generatie mogelijk wordt gemaakt over verschillende gepersonaliseerde kaders, en demonstreert zijn veelzijdigheid en nut in een breed scala van video-creatie-contexten.

Het AnimateDiff-kader gebruikt de efficiënte LoRA-fine-tuning-benadering 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 pose van de camera’s tijdens het video-generatieproces te controleren, maar het conditioneert alleen op drie camera-parameters, waardoor de controle-mogelijkheid van de camera beperkt is tot de meest basale typen. Aan de andere kant ontwerpen kaders zoals MotionCtrl een motion-controller die meer dan drie invoerparameters accepteert en in staat is om video’s met complexe camera-pose te produceren. Echter, de noodzaak om delen van de gegenereerde video’s te fine-tunen, beperkt de generaliseerbaarheid van het model. Bovendien incorporeren sommige kaders additionele structurele controle-signalen zoals dieptekaarten in het proces om de controleerbaarheid voor zowel beeld- als tekstgeneratie te verbeteren. Typisch voeden deze controle-signalen een extra encoder en injecteren ze de signalen in een generator met behulp van verschillende operaties.
CameraCtrl: Model Architectuur
Voordat we naar de architectuur en trainingsparadigma voor de camera-encoder kunnen kijken, is het essentieel om verschillende camera-representaties te begrijpen. Typisch verwijst een camera-pose naar intrinsieke en extrinsieke parameters, en een van de rechtstreekse keuzes om een video-generator te laten conditioneren op de camera-pose is om de raw waarden van de camera-parameters rechtstreeks in de generator te voeden. Echter, het implementeren van een dergelijke benadering kan de nauwkeurige camera-controle voor de video-generatie niet verbeteren om een aantal redenen. Ten eerste, terwijl de rotatie-matrix wordt beperkt door orthogonaliteit, is de translatie-vector typisch onbeperkt in grootte, en leidt tot een mismatch in het leerproces dat de consistentie van de controle kan beïnvloeden. Ten tweede kan het gebruik van raw camera-parameters 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 representatie voor de camera-pose, aangezien de plucker-embeddings geometrische beschrijvingen van elke pixel van de video-frame hebben, en een meer gedetailleerde beschrijving van de camera-pose-informatie kunnen bieden.
Camera Controleerbaarheid in Video-Generators
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 camera-functies te extraheren, en vervolgens de camera-functies in video-generators te fuseren. Vergelijkbaar met tekst-naar-beeld-adapter, introduceert het CameraCtrl-model een camera-encoder die specifiek is ontworpen voor video’s. De camera-encoder bevat een tijdelijke aandacht-model na elk convolutionaal blok, waardoor het in staat is om de tijdelijke relaties van camera-pose tijdens de video-clip te capteren. Zoals wordt aangetoond in de volgende afbeelding, accepteert de camera-encoder alleen plucker-embedding-invoer en levert multi-schaal-functies. Nadat de multi-schaal-camera-functies zijn verkregen, streeft het CameraCtrl-model ernaar om deze functies naadloos in de U-Net-architectuur van het tekst-naar-video-model te integreren, en bepaalt de lagen die moeten worden gebruikt om de camera-informatie effectief te incorporeren. Bovendien, aangezien de meeste bestaande kaders een U-Net-achtige architectuur hebben die zowel tijdelijke als ruimtelijke aandacht-lagen bevat, injecteert het CameraCtrl-model de camera-representaties in de tijdelijke aandacht-blok, een beslissing die wordt ondersteund door het vermogen van de tijdelijke aandacht-lagen om tijdelijke relaties te capteren, in overeenstemming met de inherente causale en sequentiële aard van een camera-trajectorie met de ruimtelijke aandacht-lagen die afzonderlijke frames afbeelden.

Leer Camera Distributies
Het trainen van de camera-encoder-component binnen het CameraCtrl-kader op een video-generator vereist een grote hoeveelheid goed gelabelde en geannoteerde video’s, waarbij het model in staat is om de camera-trajectorie te verkrijgen met behulp van de structure-from-motion- of SfM-benadering. Het CameraCtrl-kader probeert de dataset te selecteren met verschijningen die overeenkomen met de trainingsdata van het basis-tekst-naar-video-model, en heeft een camera-pose-verdeling die zo breed mogelijk is. Samples in de dataset gegenereerd met behulp van virtuele engines vertonen een diverse camera-verdeling, aangezien ontwikkelaars de flexibiliteit hebben om de parameters van de camera tijdens de rendering-fase te controleren, hoewel het wel een distributie-kloof vertoont ten opzichte van datasets met echte wereldsamples. Wanneer wordt gewerkt met datasets met echte wereldsamples, is de verdeling van de camera meestal smal, en in dergelijke gevallen moet het kader een balans vinden tussen de diversiteit onder verschillende camera-trajecten en de complexiteit van individuele camera-trajecten. De complexiteit van individuele camera-trajecten zorgt ervoor dat het model leert om complexe trajecten te controleren tijdens het trainingsproces, terwijl de diversiteit onder verschillende camera-trajecten ervoor zorgt dat het model niet overfit naar bepaalde vaste patronen. Bovendien, om het trainingsproces van de camera-encoder te monitoren, stelt het CameraCtrl-kader de camera-alignment-metric voor om de controle-kwaliteit van de camera te meten door de fout tussen de camera-trajectorie van de gegenereerde samples en de invoer-camera-omstandigheden 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-beeld-basismodellen of tekst-naar-beeld-LoRAs om video-generatie over verschillende genres en domeinen te accommoderen. Het model gebruikt de Adam-optimizer om het model te trainen met een constante leerfactor van 1e-4. Bovendien, om ervoor te zorgen dat het model de video-generatie-mogelijkheden van het oorspronkelijke tekst-naar-video-model niet negatief beïnvloedt, gebruikt het CameraCtrl-kader de FID- of Frechet-Inception-Distance-metric om de verschijning-kwaliteit van de video te beoordelen, en vergelijkt de kwaliteit van de gegenereerde video voor en na het includeren van de camera-module.
Om zijn prestaties te beoordelen, wordt het CameraCtrl-kader geëvalueerd tegen twee bestaande camera-controle-kaders: MotionCtrl en AnimateDiff. Echter, aangezien het AnimateDiff-kader alleen ondersteuning biedt voor acht basis-camera-trajecten, 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 camera-trajecten uit bestaande datasets, plus basis-camera-trajecten, 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 samples. 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 de video gegenereerd met behulp van een combinatie van de SparseCtrl-kaders RGB-encoder, en de methode die in het CameraCtrl-kader wordt gebruikt.

Slotgedachten
In dit artikel hebben we gesproken over CameraCtrl, een novum idee dat probeert om nauwkeurige camera-pose-controle voor tekst-naar-video-modellen mogelijk te maken. Na het parameteriseren van de trajectorie van de camera nauwkeurig, 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 controleerbaarheid en generaliseerbaarheid van het model kunnen verbeteren. Experimenten die zijn uitgevoerd om de prestaties van het CameraCtrl-model op echte taken te analyseren, geven aan dat het kader efficiënt is in het bereiken van precieze en domein-adaptieve camera-controle, wat een weg vrijmaakt voor het nastreven van aangepaste en dynamische video-generatie vanuit camera-pose en tekstuele invoer.












