Connect with us

Intelligence artificielle

CameraCtrl : Activer le contrôle de la caméra pour la génération de vidéos à partir de texte

mm

Les récents cadres qui tentent de générer des vidéos à partir de texte ou de T2V utilisent des modèles de diffusion pour ajouter de la stabilité dans leur processus de formation, et le modèle de diffusion vidéo, l’un des pionniers dans les cadres de génération de texte à vidéo, étend une architecture de diffusion d’images 2D dans une tentative pour accueillir des données vidéo, et former le modèle sur des vidéos et des images conjointement à partir de zéro. En s’appuyant sur le même, et afin de mettre en œuvre un générateur d’images pré-entraîné puissant comme Stable Diffusion, les travaux récents gonflent leur architecture 2D en intercalant des couches temporelles entre les couches 2D pré-entraînées, et affinent le nouveau modèle sur de grands ensembles de données inédits. Malgré leur approche, les modèles de diffusion de texte à vidéo rencontrent un défi important puisque l’ambiguïté des descriptions de texte utilisées uniquement pour générer l’échantillon de vidéo aboutit souvent à ce que le modèle de texte à vidéo ait un contrôle plus faible sur la génération. Pour relever cette limitation, certains modèles fournissent une orientation améliorée tandis que d’autres travaillent avec des signaux précis pour contrôler la scène ou les mouvements humains dans les vidéos synthétisées avec précision. D’un autre côté, il existe quelques cadres de texte à vidéo qui adoptent des images comme signal de contrôle pour le générateur de vidéos, ce qui aboutit à une modélisation de relation temporelle précise, ou à une qualité de vidéo élevée.

Il serait sage de dire que la contrôlabilité joue un rôle crucial dans les tâches de génération d’images et de vidéos puisqu’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ématique pour exprimer les nuances narratives plus profondes au modèle. Pour relever les limitations de contrôlabilité actuelles, dans cet article, nous allons parler de CameraCtrl, une idée novatrice qui tente d’activer un contrôle précis de la pose de la caméra pour les modèles de texte à vidéo. Après avoir paramétré la trajectoire de la caméra avec précision, le modèle forme un module de caméra plug and play sur un modèle de texte à vidéo, et laisse les autres composants inchangés. De plus, le modèle CameraCtrl mène également une étude approfondie sur l’effet de divers ensembles de données, et suggère que les vidéos avec des apparences similaires et une distribution de caméra diverse peuvent améliorer la contrôlabilité et les capacités de généralisation globales 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 atteindre un contrôle de caméra précis et adaptatif au domaine, ouvrant la voie à la poursuite d’une génération de vidéos personnalisées et dynamiques à partir de la pose de la caméra et des entrées textuelles.

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

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

Le développement récent et les progrès des modèles de diffusion ont considérablement amélioré la génération de vidéos guidées par du texte au cours des 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 de génération de vidéos pratiques, car elle permet aux utilisateurs de personnaliser les résultats générés en fonction de leurs besoins et de leurs exigences. Avec une contrôlabilité élevée, le modèle est capable d’améliorer le réalisme, la qualité et l’utilité des vidéos qu’il génère, et tandis que les entrées de texte et d’image sont couramment utilisées par les modèles pour améliorer la contrôlabilité globale, elles manquent souvent de contrôle précis sur le mouvement et le contenu. Pour relever cette limitation, certains cadres ont proposé d’utiliser des signaux de contrôle comme 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 de vidéos. Une autre limitation rencontrée par les cadres existants est qu’ils manquent de contrôle précis sur la stimulation ou l’ajustement des points de caméra dans la génération de vidéos, car la capacité de contrôler la caméra est cruciale, car elle n’améliore pas seulement le réalisme des vidéos générées, mais permet également aux créateurs de mettre en évidence les relations entre les personnages, de mettre l’accent sur 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 relever et surmonter ces limitations, le cadre CameraCtrl, un module de caméra apprenable et précis plug and play capable de contrôler les vues de la caméra pour la génération de vidéos. Cependant, intégrer une caméra personnalisée dans un pipeline de modèle de texte à vidéo existant est une tâche plus facile à dire qu’à faire, ce qui oblige le cadre CameraCtrl à chercher des moyens pour représenter et injecter la caméra dans l’architecture du modèle de manière efficace. De la même manière, le cadre CameraCtrl adopte des plongements Plücker comme forme principale de paramètres de caméra, et la raison de choisir des plongements Plücker peut être attribuée à leur capacité à encoder des descriptions géométriques des informations de pose de la caméra. De plus, pour assurer 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 des plongements Plücker comme entrée. Pour assurer que le modèle de contrôle de caméra soit formé de manière efficace, le cadre et ses développeurs mènent une étude approfondie pour étudier comment les différentes données de formation affectent le cadre, allant 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 de pose de caméra diverse 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 cadre CameraCtrl ont mis en œuvre le modèle sur le cadre AnimateDiff, permettant ainsi un contrôle précis dans la génération de vidéos à travers différents personnalisés, démontrant ainsi son utilité et sa polyvalence dans une large gamme de contextes de création de vidéos.

Le cadre AnimateDiff adopte l’approche d’ajustement fine LoRA efficace pour obtenir les poids du modèle pour différents types de plans. Le cadre Direct-a-video propose de mettre en œuvre un intégrateur de caméra pour contrôler la pose de la caméra pendant le processus de génération de vidéos, mais il ne conditionne que sur trois paramètres de caméra, limitant ainsi la capacité de contrôle de la caméra aux types de base les plus simples. D’un autre côté, les cadres tels que 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 les parties des vidéos générées nuit à la généralisabilité du modèle. De plus, certains cadres intègrent des signaux de contrôle structurels supplémentaires comme des cartes de profondeur dans le processus pour améliorer la contrôlabilité à la fois pour la génération d’images et de texte. Typiquement, le modèle alimente ces signaux de contrôle 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 pour l’encodeur de caméra, il est essentiel pour nous de comprendre les différentes représentations de caméra. Typiquement, une pose de caméra fait référence à des paramètres intrinsèques et extrinsèques, et l’un des choix les plus simples pour laisser un générateur de vidéos conditionner sur la pose de la caméra est d’alimenter les valeurs brutes concernant les paramètres de la caméra dans le générateur. Cependant, la mise en œuvre d’une telle approche peut ne pas améliorer le contrôle précis de la caméra pour plusieurs raisons. Premièrement, tandis que la matrice de rotation est contrainte par l’orthogonalité, le vecteur de translation est généralement non contraint en magnitude, et conduit à une erreur d’apprentissage qui peut affecter la cohérence du contrôle. Deuxièmement, l’utilisation de paramètres de caméra bruts directement peut rendre difficile pour le modèle de corréler ces valeurs avec les pixels d’image, ce qui entraîne une diminution du contrôle sur les détails visuels. Pour éviter ces limitations, le cadre CameraCtrl choisit des plongements Plücker comme représentation de la pose de la caméra, car les plongements Plücker ont des représentations géométriques de chaque pixel de la trame de 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 de vidéos

Alors que le modèle paramètre la trajectoire de la caméra dans une séquence de plongements Plücker, c’est-à-dire des cartes spatiales, le modèle a le choix d’utiliser un modèle d’encodeur pour extraire les fonctionnalités de la caméra, puis de fusionner les fonctionnalités de la caméra dans les générateurs de vidéos. Semblable à l’adaptateur d’image à texte, 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 temporel après chaque bloc convolutionnel, lui permettant de capturer les relations temporelles des poses de caméra tout au long de la vidéo. Comme le montre l’image suivante, l’encodeur de caméra n’accepte que des plongements Plücker comme entrée et fournit des fonctionnalités multi-échelles. Après avoir obtenu les fonctionnalités de caméra multi-échelles, le modèle CameraCtrl vise à intégrer ces fonctionnalités dans l’architecture U-Net du modèle de texte à vidéo de manière transparente, et détermine les couches qui doivent être utilisées pour incorporer les informations de caméra de manière efficace. De plus, puisque la plupart des cadres existants adoptent une architecture de type U-Net qui contient à la fois des couches d’attention temporelles et spatiales, le modèle CameraCtrl injecte les représentations de caméra dans le bloc d’attention temporel, une décision qui est étayée par la capacité des couches d’attention temporelles à capturer les relations temporelles, ce qui correspond à la nature causale et séquentielle inhérente à une trajectoire de caméra avec les couches d’attention spatiales qui représentent les cadres individuels.

Apprentissage des distributions de caméra

La formation de la composante d’encodeur de caméra dans le cadre CameraCtrl sur un générateur de vidéos nécessite une grande quantité de vidéos étiquetées et annotées avec le modèle capable d’obtenir la trajectoire de la caméra à l’aide de l’approche de structure à partir du mouvement ou SfM. Le cadre CameraCtrl tente de sélectionner l’ensemble de données avec des apparences correspondant de près aux données de formation du modèle de base de texte à vidéo, et avoir une distribution de pose de caméra aussi large que possible. Les échantillons dans l’ensemble de données générés à l’aide de moteurs virtuels présentent une distribution de caméra diverse, car les développeurs ont la flexibilité 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 distribution de la caméra est généralement étroite, et dans de tels cas, le cadre doit trouver un équilibre entre la diversité entre les différentes trajectoires de caméra et la complexité de la trajectoire de caméra individuelle. La complexité de la trajectoire de caméra individuelle garantit que le modèle apprend à contrôler des trajectoires complexes pendant le processus de formation, tandis que la diversité entre les différentes trajectoires de caméra garantit que le modèle ne surapprenne pas à des modèles fixes. De plus, pour surveiller le processus de formation de l’encodeur de caméra, le cadre CameraCtrl propose la métrique d’alignement de caméra pour mesurer la qualité de contrôle de la caméra en quantifiant l’erreur entre la trajectoire de caméra des échantillons générés et les conditions de caméra d’entrée.

CameraCtrl : Expériences et résultats

Le cadre CameraCtrl met en œuvre le modèle AnimateDiff comme modèle de base de texte à vidéo et une raison majeure derrière cela est que la stratégie de formation du modèle AnimateDiff permet à son module de mouvement de s’intégrer avec des modèles de base d’image à texte ou des LoRAs d’image à texte pour accueillir la génération de vidéos à travers différents genres et domaines. Le modèle utilise l’optimiseur Adam pour former le modèle avec un taux d’apprentissage constant de 1e-4. De plus, pour s’assurer que le modèle n’affecte pas négativement les capacités de génération de vidéos du modèle de texte à vidéo d’origine, le cadre CameraCtrl utilise la métrique de distance de Fréchet ou FID 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 cadre CameraCtrl est évalué par rapport à deux cadres de contrôle de caméra existants : MotionCtrl et AnimateDiff. Cependant, puisque le cadre AnimateDiff prend en charge seulement huit trajectoires de caméra de base, la comparaison entre CameraCtrl et AnimateDiff est limitée à trois trajectoires de base. D’un autre côté, pour la comparaison avec MotionCtrl, le cadre sélectionne plus de mille 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 à l’aide de ces trajectoires, et évalue les vidéos à l’aide des métriques TransErr et RotErr.

Comme on peut l’observer, le cadre CameraCtrl surpasse le cadre AnimateDiff en termes de trajectoire de base, et fournit de meilleurs résultats lorsqu’il est comparé au cadre 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. La rangée a à la rangée d représentent les résultats générés avec l’encodeur de caméra mis en œuvre dans l’architecture : ControlNet, ControlNet avec attention temporelle, T2I Adaptor, et T2I adaptateur avec attention temporelle respectivement.

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

Pensées finales

Dans cet article, nous avons parlé de CameraCtrl, une idée novatrice qui tente d’activer un contrôle précis de la pose de la caméra pour les modèles de texte à vidéo. Après avoir paramétré la trajectoire de la caméra avec précision, le modèle forme un module de caméra plug and play sur un modèle de texte à vidéo, et laisse les autres composants inchangés. De plus, le modèle CameraCtrl mène également une étude approfondie sur l’effet de divers ensembles de données, et suggère que les vidéos avec des apparences similaires et une distribution de caméra diverse peuvent améliorer la contrôlabilité et les capacités de généralisation globales 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 atteindre un contrôle de caméra précis et adaptatif au domaine, ouvrant la voie à la poursuite d’une génération de vidéos personnalisées et dynamiques à partir de la pose de la caméra et des entrées textuelles.

Un ingénieur de profession, un écrivain de cœur. Kunal est un rédacteur technique avec une profonde affection et une compréhension de l'IA et du ML, dédié à simplifier les concepts complexes dans ces domaines grâce à sa documentation engageante et informative.