Recevez mes articles et plus encore dans mon infolettre sur l’IA et obtenez des cadeaux gratuits, comme mes secrets pour réussir sur YouTube !
Qu’est-ce que tous les récents modèles super puissants de génération d’images, comme DALLE ou Midjourney, ont en commun ? En plus de leurs coûts de calcul élevés, de leur énorme temps d’entraînement et de l’engouement qu’ils partagent, ils reposent tous sur le même mécanisme : la diffusion.
Les modèles de diffusion produisent les résultats à la fine pointe pour la majorité des tâches d’image, dont la génération de texte en image avec DALLE, mais aussi pour beaucoup d’autres tâches liées à la génération d’images, comme l’inpainting, le transfert de style ou la superrésolution.
Puis, la diffusion latente, ou le bien connu Stable Diffusion, est arrivée et a tout changé en génération d’images.
Mais je ne suis pas ici pour parler de vieilles nouvelles. Nous allons examiner le nouvel article et le nouveau modèle publiés par Stability AI : Stable Video Diffusion. C’est le modèle open source de génération vidéo le plus récent, et vous pouvez l’utiliser dès maintenant ! Il prend des images ou du texte et peut générer automatiquement des vidéos intéressantes comme celles-ci. Il peut même produire plusieurs vues d’un objet comme s’il était en 3D.
Ici Louis de What’s AI, et voyons comment ce nouveau modèle fonctionne !

Vidéo générée par Stable Video Diffusion.
Avant de passer aux vidéos, récapitulons le fonctionnement de Stable Diffusion pour les images.
Stable Diffusion a rendu l’entraînement et le traitement des images plus efficaces et accessibles en travaillant dans un espace compressé, ou latent, plutôt que directement sur des images à haute résolution. Cette approche encode une entrée, qui peut être du texte ou une image, dans une représentation de dimension inférieure. En gros, cela signifie apprendre à un modèle à extraire l’information la plus précieuse, comme nous stockons un concept dans notre cerveau. Si vous voyez l’image d’un chat ou le mot chat, les deux auront le même sens pour vous. C’est pareil pour les encodages du modèle, où toute l’information est placée dans un espace qui a du sens pour lui. En voyant des milliers et des milliers d’images et de textes, il réussit à construire une représentation compressée, efficace sur le plan de l’information et très utile comparativement à une image remplie de pixels qui ne servent pas vraiment. Regardez ici : même pas le tiers de l’image est pertinent pour montrer le chat.

Crédit de l’image : Grigorita Ko / Shutterstock.
Le modèle apprend ensuite à générer des images dans cet espace avec du bruit.
Imaginez que vous avez une toile vierge sur laquelle vous voulez créer une image. Dans les modèles de diffusion, nous commençons avec une toile qui n’est pas complètement vierge, mais remplie de gribouillis et de motifs aléatoires que nous pouvons appeler du « bruit ». Ce bruit n’a aucun motif ni aucune structure significative. Il est simplement aléatoire.
Le travail du modèle de diffusion ressemble à celui d’un artiste qui transforme progressivement ces gribouillis aléatoires en une image cohérente et détaillée. Il procède étape par étape. À chaque étape, il ajuste soigneusement les gribouillis et les façonne lentement pour former des parties reconnaissables de l’image. Ce processus est guidé par l’entraînement du modèle, pendant lequel il a appris à effectuer ces ajustements en observant de nombreux exemples. Au départ, nous avons donc pris beaucoup d’exemples d’images et leur avons appliqué du bruit de façon aléatoire, que vous pouvez imaginer comme des gribouillis, avant de fournir ces gribouillis au modèle. Nous lui demandons ensuite d’essayer de recréer l’image. Comme nous connaissons tous les gribouillis que nous avons progressivement donnés au modèle, nous pouvons le corriger et lui apprendre à produire les bons gribouillis à chaque étape.

Image de Vaibhav Singh et Sovit Rath sur le blogue LearnOpenCV.
Le concept sous-jacent est que, pendant l’entraînement, le modèle apprend les bons paramètres à appliquer au bruit pour recréer une image qui ressemble beaucoup aux images d’entraînement. Et comme nous l’avons vu, tout cela se produit dans un espace compressé. La dernière étape consiste à revenir à une véritable image plutôt qu’à cette représentation du modèle, que nous appelons encodage. Nous devons donc décoder, ou reconvertir, cette représentation latente en image à haute résolution. C’est comme prendre une vieille petite peinture endommagée ou floue et la redessiner sur une très grande toile. Ce sera la même image, mais beaucoup plus grande. Le processus de décodage reconstruit les caractéristiques détaillées, les textures et les couleurs compressées dans l’espace latent, ce qui permet essentiellement de « suréchantillonner » l’image jusqu’à sa pleine taille et sa pleine résolution.
Nous pouvons maintenant générer efficacement une nouvelle image en envoyant seulement du texte comme prompt, comme nous l’avons tous fait avec DALLE, MidJourney ou des applications basées sur Stable Diffusion.

Lorsque nous passons à la vidéo, le défi ne consiste plus seulement à transformer le bruit en une seule image, mais en une série d’images qui évoluent dans le temps de façon fluide et cohérente. La cohérence est le plus grand problème, puisqu’aucune erreur n’est permise pour que la vidéo soit crédible. Nous remarquons immédiatement que quelque chose ne va pas parce que notre cerveau est programmé pour repérer les anomalies dans la nature afin de survivre. Si un problème de ce genre survient, le résultat semble simplement étrange et bizarre.

Source : gifmovie.tumblr.com
Gérer le temps, autrement dit les vidéos, exige que le modèle ait des capacités supplémentaires pour comprendre et reproduire la façon dont les objets et les scènes évoluent. En gros, il doit ajuster le bruit non seulement pour une image, mais pour une séquence fluide d’images qui forme une vidéo.
Modèles de diffusion vidéo latente :
Comme son équivalent pour les images, Stable Video Diffusion travaille dans un espace latent, mais avec un ajout essentiel : des couches temporelles. Ces couches sont spécialement conçues pour gérer la dynamique des séquences vidéo, en se concentrant sur la continuité et le déroulement des images au fil du temps. C’est extrêmement important, puisque nous ne pouvons pas simplement générer 30 images et les écraser ensemble pour créer une vidéo. Chaque frame doit avoir accès aux autres pendant l’entraînement afin d’assurer leur cohérence.
Fine-tuning sur des jeux de données vidéo :
Pour produire une synthèse vidéo réaliste, Stable Video Diffusion est préentraîné sur des images avec Stable Diffusion, puis réentraîné une deuxième fois sur des vidéos après l’ajout de cette couche temporelle. Le préentraînement sur les images permet au modèle de comprendre notre monde à partir de nombreux exemples de différents objets et scènes. Ensuite, avec un processus d’entraînement semblable, mais où plusieurs images sont générées en même temps, le modèle apprend à reproduire des aspects complexes des vidéos, comme le mouvement, les changements de décor et les interactions entre les objets. Enfin, pour améliorer la qualité, nous ajoutons une dernière étape de fine-tuning, où nous répétons ce processus d’entraînement vidéo en utilisant uniquement des vidéos de haute qualité.
Gestion du mouvement et du changement :
Dans une vidéo, l’apparence des objets est importante, mais leur mouvement et leur évolution au fil du temps le sont aussi. Un objet ne peut pas changer de couleur ou de forme au fil du temps. Il doit également respecter la dynamique du monde réel selon ce qu’il est. Une roche et un chat ne bougent pas de la même façon. Le modèle est entraîné à capturer ces dynamiques afin que les vidéos générées aient des mouvements naturels et fluides.
Pour les lecteurs les plus techniques, Stable Video Diffusion intègre des couches temporelles de convolution et d’attention. Il reprend donc la même approche que la plupart des modèles de vision récents : produire davantage de représentations au moyen de cartes de caractéristiques et leur permettre de partager de l’information. Ces couches sont ajoutées après chaque couche spatiale de convolution et d’attention du modèle Stable Diffusion ordinaire, ce qui permet de générer des séquences vidéo cohérentes à partir d’entrées textuelles ou visuelles.

Architecture de Stable Diffusion. Rombach et al., 2022 : Latent Diffusion Models
Représentation vidéo complète :
Stable Video Diffusion offre une représentation vidéo robuste qui peut être fine-tunée pour différentes applications. Cela comprend non seulement la synthèse de texte en vidéo, mais aussi d’autres tâches comme la synthèse multivue, ce qui en fait un outil polyvalent pour différents besoins de génération vidéo.
Le modèle obtient des résultats à la fine pointe en synthèse multivue tout en exigeant beaucoup moins de ressources de calcul que les méthodes précédentes.

Image tirée du billet de blogue de Stability AI.
Tout comme Stable Diffusion pour les images, il rend la génération vidéo accessible à un plus grand nombre d’utilisateurs et d’applications.
Bien sûr, ce n’est pas parfait, mais on s’en approche. Les vidéos longues demeurent beaucoup plus difficiles que les courtes. Les chercheurs ont aussi constaté que leur approche ne générait pas beaucoup de mouvement dans les vidéos. Si vous l’essayez, j’aimerais connaître votre opinion sur vos résultats ! Dans tous les cas, le partage de ce nouveau modèle open source est un très bon pas dans la bonne direction. J’ai hâte de jouer davantage avec lui et de voir ce que les gens construiront à partir de ce modèle.
J’espère que vous avez aimé cette présentation du modèle Stable Video Diffusion. Je vous invite à lire l’article complet pour mieux comprendre l’approche et leur processus de curation des données qui a servi à construire les jeux de données et à améliorer les résultats. Les auteurs ont aussi partagé beaucoup d’observations extraordinaires pour construire et entraîner de meilleurs modèles génératifs.
Si vous voulez rester au courant de ces vidéos et des entrevues que je réalise, abonnez-vous à mon infolettre gratuite, où je partage tous mes projets et toutes mes observations liées à l’intelligence artificielle.
Merci d’avoir lu l’article au complet, et on se retrouve dans le prochain pour découvrir d’autres avancées en IA !
Références
- Code + quelques exemples : https://github.com/Stability-AI/generative-models
- Blattmann et al., 2023 : Stable Video Diffusion. https://static1.squarespace.com/static/6213c340453c3f502425776e/t/655ce779b9d47d342a93c890/1700587395994/stable_video_diffusion.pdf
- Exemples et billet de blogue : https://stability.ai/news/stable-video-diffusion-open-ai-video-model?utm_source=twitter&utm_medium=website&utm_campaign=blog
- Poids et fiche du modèle : https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt
- Vidéo sur Stable Diffusion à laquelle j’ai fait référence : https://youtu.be/RGBNdD3Wn-g
FAQ
Qu’est-ce que Stable Video Diffusion ?
Il s’agit d’un modèle de diffusion latente qui génère une courte séquence vidéo tout en préservant le mouvement et la cohérence visuelle.
Pourquoi générer la vidéo dans un espace latent compressé ?
Les représentations latentes conservent l’information visuelle importante sans exiger tous les calculs nécessaires pour débruiter directement chaque pixel brut.
Comment le modèle revient-il à des images visibles ?
Un décodeur convertit la séquence latente finale en images ordinaires qui forment la vidéo.
Pourquoi la diffusion vidéo est-elle plus difficile que la diffusion d’images ?
Le modèle doit générer de bonnes images et garder les objets, l’identité, l’éclairage et le mouvement cohérents au fil du temps.
Que faut-il examiner dans un clip généré ?
Cherchez le scintillement, les changements de géométrie, les sujets incohérents, les mouvements peu naturels et les erreurs cachées par une courte durée.
Comment Stable Video Diffusion partage-t-il l’information entre les images ?
Des couches temporelles de convolution et d’attention sont ajoutées aux couches spatiales pour que le mouvement et les caractéristiques visuelles restent reliés dans toute la séquence.

