Regardez la vidéo :
J’ai vraiment hâte de vous présenter ce nouveau modèle d’IA ! Nous avons vu tellement de nouvelles approches pour générer du texte, puis des images qui ne cessent de s’améliorer. Nous avons ensuite découvert d’impressionnants premiers travaux pour générer des vidéos et même des modèles 3D à partir de texte. Imaginez seulement la complexité d’une telle tâche. Nous n’avons qu’une phrase et nous devons générer quelque chose qui pourrait ressembler à un objet du monde réel, avec tous ses détails. Eh bien, voici un nouveau modèle qui ne représente pas qu’une première étape. C’est un immense pas en avant pour la génération de modèles 3D à partir de texte seulement : MVDream !

Comparaison des résultats, avec MVDream complètement à droite, générés à partir du texte « bébé Yoda dans le style de Mormookiee ». Image tirée de l’article scientifique.
Comme vous pouvez le voir, MVDream semble comprendre la physique. Contrairement aux approches précédentes, il saisit la situation. Il sait que la vue doit être réaliste, avec seulement deux oreilles et non deux oreilles pour chaque angle possible. Il réussit ainsi à créer un modèle 3D de très grande qualité à partir d’une simple ligne de texte ! N’est-ce pas génial ? Son fonctionnement est encore plus intéressant… alors plongeons directement dans le sujet !
Lorsque nous observons un modèle 3D, le plus grand défi est de générer des images réalistes et de grande qualité pour chaque angle sous lequel nous le regardons, ET de conserver une cohérence spatiale entre toutes ces vues. Il faut éviter le Yoda à 4 oreilles que nous venons de voir ou les sujets à plusieurs visages. Comme les datasets contiennent rarement des personnes vues de dos, le modèle veut parfois voir des visages à tout prix. L’une des principales approches de génération de modèles 3D consiste à simuler l’angle de vue d’une caméra, puis à générer ce qu’elle devrait observer depuis ce point. C’est ce qu’on appelle le 2D lifting, puisque nous générons des images ordinaires avant de les combiner pour former une scène 3D complète. Nous générons alors toutes les vues possibles autour de l’objet. Voilà pourquoi nous avons l’habitude de voir des artéfacts étranges comme ceux-ci. Le modèle essaie simplement de générer une vue à la fois et ne comprend pas assez bien l’objet complet dans l’espace 3D. MVDream a fait un énorme pas dans cette direction. Les chercheurs se sont attaqués à ce que nous appelons le problème de cohérence 3D et affirment même l’avoir résolu grâce à une technique appelée score distillation sampling. Celle-ci a été introduite par DreamFusion, une autre méthode texte-3D publiée à la fin de 2022 et que j’ai présentée sur la chaîne. Au fait, si cet article et ces nouvelles technologies vous plaisent, suivez-moi ! Je présente une nouvelle approche chaque semaine sur le blogue !
[
The What’s AI Weekly by Louis-François Bouchard | Substack
Avant d’aborder la technique de score distillation sampling, nous devons connaître l’architecture utilisée. En bref, il s’agit simplement d’un autre modèle de diffusion d’images 2D, comme DALLE, MidJourney ou Stable Diffusion. Plus précisément, les chercheurs sont partis d’un modèle DreamBooth préentraîné, un puissant modèle open source fondé sur Stable Diffusion pour générer des images.

Fine-tuning d’un modèle texte-image. Image tirée de l’article scientifique sur DreamBooth.
Les chercheurs ont ensuite modifié le modèle pour rendre directement un ensemble d’images multivues plutôt qu’une seule image, grâce à un entraînement sur un dataset 3D composé de différents objets. Nous prenons plusieurs vues d’un objet 3D présent dans notre dataset et les utilisons pour entraîner le modèle à les générer à l’envers. Pour y arriver, ils remplacent le bloc de self-attention bleu que nous voyons ici par un bloc 3D. Autrement dit, ils ajoutent simplement une dimension afin de reconstruire plusieurs images plutôt qu’une seule. En dessous, la caméra et le timestep sont aussi fournis en input au modèle pour chaque vue. Ils l’aident à comprendre où chaque image doit aller et quel type de vue doit être généré. Toutes les images sont maintenant reliées et générées ensemble. Elles peuvent donc partager leur information et mieux comprendre le contexte global. Il suffit ensuite de fournir le texte et d’entraîner le modèle à reconstruire fidèlement les objets du dataset. C’est ici que les chercheurs appliquent leur processus de multi-view score distillation sampling.

Illustration du modèle de diffusion multivue complet. Image tirée de l’article scientifique.
Ils ont maintenant un modèle de diffusion multivue qui peut générer plusieurs vues d’un objet. Il doit toutefois reconstruire des modèles 3D cohérents, et non seulement des vues. Cette étape utilise souvent les NeRFs, ou Neural Radiance Fields, comme dans DreamFusion, que nous avons mentionné plus tôt.

Processus d’entraînement de DreamFusion avec un NeRF, comme je l’explique dans ma vidéo. Image tirée de l’article scientifique sur DreamFusion.
Le processus utilise essentiellement le modèle de diffusion multivue déjà entraîné et gèle ses paramètres. Il sert donc uniquement à générer et n’est plus entraîné. Nous commençons par générer une première version de l’image, guidée par notre caption et par un rendu initial auquel nous avons ajouté du bruit, à l’aide du modèle de diffusion multivue. Nous ajoutons du bruit pour indiquer au modèle qu’il doit générer une version différente de l’image tout en lui donnant du contexte. Nous utilisons ensuite le modèle pour générer une image de meilleure qualité. Nous ajoutons l’image qui a servi à la générer, puis retirons le bruit ajouté manuellement afin d’utiliser le résultat pour guider et améliorer notre modèle NeRF à l’étape suivante. Nous faisons tout cela pour mieux comprendre où le modèle NeRF devrait concentrer son attention dans l’image afin de produire de meilleurs résultats à la prochaine étape. Nous répétons le processus jusqu’à ce que le modèle 3D soit assez satisfaisant !

Entraînement de MVDreamBooth. Il part du modèle MVDiffusion préentraîné, puis fait l’objet d’un fine-tuning avec le mode d’attention 2D et une perte de préservation. Image et caption tirées de l’article scientifique.
Et voilà ! C’est ainsi que les chercheurs ont pris un modèle texte-image 2D, l’ont adapté à la synthèse multivue, puis l’ont utilisé de façon itérative pour créer une version texte-3D du modèle ! Bien sûr, ils ont apporté plusieurs améliorations techniques aux approches sur lesquelles ils se sont appuyés. Je ne les ai pas abordées par souci de simplicité, mais si le sujet vous intéresse, je vous invite vivement à lire leur excellent article scientifique. Je vous invite aussi à découvrir davantage de résultats dans ma vidéo ou sur la page du projet liée ci-dessous !
Cette nouvelle approche comporte encore quelques limites. Les générations ont principalement une résolution de 256x256 pixels, ce qui est assez faible même si les résultats semblent incroyables. Les chercheurs mentionnent également que la taille du dataset représente certainement une limite pour la capacité de l’approche à se généraliser. Le modèle reproduit le style d’un dataset beaucoup trop petit pour représenter notre monde complexe.
Merci d’avoir regardé. Je vous retrouve la prochaine fois avec un autre article scientifique incroyable !
Références
- Shi et al., 2023 : MVDream, https://arxiv.org/abs/2308.16512
- Projet avec plus d’exemples : https://mv-dream.github.io/
- Code (à venir) : https://github.com/MV-Dream/MVDream
FAQ
Que génère MVDream ?
MVDream transforme un prompt textuel en plusieurs vues coordonnées d’un objet, qui servent à guider une reconstruction 3D cohérente.
Pourquoi générer plusieurs vues ensemble ?
La génération conjointe permet aux vues de partager une information globale plutôt que d’inventer séparément des formes incompatibles.
En quoi un modèle de diffusion multivue diffère-t-il d’un modèle texte-image ?
Il doit préserver l’identité et la géométrie du même objet sous plusieurs angles de caméra.
Comment les vues générées deviennent-elles un modèle 3D ?
Un processus d’optimisation utilise les images coordonnées pour guider une représentation 3D neuronale.
Qu’est-ce qui peut encore mal fonctionner ?
Les surfaces cachées, la géométrie fine et la cohérence entre les vues peuvent demeurer imparfaites même lorsque chaque rendu semble réussi.

