VideoGrain : messages textuels pour l'édition locale de vidéos projet open source
Introduction générale
VideoGrain est un projet open source centré sur l'édition vidéo multi-grain, développé par l'équipe xAI et hébergé sur GitHub. Ce projet est issu de l'article "VideoGrain : Modulating Space-Time Attention for Multi-Grained Video Editing", qui a été sélectionné pour la conférence ICLR 2025. Il permet d'éditer finement le contenu vidéo au niveau de la catégorie, de l'instance et du niveau local en modulant le mécanisme d'attention spatio-temporelle dans le modèle de diffusion. Par rapport aux méthodes traditionnelles, VideoGrain résout le problème de l'alignement sémantique du texte et du contrôle des régions, ainsi que le problème du couplage des caractéristiques, et peut réaliser une édition de haute qualité sans formation supplémentaire. Le projet fournit un code complet, un guide d'installation et des modèles pré-entraînés pour les développeurs, les chercheurs et les amateurs de montage vidéo, et a déjà attiré l'attention des communautés universitaires et open source.

Liste des fonctions
- Montage vidéo multi-granularitéLes vidéos de l'UE sont des vidéos qui permettent de modifier avec précision des catégories (par exemple, remplacer "humain" par "robot"), des instances (par exemple, des objets spécifiques) et des détails locaux (par exemple, les mouvements des mains) dans une vidéo.
- Aucune possibilité d'édition d'échantillonsLes vidéos de la série "La vie en rose" : Il n'est pas nécessaire de se recycler pour une vidéo spécifique, il suffit de taper dans les messages-guides pour terminer l'édition.
- modulation de l'attention spatio-temporelleAméliorer la précision de l'édition et la qualité de la vidéo en améliorant l'attention croisée (texte à la région) et l'auto-attention (séparation des caractéristiques à l'intérieur de la région).
- Code source ouvert et modélisationLes utilisateurs peuvent ainsi facilement reproduire et étendre leurs connaissances en utilisant le code d'implémentation complet et les modèles pré-entraînés.
- modèle compatible avec la diffusionLes applications vidéo sont basées sur des cadres tels que les diffuseurs et FateZero pour une intégration facile dans les processus de génération de vidéos existants.
- Prise en charge de plusieurs documentsIl peut traiter des vidéos, des images et d'autres contenus téléchargés par les utilisateurs et produire les résultats vidéo édités.
Utiliser l'aide
VideoGrain nécessite quelques connaissances en programmation et un support matériel, mais ses procédures d'installation et d'utilisation sont décrites en détail dans le dépôt GitHub. Vous trouverez ci-dessous un guide d'installation et d'utilisation détaillé pour aider les utilisateurs à démarrer rapidement.
Processus d'installation
- Créer un environnement Conda
Créez un environnement Python 3.10 autonome et activez-le en tapant la commande suivante dans le terminal :
conda create -n videograin python=3.10
conda activate videograin
Assurez-vous que Conda est installé. Si ce n'est pas le cas, allez sur le site web d'Anaconda pour le télécharger.
- Installation de PyTorch et des dépendances associées
VideoGrain s'appuie sur PyTorch et son support CUDA, l'accélération GPU est recommandée. Exécutez la commande suivante pour l'installer :
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
pip install --pre -U xformers==0.0.27
Les xformers peuvent être optimisés pour la mémoire et la vitesse ; ils peuvent être ignorés s'ils ne sont pas nécessaires.
- Installation de dépendances supplémentaires
Exécutez la commande suivante à partir de la racine du référentiel pour installer toutes les bibliothèques dépendantes :
pip install -r requirements.txt
Assurez-vous que l'internet est ouvert, l'accès à l'internet scientifique peut être nécessaire pour télécharger certains des paquets.
- Télécharger le modèle pré-entraîné
VideoGrain nécessite des poids de modèle tels que Stable Diffusion 1.5 et ControlNet. Exécutez le script fourni dans le référentiel :
bash download_all.sh
Ceci téléchargera automatiquement le modèle de base dans le répertoire spécifié. Pour les téléchargements manuels, visitez les liens Hugging Face ou Google Drive (voir README pour plus de détails).
- Préparer les poids du préprocesseur ControlNet
Télécharger les poids des annotateurs (par exemple DW-Pose, depth_midas, etc.), environ 4 Go. utiliser la commande suivante :
gdown https://drive.google.com/file/d/1dzdvLnXWeMFR3CE2Ew0Bs06vyFSvnGXA/view?usp=drive_link
tar -zxvf videograin_data.tar.gz
Décompressez les fichiers et placez-les dans le répertoire ./annotator/ckpts
Catalogue.
Utilisation
Une fois l'installation terminée, les utilisateurs peuvent lancer VideoGrain pour l'édition vidéo via la ligne de commande. Voici le déroulement des principales fonctions :
1. montage vidéo multi-granularité
- Préparation du fichier d'entrée
Placez le fichier vidéo à éditer dans le répertoire du projet (par ex../input_video.mp4
). Prise en charge des formats courants tels que MP4, AVI. - Préparation des alertes textuelles
Spécifier les instructions d'édition dans le script, par exemple :
prompt = "将视频中的汽车替换为保时捷"
Ils prennent en charge le remplacement de catégories (par exemple, "voiture" par "Porsche"), la modification d'instances (par exemple, "personnage spécifique" par "homme de fer") et les ajustements locaux (par exemple, "mouvement de la main" par "geste de la main"). ") et les ajustements locaux (par exemple, "mouvement de la main" en "signe de la main").
- Exécuter la commande d'édition
Saisissez-le dans le terminal :
python edit_video.py --input ./input_video.mp4 --prompt "将视频中的汽车替换为保时捷" --output ./output_video.mp4
Après l'édition, le résultat est enregistré dans ./output_video.mp4
.
2. édition de l'échantillon zéro
- Montage direct sans formation
La force principale de VideoGrain est sa capacité d'échantillonnage zéro. Les utilisateurs n'ont qu'à fournir des vidéos et des indices, aucune formation préalable n'est nécessaire. Exemple :
python edit_video.py --input ./sample_video.mp4 --prompt "将狗替换为猫" --output ./edited_video.mp4
- Paramètres de réglage
passable--strength
Ce paramètre contrôle l'intensité de l'édition (0,0-1,0, par défaut 0,8) :
python edit_video.py --input . /sample_video.mp4 --prompt "Replace dog with cat" --strength 0.6
3. modulation de l'attention temporelle
- Contrôle amélioré du texte dans la zone
VideoGrain optimise automatiquement l'attention croisée pour s'assurer que les invites n'affectent que la zone cible. Par exemple, si le signal est "Changez les vêtements du personnage en rouge", les arrière-plans superflus ne seront pas affectés. - Séparation des éléments surélevés
Le mécanisme d'auto-attention améliore la cohérence des détails au sein des régions et réduit les interférences entre les régions. Les utilisateurs n'ont pas besoin de procéder à des ajustements manuels ; ils prennent effet automatiquement au moment de l'exécution.
Précautions de manipulation
- exigences en matière de matériel
Les GPU NVIDIA (par exemple A100 ou RTX 3090) avec au moins 12 Go de mémoire vidéo sont recommandés. le CPU peut fonctionner plus lentement. - Suggestions de mots clés
Les invites doivent être spécifiques et claires, par exemple "Remplacer le personnage de gauche par un robot" est préférable à la vague "Modifier le personnage". - Débogage et journalisation
Si quelque chose ne va pas, vérifiez le./logs
ou en ajoutant le fichier journal après la commande--verbose
Voir les résultats détaillés.
Fonctions vedettes
- L'édition multi-granularité en action
Si l'utilisateur souhaite remplacer "vélo" par "moto" dans une vidéo, il lui suffit d'entrer le chemin vidéo et le mot clé, et VideoGrain reconnaîtra tous les vélos et les remplacera par des motos, tout en conservant la cohérence de l'action et de l'arrière-plan. - Extensions Open Source
Modifiable par l'utilisateuredit_video.py
ou d'ajouter de nouvelles fonctionnalités basées sur le cadre des diffuseurs, telles que la prise en charge de résolutions plus élevées ou de types d'édition plus nombreux. - Soutien communautaire
Les dépôts GitHub proposent des forums de discussion où les utilisateurs peuvent soumettre des problèmes ou voir ce que d'autres ont fait.
Avec les étapes ci-dessus, les utilisateurs peuvent rapidement commencer à utiliser VideoGrain et réaliser des tâches d'édition vidéo allant de simples remplacements à des ajustements locaux complexes.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...