Recherche de site Web

Comment utiliser la diffusion stable pour créer des GIF et des vidéos AI


Résumé : Pour créer une animation à l'aide de l'interface utilisateur Web de Stable Diffusion, utilisez Inpaint pour masquer ce que vous souhaitez déplacer, puis générez des variations, puis importez-les dans un GIF ou un créateur de vidéos. Vous pouvez également installer l'extension Deforum pour générer des animations à partir de zéro.

Stable Diffusion est capable de générer plus que de simples images fixes. Avec quelques outils intégrés et une extension spéciale, vous pouvez obtenir une vidéo AI très cool sans trop d'effort. Voici comment générer des images pour un GIF animé ou un fichier vidéo réel avec Stable Diffusion.

Une diffusion stable peut-elle générer de la vidéo ?

Bien que le film généré par l'IA soit encore un domaine naissant, il est techniquement possible de créer des animations simples avec Stable Diffusion, soit sous forme de GIF, soit sous forme de fichier vidéo réel. Il y a cependant des limites.

Parce que img2img facilite la génération de variations d'une image particulière, Stable Diffusion se prête bien à la création rapide d'un tas d'images pour les animations, cycliques en particulier. Pensez aux flammes qui s'échappent d'un feu, aux roues qui tournent sur une voiture ou à l'eau qui éclabousse dans une fontaine. Une utilisation pratique pourrait être de donner une ambiance réaliste à certaines illustrations RPG :

Vous pouvez même créer des vidéos basées sur des images réelles au lieu d'images synthétiques. Ici, j'ai pris une photo d'une plante en train d'être arrosée et, en quelques clics, j'ai animé le jet d'eau :

Si vous voulez animer un objet pour qu'il se déplace du point A au point B, c'est un défi de taille pour Stable Diffusion (du moins pour l'instant). Vous passerez probablement beaucoup de temps à peaufiner les invites et les paramètres, puis à vous pencher sur une tonne de résultats pour trouver les meilleures images et les placer dans le bon ordre. À ce stade, autant sortir Adobe Illustrator et commencer à animer à la main.

Malgré cela, vous pouvez créer des animations simples et sympas avec une configuration de base de diffusion stable et un autre outil de votre choix pour assembler les images dans une animation. Il existe également un projet appelé Deforum qui utilise Stable Diffusion pour créer des animations de morphing qui semblent assez intéressantes. Il crachera une vidéo MP4, donc aucun outil externe n'est requis, et il vous permet même d'ajouter de l'audio. Nous allons vous montrer les bases des deux méthodes.

Animer une image avec Inpaint

À l'aide de l'outil img2img Inpaint, vous pouvez mettre en évidence la partie d'une image que vous souhaitez animer et en générer plusieurs variantes. Ensuite, vous les déposerez dans un GIF ou un créateur de vidéos et enregistrerez les images sous forme d'animation.

Étape 1 : Obtenir une image et son invite

Commencez par déposer une image que vous souhaitez animer dans l'onglet Inpaint de l'outil img2img. Si vous n'en avez pas déjà généré, prenez le temps d'écrire une bonne invite afin d'obtenir une bonne photo de départ. Vous pouvez également importer une image que vous avez photographiée ou dessinée vous-même.

Si vous importez une image que vous n'avez pas générée avec Stable Diffusion, vous aurez toujours besoin d'une invite appropriée pour générer des variantes, alors cliquez sur Interrogate CLIP en haut de la page Img2Img. Cela générera une invite de démarrage basée sur ce que Stable Diffusion pense que votre image contient. Complétez l'invite en ajoutant tout autre détail important.

Pour notre guide, nous avons généré une image 512 × 512 d'un robot sous un ciel nocturne que nous voulons donner une sorte d'animation en accéléré, avec des étoiles filantes et des galaxies qui passent.

Si vous voulez suivre précisément, vous pouvez le recréer avec l'invite que nous avons utilisée :

a robot stands in a field looking up at the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd

Et voici les paramètres que nous avons utilisés :

Point de contrôle : Diffusion stable 2.0 Méthode d'échantillonnage : DPM++ SDE Étapes d'échantillonnage : 20 Échelle CFG : 5 Graine : 4177542269

Étape 2 : Masquer les parties à animer avec InPaint

Avec votre image et votre invite en place, dans l'outil Inpaint, utilisez le pinceau pour masquer (couvrir) chaque partie de l'image que vous souhaitez animer. Laissez à découvert tout ce que vous voulez statique.

Dans notre exemple, nous couvrons la majeure partie du ciel. Nous avons laissé un peu de coussin autour du robot car lors de nos tests, si nous nous rapprochions trop, Stable Diffusion ajoutait parfois des antennes et d'autres appendices au robot.

Étape 3 : Générez vos cadres

Maintenant que vous avez masqué chaque partie de votre image que vous souhaitez voir bouger, il est temps de générer les images de notre animation. Mais d'abord, vous voudrez vous assurer que img2img a les bons paramètres. Ils peuvent prêter à confusion, nous allons donc vous expliquer ce que certains d'entre eux signifient et pourquoi vous pouvez ou non vouloir les modifier :

  • Mode Masque : Inpaint Masked - Cela garantit que tout ce qui est couvert est modifié et non l'inverse. Si, pour une raison quelconque, vous souhaitez plutôt modifier la partie non masquée, remplacez-la par Inpaint Not Masked.
  • Contenu masqué : original – Cela garantit que Stable Diffusion verra et prendra en compte l'image existante lorsqu'elle générera des variations. Sinon, il considérera le contenu masqué comme un canevas vierge ou aléatoire.
  • Inpaint Area : Whole Picture - Cela force Stable Diffusion à générer une toute nouvelle image pour chaque image avant de l'intégrer à l'image d'origine. Passer à Masqué uniquement peut accélérer la génération, mais peut également donner de moins bons résultats.
  • Méthode d'échantillonnage : DPM++ SDE : il s'agit de la même méthode d'échantillonnage que celle que nous avons utilisée pour générer notre image d'origine, et nous nous en tenons à elle pour garantir un aspect cohérent. Si vous ne savez pas quoi utiliser, Euler a est un bon choix polyvalent.
  • Nombre de lots : 60 : il s'agit du nombre d'images que vous souhaitez générer. Vous aurez peut-être besoin de plus ou moins selon la vitesse et la durée souhaitées pour votre séquence d'animation.
  • Échelle CFG : 5 - L'échelle CFG, en un sens, détermine la liberté de création dont dispose Stable Diffusion. Plus le nombre est élevé, plus Stable Diffusion tentera de suivre votre invite. L'augmenter et obtenir de bons résultats nécessite d'avoir une très bonne invite.
  • Force de débruitage : 0,3 – Probablement le paramètre le plus important pour ce projet, l'échelle de débruitage détermine dans quelle mesure la diffusion stable modifiera l'image d'origine. Vous voudrez probablement le maintenir autour de 0,2 ou 0,3, car trop de changement d'image à image peut ruiner l'animation.
  • Seed : -1 - Cela indique à Stable Diffusion de commencer avec une graine aléatoire. Nous vous déconseillons de réutiliser la graine de votre image d'origine, car cela réduit la quantité de variation que vous obtiendrez (le cas échéant).

Avec tous vos paramètres en place, cliquez sur Générer et asseyez-vous pendant que Stable Diffusion dessine vos images d'animation pour vous. Vous les trouverez dans le dossier /outputs/img2img-images de votre répertoire Stable Diffusion. Si vous n'aimez pas les résultats, ajustez les paramètres (probablement en commençant par la force de débruitage et les étapes d'échantillonnage) et réessayez.

Étape 4 : Mise à l'échelle par lots de vos cadres (facultatif)

Si vous envisagez de créer une vidéo haute définition, n'oubliez pas de mettre à l'échelle toutes vos images nouvellement générées à la résolution souhaitée. Cliquez sur Envoyer aux extras pour commencer.

Dans Extras, passez à l'onglet Traitement par lots.

Ajustez l'échelle Redimensionner au nombre de fois que vous voulez qu'elle soit redimensionnée (le réglage sur 2 changera les images 512×512 en images 1024×1024). Alternativement, passez de Scale by à Scale to et définissez une résolution spécifique. Réglez également Upscaler 1 sur l'upscaler de votre choix. Nous avons eu assez de bons résultats avec R-ESRGAN 4x+, mais n'hésitez pas à expérimenter pour voir lequel gère le mieux vos images.

Cliquez ensuite sur Générer et Stable Diffusion vous donnera une version à plus haute résolution de chaque image, enregistrée dans votre dossier /outputs/extras.

Étape 5 : animer les cadres dans un GIF ou un créateur de vidéo

Maintenant que vous avez vos cadres, il est temps de les assembler tous et de créer votre animation finale. Il existe de nombreux outils avec lesquels vous pouvez le faire, y compris des sites Web dédiés gratuits comme Ezgif et flixier qui sont faciles à utiliser et qui ont beaucoup de commandes de réglage fin. Cependant, rappelez-vous que ces sites Web peuvent voir tout ce que vous téléchargez, alors ne leur donnez rien que vous ne soyez pas à l'aise avec le monde.

Bien que ces sites Web soient assez explicites, nous allons vous montrer comment utiliser un outil gratuit de retouche photo hors ligne, GIMP, pour créer un GIF. Si vous voulez un fichier vidéo, utilisez plutôt Kdenlive ou un éditeur vidéo similaire. Assurez-vous simplement de modifier les paramètres afin que toutes vos images soient importées sous forme de clips d'une seconde ou moins, en fonction du nombre d'images par seconde que vous souhaitez.

Pour commencer, téléchargez GIMP et installez-le sur votre ordinateur si vous ne l'avez pas déjà fait. Lancez-le, puis allez dans Fichier> Ouvrir en tant que calques.

Trouvez où se trouvent les cadres que vous avez générés et sélectionnez-les tous en même temps avant de cliquer sur Ouvrir. (Maintenez la touche Maj enfoncée pour sélectionner plusieurs fichiers rapidement.) GIMP importera toutes vos images en tant que calque séparé sur une toile. Nous voulons cela parce que la façon dont la génération GIF de GIMP fonctionne consiste à parcourir chaque couche de bas en haut, en traitant chaque couche consécutive comme la prochaine image de l'animation.

C'est maintenant la partie amusante. Pour voir un aperçu de votre GIF, accédez à Filtres > Animation > Lecture.

Appuyez sur la barre d'espace pour lire et mettre en pause le GIF. Si les images passent trop vite ou trop lentement, ajustez le FPS en bas de la boîte de dialogue de lecture et cliquez sur le bouton d'actualisation en haut pour recharger l'aperçu avec la nouvelle fréquence d'images.

Une fois que l'animation vous convient, il est temps de générer le fichier GIF. Fermez l'aperçu et cliquez sur Fichier > Exporter sous. Lorsque vous saisissez le nom d'enregistrement du fichier, ajoutez l'extension .gif à la fin afin que GIMP sache que vous voulez un GIF.

Dans la boîte de dialogue d'exportation GIF qui apparaît, assurez-vous que la case Comme animation est cochée. Ajustez également le nombre de millisecondes entre les images si vous souhaitez une fréquence d'images différente. Il y a 1000 millisecondes dans une seconde, donc 100 vous permettront d'atteindre environ 10 FPS. Enfin, cliquez sur Exporter.

Boom, vous avez votre GIF animé complet.

Générer une vidéo avec Deforum

Si vous voulez créer des animations plus intéressantes avec Stable Diffusion, et qu'il produise des fichiers vidéo au lieu d'un tas d'images avec lesquelles travailler, utilisez Deforum. Il s'agit d'un projet de synthèse d'images avec une extension disponible pour l'interface utilisateur Web Stable Diffusion qui vous permet de diriger et de générer des fichiers vidéo MP4, même avec de l'audio. C'est un outil très puissant et complexe avec de nombreux paramètres à expérimenter, y compris les panoramiques et les zooms de la caméra, plusieurs invites et l'importation de vidéos.

Pour nos besoins, nous allons simplement vous présenter les bases de la génération d'une animation assez simple mais intéressante.

Étape 1 : Installer l'extension Deforum

Pour obtenir l'extension Deforum, ouvrez une invite de commande et accédez à votre dossier stable-diffusion-web-ui. Utilisez ensuite cette commande git clone pour installer Deforum dans votre dossier d'extensions.

git clone https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum

Lancez l'interface utilisateur Web de Stable Diffusion comme d'habitude et ouvrez l'onglet Deforum qui se trouve maintenant dans votre interface.

Étape 2 : Rédigez vos invites

Vous avez peut-être l'habitude d'écrire des invites individuelles avec Stable Diffusion, mais Deforum vous permet d'écrire des invites multiples qui sont programmées, ce qui signifie qu'à tout moment de l'animation que vous choisissez, il passera à la génération d'images en fonction de la invite suivante dans le programme.

Cliquez sur l'onglet Invites et modifiez les invites existantes comme bon vous semble, en gardant la structure des crochets et des onglets en place. Pour notre exemple, nous utiliserons cet ensemble d'invites :

{
    "0": "a robot stands under the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd",
    "40": "a space station flies through space during a meteor shower, ultra realistic, highly detailed",
    "80": "a supernova explodes, vibrant colors, ultra realistic, highly detailed"
}

Alors que signifient ces chiffres ? Par défaut, Deforum génère 120 images pour votre animation, et nous divisons cet ensemble d'images en trois parties. 0 signifie la première image, donc elle et toutes les images après seront des variations im2img de la première invite. Ensuite, à l'image 40, Stable Diffusion commencera à faire des variations en fonction de notre deuxième invite. A 80 ans, il passe au troisième. Vous pouvez ajouter autant de modifications d'invite que vous le souhaitez et ajuster la limite maximale d'images dans l'onglet Images clés selon vos besoins.

Étape 3 : Ajustez les paramètres de Deforum

Vous avez probablement déjà remarqué qu'il y a une tonne de paramètres impliqués dans Deforum, mais nous allons en parcourir quelques-uns pour vous aider à démarrer. Tout d'abord, dans l'onglet Exécuter, vous trouverez bon nombre de vos paramètres de diffusion stable typiques. Renommez le lot, entrez la graine avec laquelle vous voulez commencer (nous réutilisons celle pour notre robot) et changez l'échantillonneur pour celui que vous voulez.

Dans l'onglet Images clés, vous pouvez ajuster le mouvement de la caméra pour l'animation. Il est réglé par défaut pour zoomer à intervalles, mais nous voulons ajouter un mouvement de panoramique vertical, nous allons donc ajouter 0:(-2), 100:(4)à la Translation Y cadre. Cela indique à Deforum de traiter la première image comme étant au pixel -2 sur l'axe Y, puis à l'image 100 de passer au pixel 4. Cela nous donnera un léger panoramique vers le haut au fur et à mesure que l'animation progresse.

Dans l'onglet Sortie, nous allons cocher la case Make GIF qui nous donnera un fichier GIF en plus du fichier vidéo MPEG. C'est également là que vous ajouterez de l'audio avec les paramètres Ajouter une bande son et Chemin de la bande son, si vous en avez.

Étape 4 : Générez votre vidéo

Enfin, appuyez sur ce gros bouton Générer. Étant donné que Deforum crée et assemble de nombreux cadres, cela prendra du temps, alors prenez un café en attendant. Une fois terminé, vous trouverez le fichier MPEG, la version GIF, ainsi que chaque image individuelle et une lecture des paramètres que vous avez utilisés sous le nom du lot dans votre répertoire /outputs/img2img-images.

Voici ce que notre invite nous a donné :

Ce n'est pas un blockbuster de l'été, mais c'est quand même assez fascinant! Consultez le guide de démarrage rapide officiel de Deforum pour en savoir plus sur tous les autres boutons et cadrans que vous pouvez régler.

Si vous recherchez d'autres projets d'IA sympas, découvrez comment générer des packs de textures Minecraft avec Stable Diffusion ou démarrez avec ChatGPT, ainsi que les choses surprenantes que vous pouvez faire avec ChatGPT.