Open Sora : un outil de génération vidéo open source pour optimiser la cohérence des visages

Introduction générale

Open-Sora est un projet open source conçu pour permettre à quiconque de générer efficacement des vidéos de haute qualité. Il est développé par l'équipe hpcaitech pour fournir des outils permettant de générer des vidéos à partir de textes ou d'images, en prenant en charge plusieurs résolutions et durées. Le projet est entièrement open source, rendant les poids des modèles, le code et le processus de formation accessibles au public et encourageant les contributions de la communauté. La dernière version, Open-Sora 2.0, est proche des meilleurs modèles de l'industrie en termes de performances, ne coûte que 200 000 dollars pour l'apprentissage et génère des vidéos rapides et de haute qualité. Les utilisateurs peuvent télécharger le code gratuitement, l'exécuter localement ou l'expérimenter via l'interface Gradio de Hugging Face. Open-Sora s'adresse aux créateurs, aux développeurs et aux chercheurs, et stimule la popularité et l'innovation dans la création vidéo tout en fournissant un produit commercial :Océan vidéo .

Open Sora:优化脸部一致性的开源视频生成工具

 

Liste des fonctions

  • Génération d'une vidéo à partir d'un texte : saisissez une description textuelle pour générer une vidéo correspondant au contenu.
  • Génération de vidéos à partir d'images : générez des vidéos dynamiques à partir d'une seule image.
  • Extension de la vidéo : prolonge la durée de la vidéo ou ajoute du contenu.
  • Prise en charge de la multirésolution : Prise en charge de la sortie vidéo de 144p à 768p.
  • Durée flexible : générez des vidéos de 2 à 16 secondes.
  • Variété de rapports d'aspect : prend en charge les formats 16:9, 9:16, 1:1, etc.
  • Modèles et formation en source ouverte : fournir les poids des modèles et le code de formation, soutenir le développement personnalisé.
  • Inférence efficace : des algorithmes optimisés réduisent les besoins en matériel et génèrent des vidéos sur un seul GPU.
  • Optimisation des mots repères : aidez GPT-4o à améliorer les mots repères et la qualité de la génération.
  • Notation des mouvements : Ajustez la dynamique de la vidéo grâce à la notation des mouvements.

 

Utiliser l'aide

Processus d'installation

Pour utiliser Open-Sora, les utilisateurs doivent configurer leur environnement Python et installer les dépendances. Voici les étapes détaillées :

  1. Créer un environnement virtuel
    Créez un environnement virtuel avec Python 3.10 pour éviter les conflits de dépendance :

    conda create -n opensora python=3.10
    conda activate opensora
  1. Clonage de la base de code
    Téléchargez le projet Open-Sora sur GitHub :

    git clone https://github.com/hpcaitech/Open-Sora
    cd Open-Sora
    
  2. Installation des dépendances
    Assurez-vous que la version de PyTorch est supérieure à 2.4.0 en exécutant la commande suivante :

    pip install -v .
    

    Si un mode de développement est nécessaire, utilisez-le :

    pip install -v -e .
    
  3. Installation des bibliothèques d'accélération
    Utilisation de l'Open-Sora xformers répondre en chantant flash-attn Améliorer les performances. Installé en fonction de la version CUDA :

    pip install xformers==0.0.27.post2 --index-url https://download.pytorch.org/whl/cu121
    pip install flash-attn --no-build-isolation
    

    Pour un raisonnement plus rapide, les données compilées manuellement flash-attention: :

    git clone https://github.com/Dao-AILab/flash-attention
    cd flash-attention/hopper
    python setup.py install
    
  4. Télécharger le modèle de poids
    Open-Sora 2.0 prend en charge la génération de vidéos en 256p et 768p et les modèles peuvent être téléchargés à partir de Hugging Face ou ModelScope :

    pip install "huggingface_hub[cli]"
    huggingface-cli download hpcai-tech/Open-Sora-v2 --local-dir ./ckpts
    

    ou utiliser ModelScope :

    pip install modelscope
    modelscope download hpcai-tech/Open-Sora-v2 --local_dir ./ckpts
    
  5. Vérifier l'installation
    Vérifier que l'environnement est normal :

    python -c "import opensora; print(opensora.__version__)"
    

Utilisation

Open-Sora prend en charge la conversion de texte en vidéo, d'image en vidéo et de nombreuses autres fonctions faciles à utiliser. Voici un guide détaillé :

Génération de texte en vidéo

Open-Sora optimise le processus de conversion de l'image en vidéo, mais prend également en charge la génération directe de texte en vidéo. Un pipeline texte-image-vidéo est recommandé pour améliorer la qualité.

  1. Préparation des indices
    Préparez une description détaillée du texte, par exemple : "L'océan en pleine tempête, avec d'énormes vagues clapotant sur les rochers et des nuages sombres". Plus les mots-clés sont précis, meilleurs sont les résultats.
  2. Exécutez la commande generate
    Génère une vidéo de 256x256 :

    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
    

    Génère une vidéo de 768x768 (nécessite plusieurs GPU) :

    torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_768px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
    
  3. Paramètres de réglage
    • --aspect_ratio: Définir le rapport d'aspect, par exemple. 16:9 peut-être 1:1.
    • --num_framesNombre de trames : Définir le nombre de trames dans la plage 4k+1 (129 trames au maximum).
    • --offload TrueOptimisation de la mémoire : permet d'optimiser la mémoire pour les appareils d'entrée de gamme.
  4. Voir les résultats
    La vidéo générée est enregistrée dans le fichier samples au format MP4.

Génération d'images en vidéo

  1. Préparation des images de référence
    Télécharger une image et l'enregistrer en tant que input.png.
  2. Exécutez la commande generate
    Génère une vidéo de 256p :

    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
    

    Génère une vidéo de 768p :

    torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/768px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
    
  3. Optimiser les effets dynamiques
    utiliser --motion-score Règle le degré de dynamique de l'écran. la valeur par défaut est 4. Exemple :

    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A running horse" --ref horse.png --motion-score 7
    

Optimisation des mots clés

Open-Sora soutient l'utilisation de GPT-4o pour optimiser les mots-clés et améliorer la qualité de la génération :

  1. Définir la clé de l'API OpenAI :
    export OPENAI_API_KEY=sk-xxxx
    
  2. Exécutez la commande optimise :
    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "raining, sea" --refine-prompt True
    

Fonctionnement de l'interface Gradio

Open-Sora fournit une interface interactive Gradio :

  1. Interface de démarrage :
    python scripts/demo.py --model-type v2-768px
    
  2. Accès par un navigateur http://localhost:7860.
  3. Saisissez des mots ou téléchargez des images, réglez la résolution et la fréquence d'images, puis cliquez sur "Générer" pour créer une vidéo.
  4. L'invite d'optimisation "Refine prompt" peut être activée (nécessite une clé API OpenAI).

Formation à un modèle personnalisé

Les utilisateurs peuvent former des modèles basés sur leurs propres ensembles de données :

  1. Préparer l'ensemble de données : un fichier CSV contenant le chemin d'accès et la description de la vidéo.
  2. Modifier le fichier de configuration :configs/opensora-v2/train/stage1.py, définir le chemin d'accès aux données.
  3. Entraînement à la course à pied :
    torchrun --nproc_per_node 8 scripts/train.py configs/opensora-v2/train/stage1.py --data-path your_data.csv
    

efficacité de calcul

Open-Sora optimise l'efficacité de l'inférence et les résultats des tests sont les suivants (H100 GPU, 50 étapes d'échantillonnage) :

  • 256x256 : un seul GPU 60 secondes, 52,5 Go de mémoire ; 4 GPU 34 secondes, 44,3 Go de mémoire.
  • 768x768 : 8 GPU 276 secondes, 44,3 Go de mémoire vidéo.

mise en garde

  • exigences en matière de matérielNVIDIA H100 ou A100 avec au moins 24 Go de mémoire vidéo est recommandé. Des résolutions inférieures sont disponibles pour les appareils bas de gamme.
  • Qualité des indicesLes descriptions détaillées peuvent améliorer considérablement les résultats des vidéos.
  • licencesOpen-Sora utilise la licence MIT, qui autorise l'utilisation commerciale, sous réserve de conditions.

 

scénario d'application

  1. Création d'une courte vidéo
    Les blogueurs peuvent utiliser Open-Sora pour générer des vidéos promotionnelles, telles que "city lights twinkling at night", à partager sur les plateformes de médias sociaux.
  2. Animation pédagogique
    Les enseignants peuvent créer des animations, telles que "les planètes tournant autour du soleil", afin de rendre la classe plus attrayante.
  3. Conception de scènes de jeu
    Les développeurs génèrent des scènes dynamiques basées sur des cartes conceptuelles pour les utiliser dans les arrière-plans ou les transitions des jeux.
  4. Recherche en IA
    Les chercheurs peuvent modifier le code du modèle pour tester de nouveaux algorithmes ou ensembles de données afin de faire progresser les techniques de génération de vidéos.

 

QA

  1. Quelles sont les performances d'Open-Sora 2.0 ?
    Dans la revue VBench, Open-Sora 2.0 et OpenAI Sora L'écart se réduit à 0,691 TP3T, proche de la valeur de 0,691 TP3T. HunyuanVidéo 11B et Step-Video 30B.
  2. Quelles sont les résolutions et les durées prises en charge ?
    Prend en charge les formats 144p à 768p, les vidéos d'une durée comprise entre 2 et 16 secondes, ainsi que les formats 16:9, 9:16 et bien d'autres encore.
  3. Comment optimiser la qualité de la production ?
    Utiliser des indices détaillés pour ajuster motion-score(1-7), ou activer l'option GPT-4o Optimiser les mots d'invite.
  4. Puis-je l'utiliser gratuitement ?
    Open-Sora est entièrement open source, les modèles et le code sont librement accessibles, conformément à la licence MIT.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...