Développé par Stability AI, Stable Video Diffusion (SVD) est un modèle de diffusion latente extrêmement puissant, capable de transformer des images fixes en scènes vidéo dynamiques et captivantes. Dans sa forme originelle, il génère des courts clips vidéo en introduisant un mouvement réalistes dans des images statiques pour créer des vidéos fascinantes.
L’image d’en-tete de cet article a par exemple été utilisée pour générer cette vidéo :
Et voici un autre un exemple à partir d’une image générée avec SDXL, le cousin de SVD spécialisé dans la création d’image :
Dans cet article, nous allons voir différentes solutions pour utiliser Stable Video Diffusion et sa fonctionnalité de génération en image-to-video. Que vous soyez un artiste numérique, un créateur de contenu, ou simplement un passionné de technologie, nous allons vous expliquer comment créer vos clips vidéos avec SVD.
Comment utiliser l’img2vid de SVD ?
Il existe plusieurs solutions qui permettent d’utiliser Stable Video Diffusion au moyen d’une interface simple permettant de créer une vidéo à partir de l’image de votre choix.
Vous trouvez ci-dessous les explications pour les utiliser, de la plus simple à la plus complexe :
SVD img2vid sur Replicate.com
Replicate.com est une plateforme en ligne principalement a destination des développeurs. Elle leur permet de lancer et utiliser des modèles d’IA en quelques lignes de codes pour effectuer des tâches telles que la restauration d'images ou l'amélioration de la qualité des photos.
Son interface en ligne permet cependant à des non développeurs d’utiliser certains modèles. C’est le cas de Stable Video Diffusion que vous pouvez utiliser en suivant ces étapes :
- Ouvrez la page du modèle sur replicate.com/stability-ai/stable-video-diffusion
- Déposez une image de votre choix dans la zone grise Drop a file… ou cliquez dessus pour choisir un fichier. (Alternativement, vous pouvez cliquez sur la zone Take a photo with your webcam pour prendre une photo et l’utiliser comme image de départ.)
- Cliquez sur le bouton Run pour lancer la génération de la vidéo. La vidéo s’affichera sur la droite après 2 à 5 min de calcul.
Sous la zone de selection d’image, vous trouverez différents paramètres que vous pouvez modifier pour configurer le modèle (voir ci-dessous).
SVD img2vid sur Google Colab
Google Colab est un service Cloud qui permet à n'importe qui d'écrire et d'exécuter du code écrit dans le language de programmation Python par le biais du navigateur. Et comme Stable Video Diffusion fonctionne en Python, on peut l’utiliser sur Colab !
Voici les étape à suivre pour lancer une interface SVD sur Google Colab :
- Ouvrez cette page Google Colab dans votre navigateur
- Scrollez un peu jusqu’au titre Download weights pour choisir le modèle svd (génération d’une vidéo de 14 images) ou svd-xt (génération d’une vidéo de 25 images)
- Dans le menu en haut de l’écran, cliquez sur Exécution → Tout exécuter. Vous allez voir le programme fonctionner et télécharger le nécessaire.
- Après quelques minutes, un lien du type https://code4l34t01r3.gradio.live va a apparaitre sous le titre Do the Run! tout en bas - Cliquez dessus pour ouvrir l’interface SVD. (ou utilisez la version intégrée qui apparait en dessous, mais c’est moins pratique)
- Déposez une image de votre choix dans la zone correspondante ou cliquez dessus pour choisir un fichier.
- Cliquez sur le bouton Run pour lancer la génération de vidéo. Ca prend environ 10min sur la version gratuite de Colab - donc soyez patients.
Vous pouvez également cliquez sur Advanced options pour afficher les paramètres de la génération (voir ci-dessous).
SVD img2vid sur Windows
Si votre ordinateur et votre carte graphique sont suffisamment puissants, vous pouvez également installer et utiliser Stable Video Diffusion dessus.
Si certains utilisateurs avancés parviennent à générer des vidéos avec un GPU de 12Go de Vram - Cependant, un modèle supérieur avec 24Go reste recommandé pour l’utiliser selon la méthode décrite ci-dessous.
Il s’agit d’un processus d’installation manuel qui demande un peu de connaissance technique - et comme pratiquement chaque machine est différente, il se peut que vous rencontriez quelques erreurs ou problème qui ne sont pas décrit ici. Ne tentez donc pas cette aventure si vous n’êtes pas prêts à mettre les mains dans le cambouis.
Si vous ne les avez pas, commencez par installer git et python ≥ 3.10 comme décrit aux deux premières étapes de notre guide d’installation d’Automatic1111.
- Ouvrez PowerShell App (Cliquez sur Démarrer, tapez PowerShell, puis cliquez sur Windows PowerShell). ⚠️ N’utilisez pas l’invite de commande classique (cmd) mais bien PowerShell
- Rende-vous dans le repertoire o vous souhaiotez installer SVD et dupliquez le repo en exécutant la commande :
git clone https://github.com/Stability-AI/generative-models
- Ouvrez le repertoire qui vient de se créer (
cd generative-models
)
- Exécuter la commande suivante pour créer un environnement virtuel :
python -m venv venv
- Activez cet environnement virtuel en exécutant
.\venv\Scripts\Activate.ps1
Vous devriez maintenant voir venv devant la ligne de commande. Cela indique que vous êtes bien dans l’environnement virtuel. Si la mention venv n’est plus visible à une étape ultérieure, exécuter à nouveau cette commande d’activation.
- Ouvrez l’explorateur de fichiers et rendez-vous dans le repertoire d’installation puis dabs generative-models/requirements. Là, ouvrez le fichier pt2.txt avec votre éditeur de texte (Notepad ou autre). Supprimez la ligne "triton==2.0.0". Elle n'est pas vraiment nécessaire et provoquera des erreurs sous Windows. Enregistrez le fichier.
- Retournez dans PowerShell et executer les commandes suivantes une par une pour installer les librairies et composants requis :
pip3 install torch==2.0.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip3 install -r .\requirements\pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata
- Ouvrez à nouveau l’explorateur de fichiers et rendez-vous dans generative-models/ - Créez-y un nouveau repertoire nommé checkpoints.
- Téléchargez le fichier svd_xt.safetensors sur Hugging Face et placez-le dans le repertoire checkpoints que vous venez de créer.
- Retournez dans PowerShell et vérifier que vous êtes dans le repertoire generative-models/ et que venv est activé.
- Exécutez les commandes suivantes pour lancer l’interface SVD :
$ENV:PYTHONPATH=$PWD
streamlit run scripts/demo/video_sampling.py
- Votre navigateur devrait s’ouvrir sur l’interface. Si ce n’est pas le cas, ouvrez le et indiquer l’URL
http://localhost:8501
- Vous allez (enfin) pouvoir lancer la génération d’une vidéo :
- Dans le champs Model Version, choisissez svd_xt (c’est celui que nous avons télécharger à l’étape 9) puis cliquez sur la case Load model pour l’activer.
- Déposez l’image de votre choix dans la zone Input ou cliquez sur Browse files pour choisir un fichier.
- Descendez jusqu’à voir le champs Decode t frames at a time et passez sa valeur à 1.
- Cliquez enfin sur le bouton Sample pour lancer la génération.
Une nouvelle section devrait apparaitre avec plusieurs champs.
Vous pouvez voir l’avancement de la génération dans PowerShell. si tout se passe bien, votre vidéo apparaitra dans l’interface une fois prète.
Pour une prochaine utilisation, les étapes d’installation ne seront plus nécessaire et vour pourrez vous contenter de suivre les étapes suivantes :
- Ouvrir PowerShell
- Executer les commandes suivantes :
cd generative-models
pour ouvrir le repertoire d’installation.\venv\Scripts\Activate.ps1
pour activer l’environnement$ENV:PYTHONPATH=$PWD
puis streamlit run scripts/demo/video_sampling.py pour lancer l’interface.
Paramétrer la génération img2vid
Quelque soit la solution et l’interface choisie, il y a plusieurs paramètres utilisable pour configurer la génération de vidéo avec SVD. Voici les principaux paramètre et leur utilité :
FPS - Frame per Second
Ce paramètre correspond au nombre d’image par seconde de la vidéo. Par défaut, SVD travaille avec 6 images par seconde, mais vous pouvez en avoir plus pour rendre l’animation plus fluide.
Indirectement, ce paramètre va également définir la durée de la vidéo puisque SVD génère un total 14 ou 25 images (selon le modèle choisis). Par exemple, avec 6 images par seconde, une vidéo de 25 images durera 25 / 6 = 4,1 secondes.
Motion Bucket Id
Ce paramètre définis l’importance du mouvements ajouté à la vidéo. Une valeur plus elevée signifie plus de mouvements.
D’après les tests et de plusieurs utilisateurs, c’est principalement le mouvement de la caméra qui est influencé par le motion_bucket_id. Une valeur supérieure à 60 va généralement induire un mouvement de caméra de type travelling ou zoom.
Et inversement, une valeur de 50 ou moins va plutôt favoriser la génération de vidéo ou c’est plus le sujet qui bouge alors que la caméra reste pratiquement statique.
Augmentation level
Egalement appelé condition augmentation factor ou cond_aug, ce paramètre définis le niveau de bruit aléatoire ajouté à l’image de référence avant de l’utiliser pour générer celles de la vidéo.
Il est recommandé de l’augmenter un peu lorsque vous travaillez avec une format d’image trop diffèrent du format de vidéo standard en 16:9.
Ecrit par