Suivez nous sur

Intelligence artificielle

CameraCtrl : activation du contrôle de la caméra pour la génération de texte en vidéo

mm

Publié le

 on

Les frameworks récents tentant de générer du texte en vidéo ou T2V exploitent les modèles de diffusion pour ajouter de la stabilité à leur processus de formation, et le modèle de diffusion vidéo, l'un des pionniers des frameworks de génération de texte en vidéo, étend une architecture de diffusion d'images 2D pour tenter de s'adapter. données vidéo et entraîner le modèle sur la vidéo et l'image conjointement à partir de zéro. S'appuyant sur la même chose et afin de mettre en œuvre un puissant générateur d'images pré-entraînées comme Stable Diffusion, des travaux récents gonflent leur architecture 2D en entrelaçant des couches temporelles entre les couches 2D pré-entraînées et affinent le nouveau modèle sur de grands ensembles de données invisibles. Malgré leur approche, les modèles de diffusion texte-vidéo sont confrontés à un défi important, car l'ambiguïté des descriptions textuelles utilisées uniquement pour générer l'échantillon vidéo entraîne souvent un contrôle plus faible du modèle texte-vidéo sur la génération. Pour remédier à cette limitation, certains modèles offrent un guidage amélioré tandis que d'autres fonctionnent avec des signaux précis pour contrôler avec précision la scène ou les mouvements humains dans les vidéos synthétisées. D'un autre côté, il existe quelques cadres texte-vidéo qui adoptent des images comme signal de contrôle pour le générateur vidéo, ce qui permet soit une modélisation précise des relations temporelles, soit une qualité vidéo élevée. 

On peut affirmer sans se tromper que la contrôlabilité joue un rôle crucial dans les tâches de génération d’images et de vidéos, car elle permet aux utilisateurs de créer le contenu qu’ils souhaitent. Cependant, les cadres existants négligent souvent le contrôle précis de la pose de la caméra qui sert de langage cinématographique pour mieux exprimer les nuances narratives plus profondes au modèle. Pour remédier aux limitations actuelles en matière de contrôlabilité, dans cet article, nous parlerons de CameraCtrl, une nouvelle idée qui tente de permettre un contrôle précis de la pose de la caméra pour les modèles texte-vidéo. Après avoir paramétré précisément la trajectoire de la caméra, le modèle entraîne un module de caméra plug and play sur un modèle texte-vidéo, et laisse les autres composants intacts. En outre, le modèle CameraCtrl mène également une étude approfondie sur l'effet de divers ensembles de données et suggère que des vidéos ayant des apparences similaires et une répartition diversifiée des caméras peuvent améliorer la contrôlabilité globale et les capacités de généralisation du modèle. Les expériences menées pour analyser les performances du modèle CameraCtrl sur des tâches du monde réel indiquent l'efficacité du cadre pour obtenir un contrôle de caméra précis et adaptatif au domaine, ouvrant la voie à la poursuite d'une génération vidéo personnalisée et dynamique à partir de la pose de la caméra et des entrées textuelles. 

Cet article vise à couvrir le framework CameraCtrl en profondeur, et nous explorons le mécanisme, la méthodologie, l'architecture du framework ainsi que sa comparaison avec les frameworks de pointe. Alors, commençons. 

CameraCtrl : Contrôle de caméra pour la génération T2V

Le développement et l'avancement récents des modèles de diffusion ont considérablement fait progresser la génération de vidéos guidées par texte ces dernières années et ont révolutionné les flux de travail de conception de contenu. La contrôlabilité joue un rôle important dans les applications pratiques de génération vidéo car elle permet aux utilisateurs de personnaliser les résultats générés en fonction de leurs besoins et exigences. Avec une contrôlabilité élevée, le modèle est capable d'améliorer le réalisme, la qualité et la convivialité des vidéos qu'il a générées, et bien que les entrées de texte et d'image soient couramment utilisées par les modèles pour améliorer la contrôlabilité globale, ils manquent souvent de contrôle précis sur le mouvement et le contenu. . Pour remédier à cette limitation, certains cadres ont proposé d'exploiter des signaux de contrôle tels que le squelette de pose, le flux optique et d'autres signaux multimodaux pour permettre un contrôle plus précis pour guider la génération vidéo. Une autre limitation rencontrée par les frameworks existants est qu'ils manquent de contrôle précis sur la stimulation ou l'ajustement des points de caméra lors de la génération vidéo, car la capacité de contrôler la caméra est cruciale car elle améliore non seulement le réalisme des vidéos générées, mais en permettant des points de vue personnalisés, elle également améliore l'engagement des utilisateurs, une fonctionnalité essentielle dans le développement de jeux, la réalité augmentée et la réalité virtuelle. De plus, gérer habilement les mouvements de caméra permet aux créateurs de mettre en valeur les relations entre les personnages, de souligner les émotions et de guider l'attention du public cible, ce qui est d'une grande importance dans les industries du cinéma et de la publicité. 

Pour aborder et surmonter ces limitations, le framework CameraCtrl, un module de caméra plug and play apprenable et précis avec la possibilité de contrôler les points de vue de la caméra pour la génération vidéo. Cependant, intégrer une caméra personnalisée dans un pipeline de modèle texte-vidéo existant est une tâche plus facile à dire qu'à faire, obligeant le framework CameraCtrl à rechercher des moyens de représenter et d'injecter efficacement la caméra dans l'architecture du modèle. Dans le même ordre d'idées, le framework CameraCtrl adopte les intégrations de plucker comme forme principale de paramètres de caméra, et la raison du choix des intégrations de plucker peut être attribuée à leur capacité à encoder des descriptions géométriques des informations de pose de la caméra. De plus, pour garantir la généralisabilité et l'applicabilité du modèle CameraCtrl après la formation, le modèle introduit un modèle de contrôle de caméra qui n'accepte que les intégrations de plucker comme entrée. Pour garantir que le modèle de contrôle de la caméra est formé efficacement, le framework et ses développeurs mènent une étude complète pour étudier comment différentes données de formation affectent le framework, des données synthétiques aux données réalistes. Les résultats expérimentaux indiquent que la mise en œuvre de données avec une distribution diversifiée de poses de caméra et une apparence similaire au modèle de base d'origine permet d'obtenir le meilleur compromis entre contrôlabilité et généralisabilité. Les développeurs du framework CameraCtrl ont implémenté le modèle au-dessus du framework AnimateDiff, permettant ainsi un contrôle précis de la génération vidéo sur différentes vidéos personnalisées, démontrant sa polyvalence et son utilité dans un large éventail de contextes de création vidéo. 

Le framework AnimateDiff adopte l'efficacité LoRA approche de réglage fin pour obtenir les poids du modèle pour différents types de prises de vue. Le framework Direct-a-video propose d'implémenter un intégrateur de caméra pour contrôler la pose des caméras pendant le processus de génération vidéo, mais il ne dépend que de trois paramètres de caméra, limitant la capacité de contrôle de la caméra à la plupart des types de base. D'autre part, les frameworks incluant MotionCtrl conçoivent un contrôleur de mouvement qui accepte plus de trois paramètres d'entrée et est capable de produire des vidéos avec des poses de caméra plus complexes. Cependant, la nécessité d’affiner certaines parties des vidéos générées entrave la généralisabilité du modèle. De plus, certains frameworks intègrent des signaux de contrôle structurels supplémentaires tels que des cartes de profondeur dans le processus pour améliorer la contrôlabilité de la génération d'images et de texte. Généralement, le modèle alimente ces signaux de commande dans un encodeur supplémentaire, puis injecte les signaux dans un générateur à l'aide de diverses opérations. 

CameraCtrl : Architecture du modèle

Avant de pouvoir examiner l'architecture et le paradigme de formation de l'encodeur de caméra, il est essentiel pour nous de comprendre les différentes représentations de caméra. En règle générale, une pose de caméra fait référence à des paramètres intrinsèques et extrinsèques, et l'un des choix simples pour laisser un générateur vidéo conditionner la pose de la caméra est d'introduire des valeurs brutes concernant les paramètres de la caméra dans le générateur. Cependant, la mise en œuvre d’une telle approche pourrait ne pas améliorer le contrôle précis de la caméra pour plusieurs raisons. Premièrement, alors que la matrice de rotation est contrainte par l’orthogonalité, le vecteur de translation n’est généralement pas contraint en amplitude et conduit à une inadéquation dans le processus d’apprentissage qui peut affecter la cohérence du contrôle. Deuxièmement, l’utilisation directe des paramètres bruts de la caméra peut rendre difficile pour le modèle de corréler ces valeurs avec les pixels de l’image, ce qui entraîne une diminution du contrôle sur les détails visuels. Pour éviter ces limitations, le framework CameraCtrl choisit les intégrations de plucker comme représentation de la pose de la caméra, car les intégrations de plucker ont des représentations géométriques de chaque pixel de l'image vidéo et peuvent fournir une description plus élaborée des informations de pose de la caméra. 

Contrôlabilité de la caméra dans les générateurs vidéo

Lorsque le modèle paramétrise la trajectoire de la caméra dans une séquence d'intégration de plucker, c'est-à-dire des cartes spatiales, le modèle a le choix d'utiliser un modèle d'encodeur pour extraire les caractéristiques de la caméra, puis de fusionner les caractéristiques de la caméra dans des générateurs vidéo. Semblable à texte en image adaptateur, le modèle CameraCtrl introduit un encodeur de caméra conçu spécifiquement pour les vidéos. L'encodeur de caméra comprend un modèle d'attention temporelle après chaque bloc convolutif, lui permettant de capturer les relations temporelles des poses de caméra tout au long du clip vidéo. Comme le montre l'image suivante, l'encodeur de la caméra accepte uniquement l'entrée d'intégration du plucker et offre des fonctionnalités multi-échelles. Après avoir obtenu les fonctionnalités de la caméra multi-échelle, le modèle CameraCtrl vise à intégrer ces fonctionnalités dans l'architecture U-net du modèle texte-vidéo de manière transparente et détermine les couches qui doivent être utilisées pour incorporer efficacement les informations de la caméra. De plus, étant donné qu'une majorité de frameworks existants adoptent une architecture de type U-Net qui contient à la fois les couches d'attention temporelle et spatiale, le modèle CameraCtrl injecte les représentations de la caméra dans le bloc d'attention temporelle, une décision qui s'appuie sur la capacité de l'attention temporelle. couches pour capturer les relations temporelles, en s'alignant sur la nature décontractée et séquentielle inhérente à la trajectoire d'une caméra avec les couches d'attention spatiale décrivant les images individuelles. 

Distributions de caméras d’apprentissage

La formation du composant encodeur de caméra dans le framework CameraCtrl sur un générateur vidéo nécessite une grande quantité de vidéos bien étiquetées et annotées, le modèle étant capable d'obtenir la trajectoire de la caméra en utilisant une structure à partir du mouvement ou une approche SfM. Le framework CameraCtrl tente de sélectionner l'ensemble de données avec des apparences correspondant étroitement aux données d'entraînement du texte de base au modèle vidéo et d'avoir une distribution de pose de caméra aussi large que possible. Les échantillons de l'ensemble de données générés à l'aide de moteurs virtuels présentent une répartition diversifiée des caméras, car les développeurs ont la possibilité de contrôler les paramètres de la caméra pendant la phase de rendu, bien qu'ils souffrent d'un écart de distribution par rapport aux ensembles de données contenant des échantillons du monde réel. Lorsque vous travaillez avec des ensembles de données contenant des échantillons du monde réel, la répartition de la caméra est généralement étroite et, dans de tels cas, le cadre doit trouver un équilibre entre la diversité des différentes trajectoires de caméra et la complexité de la trajectoire de chaque caméra. La complexité des trajectoires individuelles des caméras garantit que le modèle apprend à contrôler des trajectoires complexes pendant le processus de formation, tandis que la diversité des différentes trajectoires des caméras garantit que le modèle ne s'adapte pas trop à certains modèles fixes. De plus, pour surveiller le processus de formation de l'encodeur de caméra, le framework CameraCtrl propose la métrique d'alignement de la caméra pour mesurer la qualité du contrôle de la caméra en quantifiant l'erreur entre la trajectoire de la caméra des échantillons générés et les conditions de la caméra d'entrée. 

CameraCtrl : Expériences et résultats

Le framework CameraCtrl implémente le modèle AnimateDiff comme modèle de base texte en vidéo et l'une des principales raisons derrière cela est que la stratégie de formation du modèle AnimateDiff permet à son module de mouvement de s'intégrer aux modèles de base texte en image ou aux LoRA texte en image pour accueillir la vidéo. génération à travers différents genres et domaines. Le modèle utilise l'optimiseur Adam pour entraîner le modèle avec un taux d'apprentissage constant de 1e-4. De plus, pour garantir que le modèle n'a pas d'impact sur les capacités de génération vidéo de l'original modèle de texte en vidéo négativement, le framework CameraCtrl utilise la métrique FID ou Frechet Inception Distance pour évaluer la qualité d'apparence de la vidéo et compare la qualité de la vidéo générée avant et après l'inclusion du module de caméra. 

Pour évaluer ses performances, le framework CameraCtrl est évalué par rapport à deux frameworks de contrôle de caméra existants : MotionCtrl et AnimateDiff. Cependant, étant donné que le framework AnimateDiff ne prend en charge que huit trajectoires de caméra de base, la comparaison entre CameraCtrl et AnimateDiff est limitée à trois trajectoires de base. D'autre part, à des fins de comparaison avec MotionCtrl, le framework sélectionne plus d'un millier de trajectoires de caméra aléatoires à partir d'un ensemble de données existant en plus des trajectoires de caméra de base, génère des vidéos en utilisant ces trajectoires et les évalue à l'aide des métriques TransErr et RotErr. 

Comme on peut l'observer, le framework CameraCtrl surpasse le framework AnimateDiff en termes de trajectoire de base et fournit de meilleurs résultats par rapport au framework MotionCtrl sur la métrique de trajectoire complexe. 

De plus, la figure suivante démontre l'effet de l'architecture de l'encodeur de caméra sur la qualité globale des échantillons générés. Les rangées a à d représentent les résultats générés avec l'encodeur de caméra implémenté dans l'architecture : ControlNet, ControlNet avec attention temporelle, adaptateur T2I et adaptateur T2I avec attention temporelle respectivement. 

Dans la figure suivante, les deux premiers remplacent la vidéo générée à l'aide d'une combinaison de l'encodeur RVB du framework SparseCtrl et de la méthode utilisée dans le framework CameraCtrl. 

Réflexions finales

Dans cet article, nous avons parlé de CameraCtrl, une nouvelle idée qui tente de permettre un contrôle précis de la pose de la caméra pour les modèles texte-vidéo. Après avoir paramétré précisément la trajectoire de la caméra, le modèle entraîne un module de caméra plug and play sur un modèle texte-vidéo, et laisse les autres composants intacts. En outre, le modèle CameraCtrl mène également une étude approfondie sur l'effet de divers ensembles de données et suggère que des vidéos ayant des apparences similaires et une répartition diversifiée des caméras peuvent améliorer la contrôlabilité globale et les capacités de généralisation du modèle. Les expériences menées pour analyser les performances du modèle CameraCtrl sur des tâches du monde réel indiquent l'efficacité du cadre pour obtenir un contrôle de caméra précis et adaptatif au domaine, ouvrant la voie à la poursuite d'une génération vidéo personnalisée et dynamique à partir de la pose de la caméra et des entrées textuelles. 

« Ingénieur de profession, écrivain de cœur ». Kunal est un rédacteur technique avec un amour et une compréhension profonds de l'IA et du ML, dédié à la simplification de concepts complexes dans ces domaines grâce à sa documentation engageante et informative.