Modèles et plateformes d’IA
CameraCtrl : Contrôle de la caméra pour la génération de vidéos à partir de texte
Les récents cadres tentant de générer des vidéos à partir de texte ou de génération de vidéos à partir de texte (T2V) utilisent des modèles de diffusion pour ajouter de la stabilité à leur processus de formation, et le modèle de diffusion de vidéo, l’un des pionniers dans les cadres de génération de vidéos à partir de texte, é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 données vidéo et d’image conjointement à partir de zéro. En s’appuyant sur cela, et afin de mettre en œuvre un générateur d’images pré-formé puissant comme Stable Diffusion, les travaux récents gonflent leur architecture 2D en intercalant des couches temporelles entre les couches 2D pré-formé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 sont confrontés à un défi important, car l’ambiguïté de descriptions de texte uniquement utilisées 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éo, aboutissant à 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, 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é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 les capacités de contrôlabilité et 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 d’état de l’art. Alors commençons.
CameraCtrl : Contrôle de la caméra pour la génération de vidéos à partir de texte
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ée par le 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 selon leurs besoins et 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 d’un 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 multi-modaux pour permettre un contrôle plus précis pour guider la génération de vidéos. Une autre limitation à laquelle sont confrontés 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 essentiel dans les industries du cinéma et de la publicité.
Pour relever ces limitations, le cadre CameraCtrl, un module de caméra apprenable et précis plug and play capable de contrôler les points de vue 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 les embeddings de plucker comme forme principale de paramètres de caméra, et la raison de choisir les embeddings de plucker est due à 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 les embeddings de plucker comme entrée. Pour assurer que le modèle de contrôle de caméra est formé de manière efficace, le cadre et ses développeurs mènent une étude approfondie pour investiguer comment les différentes données de formation affectent le cadre, des données synthétiques à des 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 atteint le meilleur compromis entre la contrôlabilité et la 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 dans différents contextes de création de vidéos personnalisées, 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’affinement 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 embeddeur 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 les plus basiques. 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 des parties des vidéos générées gêne la généralisabilité du modèle. De plus, certains cadres incorporent des signaux de contrôle structurels supplémentaires comme des cartes de profondeur dans le processus pour améliorer la contrôlabilité 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’une 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 des paramètres de 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 discordance dans le processus 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 relier ces valeurs aux pixels d’image, aboutissant à un contrôle diminué sur les détails visuels. Pour éviter ces limitations, le cadre CameraCtrl choisit les embeddings de plucker comme représentation de la pose de la caméra, car les embeddings de plucker 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
Lorsque le modèle paramètre la trajectoire de la caméra dans une séquence d’embeddings de plucker, 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 inclut un modèle d’attention temporelle après chaque bloc de convolution, 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 l’entrée d’embeddings de plucker 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 majorité 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 temporelle, une décision étayée par la capacité des couches d’attention temporelles à capturer les relations temporelles, s’alignant sur 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 de la distribution de caméra
La formation de la composante de l’encodeur de caméra dans le cadre CameraCtrl sur un générateur de vidéos nécessite une grande quantité de vidéos bien é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 étroitement aux données de formation du modèle de base de texte à vidéo, et d’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 l’on travaille 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é parmi 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é parmi les différentes trajectoires de caméra garantit que le modèle ne sur-apprend pas à certains 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 la 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 dans 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 les évalue à 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 ligne a à la ligne 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 premières représentent 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 les capacités de contrôlabilité et 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.












