- Toon3D est une méthode qui reconstruit la pose de caméra et une structure 3D dense à partir d’images de BD ou d’animation représentant la même scène, afin de synthétiser des vues depuis des points de vue qui n’ont jamais été dessinés
- Les scènes dessinées à la main manquent souvent de cohérence 3D explicite, ce qui fait facilement échouer les méthodes SfM classiques ; Toon3D aligne simultanément caméra et géométrie de scène tout en déformant les images
- Le pipeline combine la prédiction de profondeur de Marigold, des candidats de transient mask via SAM, et le marquage manuel des personnes dans Toon3D Labeler afin d’intégrer les correspondances et les zones transitoires dans l’alignement
- Le nuage de points dense reconstruit sert à initialiser le Gaussian Splatting, puis une optimisation basée sur Nerfstudio avec régularisation par la profondeur génère des rendus fly-through de scènes de BD
- L’objectif est d’obtenir des poses de caméra et une géométrie de scène plus stables que COLMAP, Bundle Adjustment ou DUSt3R, avec aussi des applications à la reconstruction de chambres Airbnb et de peintures
Pourquoi le SfM est difficile sur des scènes dessinées à la main
- Les humains peuvent reconnaître une scène 3D sous-jacente même dans des images qui ne sont pas totalement cohérentes en 3D, alors que les machines ont du mal dans ces conditions
- Les images de BD et d’animation sont souvent dessinées sans cohérence géométrique explicite, pour servir la narration et l’expression créative
- Les approches classiques de Structure-from-Motion (SfM) supposent une cohérence 3D, et échouent donc fortement sur ce type d’images dessinées à la main
- COLMAP ne parvient pas à reconstruire des images dessinées non géométriques, même avec des correspondances parfaites, et Bundle Adjustment comme DUSt3R montrent eux aussi des performances très faibles
Une méthode d’alignement qui absorbe les incohérences
- Toon3D reconstruit conjointement la pose de caméra et la géométrie de scène en déformant des images géométriquement incohérentes
- L’idée centrale consiste à absorber les incohérences géométriques entre les images par la déformation, afin d’ajuster la scène à une structure 3D plus cohérente
- Les informations structurelles issues de la prédiction de profondeur monoculaire guident ce processus d’alignement
- À partir de points clés annotés à la main, le système effectue une optimisation de déformation piecewise-rigid pour reconstruire la pose de caméra et la géométrie dense
Pipeline de traitement
- La profondeur de chaque image est prédite avec Marigold
- Les candidats de transient mask sont obtenus avec SAM
- L’utilisateur annote les correspondances entre images et marque les zones transitoires avec Toon3D Labeler
- Lors de l’optimisation, les poses de caméra sont alignées et les images sont warpées pour obtenir des caméras en perspective corrigées
- Enfin, des Gaussians sont initialisés à partir du nuage de points dense aligné, puis une phase de refinement est exécutée
Optimisation conjointe de la caméra et de la déformation
- Les deux principaux objectifs de Toon3D sont camera alignment et deformation alignment
- L’objectif de camera alignment reconstruit les paramètres de caméra
- L’objectif de deformation alignment warpe le maillage pour obtenir un alignement plus précis
- Dans l’optimisation réelle, ces deux objectifs sont satisfaits simultanément
- La visualisation de la méthode comprend plusieurs couches, dont les caméras, les sparse correspondences, les warping meshes, les point clouds et les gaussians
Synthèse de nouveaux points de vue et rendus fly-through
- Toon3D commence par reconstruire les poses de caméra et un nuage de points aligné
- Il initialise ensuite des Gaussians à partir du nuage de points dense, puis optimise le Gaussian Splatting avec les caméras reconstruites
- L’implémentation repose sur Nerfstudio et inclut une régularisation par la profondeur
- Le résultat peut être visualisé sous forme de rendu fly-through de scènes de BD
- Les scènes d’exemple incluent Bob's Burgers, Family Guy, SpongeBob SquarePants, Rick and Morty, Simpsons, Spirited Away, Futurama, Avatar, BoJack Horseman, Magic School Bus et Scooby-Doo
Toon3D Dataset et outil d’annotation
- Le Toon3D Dataset est composé d’images multivues issues de BD et d’animations
- Le dataset contient des annotations fiables de sparse correspondences
- Un outil d’annotation Toon3D convivial a été utilisé pour ce travail d’annotation
- Les nuages de points reconstruits sont reliés à une méthode de novel-view synthesis, permettant de voir les BD depuis des angles qui n’ont jamais été dessinés
- La page visualise les nuages de points et les caméras reconstruites de 12 scènes de BD
Reconstruction de l’intérieur de la maison de Rick and Morty
- L’intérieur de la maison de Rick and Morty est reconstruit en reliant les pièces par un étiquetage entre les murs et le plafond
- La première vidéo montre le nuage de points, les caméras et une interface de marquage personnalisée
- Dans la deuxième vidéo, un curseur permet de visualiser une walkthrough de l’intérieur de la maison
- L’image de la caméra la plus proche est affichée en bas à droite de l’écran
Cas sparse-view et autres types d’entrée
- Toon3D peut aussi reconstruire des scènes avec peu d’images et de grands écarts de point de vue
- Dans les situations où COLMAP peut échouer, il est possible d’ajouter des correspondances annotées manuellement avec Toon3D Labeler
- Des rendus fly-through sont présentés pour deux pièces d’une annonce Airbnb, “Living room” et “Bedroom 2”
- COLMAP n’a pas pu reconstruire toutes les caméras, mais les annotations peuvent lui permettre de réussir
- Toon3D produit les meilleurs résultats en matière de complétude de scène
Visualisation du warping et reconstruction de peintures
- Comme les BD sont dessinées à la main, il faut warper les images pour obtenir une cohérence 3D
- Une vidéo montre l’évolution du warping au cours de l’optimisation d’alignement
- Une visualisation compare aussi le dessin original, le dessin warpé et le chevauchement entre les deux images
- Les zones floues indiquent les régions où le warping a été important
- Toon3D s’applique aussi à des peintures dessinées à la main : après prédiction de la profondeur de chaque image, il aligne et warpe le nuage de points puis génère une vidéo via Gaussian refinement
Ressources publiques
- arXiv : article Toon3D
- Code : code d’implémentation
- Toon3D Labeler : outil d’annotation des correspondances et des zones transitoires
- Demo : démo Hugging Face
- Overview Video : vidéo de présentation du problème et de la méthode
1 commentaires
Avis sur Hacker News
Il est intéressant qu'ils aient pris le bâtiment de Planet Express dans Futurama comme exemple de discordance 3D
L'extérieur semble en réalité plus proche de quelque chose généré par ordinateur à partir d'un modèle 3D. Dans la série, on voit souvent des plans d'ambiance où la caméra tourne autour du bâtiment de façon fluide et complexe
L'art 3D qui ne ressemble pas à une photo (NPR) est utilisé en animation depuis bien plus longtemps qu'on ne le pense. J'ai récemment revu l'animation Disney de 1988 "Oliver and Company", et j'ai été surpris de voir que les voitures et les bâtiments étaient des modèles 3D en "cell shading". J'ai d'abord cru à une remasterisation, mais après vérification, c'était le premier film Disney à faire un usage massif du CGI[0], et ce que j'ai vu faisait bien partie de l'original
La page trouvée dit ceci : "This was the first Disney movie to make heavy use of computer animation. CGI effects were used for making the skyscrapers, the cars, trains, Fagin's scooter-cart and the climactic Subway chase. It was also the first Disney film to have a department created specifically for computer animation."
Références
0: https://disney.fandom.com/wiki/Oliver_%26_Company
Je me souviens avoir lu un article sur ce que font les animateurs 3D pour que ça paraisse naturel. Par exemple, rendre un personnage haut de 9 pieds parce qu'avec les vraies dimensions il semblerait trop petit quand la caméra passe, construire une porte en arcade gigantesque mais qui paraît normale dans un plan avec une certaine perspective, ou faire monter un petit personnage sur une boîte bleue hors champ pour que l'écart de taille ne semble pas excessif. On peut aussi avoir un couloir qui ferait 1 000 pieds en réalité, mais qui semble en faire 100 dans l'univers à cause de la manière dont la caméra le traverse, avec des portes de 18 pieds de haut tout le long
Si une œuvre comme Futurama utilisait aussi ce genre de techniques, alors en faisant de la rétro-ingénierie de cette manière pour reconstruire l'espace 3D manipulé par les animateurs, on pourrait se retrouver avec des portes géantes, des gens de 9 pieds et des couloirs non euclidiens. Le fait que cela paraisse fluide quand la caméra passe ne veut pas dire que le vrai modèle 3D tient debout depuis d'autres points de vue
Même sans modèle 3D numérique, il arrive aussi que le studio dispose de maquettes physiques des lieux principaux pour servir de référence aux animateurs
Ils ont peut-être changé avec le temps ou différé selon les scènes, un peu comme on peut le voir avec le modèle de l'Enterprise dans Star Trek
C'est sympa, mais j'ai du mal à voir les applications concrètes
Les dessins 2D n'ont généralement pas d'espace 3D cohérent, et l'article le reconnaît, mais je n'ai pas l'impression qu'il surmonte vraiment ce problème de manière utile. Dès qu'on s'éloigne de la position de caméra d'origine du dessin, la cohérence de la scène devient assez faible
Un travail du même type pourrait être une application possible
Une autre utilisation pourrait être dans un studio de développement de jeux qui crée des jeux 3D à partir de licences de dessins 2D. Cela servirait d'outil de visualisation pendant la conception et le développement pour itérer rapidement, et pour avoir une référence sur la manière dont la 2D d'origine se traduit en 3D
Les scénaristes comme les artistes se sont beaucoup inspirés des Looney Tunes, où enfreindre ce genre de règles est justement ce qui fait rire
Cela dit, il vaudrait probablement mieux utiliser seulement la prédiction de profondeur plutôt que ce processus de mappage, puis remplir les zones vides par génération d'image
Comme ce type d'environnement ne demande pas énormément d'efforts de modélisation 3D, je doute qu'il y ait beaucoup d'applications concrètes dans ce contexte
C'est brut, mais cela semble déjà mieux retranscrire le dessin d'origine que certaines adaptations existantes basées sur des dessins animés
L’idée de fabriquer un espace 3D à partir d’images source incohérentes est vraiment fascinante
J’avais essayé quelque chose de similaire il y a quelques années, de manière bricolée et assez médiocre, non seulement avec des espaces incohérents sans solution évidente, mais aussi avec des images purement abstraites, sans espace, qui n’essaient même pas au départ de représenter un espace 3D. L’idée était de transformer des peintures abstraites comme celles de Kandinsky ou Pollock en espaces de réalité virtuelle explorables. Évidemment, il n’existe pas de réponse correcte à ce que signifie « marcher à l’intérieur d’un tableau de Pollock » ; le but était simplement de voir ce qui se passe quand on force le procédé
Le flux de travail était le suivant : 1. partir d’une seule image source abstraite 2. générer différentes « vues » de la « scène » avec SinGan 3. appliquer 3d-photo-inpainting ou un projet de type Ken Burns à l’image d’origine et aux images SinGan afin de produire des vidéos de zoom/rotation/panoramique via un mapping de profondeur monoculaire 4. injecter les frames de 3d-photo-inpainting dans une application de photogrammétrie. NeRF n’existait pas encore, et j’avais poussé tous les réglages pour tolérer au maximum les erreurs et incohérences 5. prier pour que le processus de photogrammétrie ne plante pas. Neuf fois sur dix, ça finissait en crash après 24 heures, c’était brutal
J’avais probablement posté des exemples sur Twitter, mais je ne retrouve pas les mots-clés. Cela dit, même avec le niveau de depth mapping de 2019, on obtenait des vidéos assez intéressantes à partir de peintures abstraites : https://x.com/jonathanfly/status/1174033265524690949 Le résultat le plus proche est celui de la photogrammétrie appliquée à des vidéos NVIDIA GauGAN sans cohérence entre les frames : https://x.com/jonathanfly/status/1258127899401609217
Je me demande si ce projet pourrait mieux réussir la même idée. Je tenterai peut-être ce week-end
Quand j’ai acheté un Quest 2, je me suis plongé pendant un moment dans l’univers de la photogrammétrie et j’ai étudié tout le pipeline permettant de fabriquer des modèles 3D à partir de photos d’un objet prises sous différents angles
J’utilisais MeshRoom ainsi que quelques logiciels pour nettoyer le mesh et l’importer dans Unity
Si j’ai bien compris, de façon assez superficielle, l’essentiel pour intégrer quelque chose en VR de manière à pouvoir tourner autour dans Unity, c’est de produire un mesh propre. Les modèles 3D générés par des outils comme celui de cet article ressemblent, de ce que j’en ai vu sans approfondir, davantage à un nuage de points dans l’espace 3D. Ils ne génèrent pas de mesh 3D
Parmi les outils que j’avais vus pendant mes recherches, il y avait des choses comme https://developer.nvidia.com/blog/getting-started-with-nvidi... ; là aussi, ça ne produit pas de mesh. C’est plus proche d’une vidéo, et pas vraiment de quelque chose dans lequel on peut simplement se promener en VR
Ma motivation discrète était de reproduire ou modéliser un système du type Matterport pour le vendre à des agences immobilières. Ce qui me manquait dans ma compréhension, et ce qui m’a fait perdre intérêt, c’était que je ne voyais pas clairement comment automatiser l’étape de génération d’un mesh propre à partir de plusieurs photos prises par une caméra. C’est cette partie qui me semblait la plus intensive en travail. Plus tard, j’ai entendu dire qu’il existait des modèles de machine learning capables de faire cette étape, mais je ne connais pas bien le sujet
Nanite peut gérer des meshes très complexes et les simplifier algorithmiquement en temps réel. En gros, c’est un système de LOD avancé. Je ne connais pas ses limites, mais ça vaudrait le coup d’essayer. Pour la photogrammétrie, je recommande vivement Reality Capture. C’est très peu cher et la tarification se fait par scan
Si j’ai bien compris, ces techniques prennent quelques images en entrée et entraînent un modèle ; ce modèle apprend alors, dans un certain sens, la meilleure manière de rendre les images comme un modèle de scène. Les Gaussian splats représentent les images comme une sorte de « paquets » dans l’espace, et chaque image doit être rendue à partir du même ensemble de paquets depuis un point de vue donné. Donc, si on place les splats de manière à ce que chaque image soit rendue correctement, on peut reconstituer la scène
Aujourd’hui, cet entraînement coûte très cher et doit être refait pour chaque modèle, mais le résultat peut être exploré en temps réel
L’approche photogrammétrique utilisée par Matterport et consorts est plus ancienne et exige des données d’entrée de bien meilleure qualité, mais les approches récentes semblent pouvoir fonctionner avec moins de données et des données de moindre qualité
https://github.com/3DTopia/OpenLRM
Ils disent être inspirés par NeRF, mais l’article de base semble plutôt avoir choisi d’utiliser des vision transformers. La version open source semble utiliser DINO de Meta comme l’un de ses composants principaux
C’est assez étonnant qu’on puisse prendre une scène imaginée et dessinée par quelqu’un et en tirer un modèle 3D, même mauvais
On peut imaginer un futur où un artiste n’aurait besoin de dessiner que quelques croquis d’une scène pour obtenir un modèle 3D précis
Ou bien qu’un artiste 2D ne fasse que quelques croquis de poses, et qu’un modèle 3D bien structuré ainsi que les textures soient générés automatiquement
Dans l’industrie, on s’inquiète beaucoup de l’impact que l’IA et des outils similaires auront sur les artistes, mais il semble aussi possible d’imaginer un avenir où les systèmes de machine learning collaborent plus directement avec les artistes qu’un simple rendu à base de prompts en langage naturel
Je n’ai pas de position très arrêtée sur les débats moraux autour de l’entraînement de l’IA. Ce qui m’inquiète davantage, ce n’est pas tant la manière dont on l’a entraînée que l’effet que cela aura sur les gens. Même si un modèle entraîné de manière parfaitement « éthique » produisait un art parfait et que le métier d’artiste devenait un emploi de niche, cela pourrait quand même être mauvais pour la civilisation dans son ensemble, parce que j’estime qu’il y a une valeur au fait que les humains créent de l’art, et qu’il y a aussi une valeur sociale à ce que ce travail reste, dans une certaine mesure, viable
En même temps, les résultats que les gens obtiennent avec les modèles d’image sont parfois stupéfiants, donc je n’en suis pas certain. Dans l’idéal, il serait bon de pouvoir permettre aux gens de faire ce qu’ils veulent, même sans marché pour cela, mais le monde n’est pas encore prêt à cela
Je ne suis pas graphiste, mais j’ai l’impression que le travail des illustrateurs intègre beaucoup de techniques d’expression créatives pour transmettre des significations complexes.
Cela dit, la reconstruction d’un espace 3D bancale visible dans la vidéo rappelle la récente vague autour des grands modèles de langage.
Autrement dit, le résultat garde un lien clair avec la « vérité » ou les « faits » des matériaux de base, sans être assez précis pour être réellement utile comme source pour un travail ultérieur.
Voir un « nouvel » épisode d’un vieux dessin animé serait vraiment amusant. Évidemment, le chaos juridique sur les droits d’auteur qui suivrait est une autre question.
J’ai été surpris de voir à quel point le rendu depuis le point de vue d’une image donnée est mauvais.
Par exemple, avec le Magic School Bus ci-dessous, on dirait qu’on pourrait ajuster l’algorithme pour faire davantage confiance à l’image.
Même dans l’animation 3D et le cinéma, où je travaille surtout, les décors ou les objets flous au premier plan sont souvent déformés et disposés de façon étrange pour paraître justes à l’écran, même si leur correspondance avec une structure cohérente du monde réel n’a aucun sens. L’art en 2D est encore moins contraint par la représentation du monde réel.
Ce genre d’application montre à quel point notre cerveau est remarquable lorsqu’il construit des concepts à partir de représentations relativement abstraites, et à quel point la capacité des artistes à travailler dans cette zone moins définie est impressionnante. Une scène peut donner au spectateur l’impression d’avoir une perspective cohérente, alors que le canapé et la table d’appoint à l’arrière-plan sont peut-être dessinés comme s’ils avaient été photographiés avec un objectif de 120 mm, tandis que le premier plan est volontairement compressé comme avec un 30 mm. Cela peut quand même fonctionner, parce que nous n’avons pas besoin d’inférer un espace 3D réaliste dans lequel les personnages existeraient ; il suffit de comprendre qu’ils sont dans un tel espace. Nous savons ce que signifie être dans un espace et comment les gens interagissent avec lui.
Un bon art ne fournit que ce qu’il faut pour transmettre l’idée centrale, en en faisant le point focal du message, puis laisse le cerveau créer inconsciemment des liens et ajouter du contexte pour produire une « expérience » complète. Tout, du type de canapé ou de table d’appoint jusqu’à l’échelle et aux relations entre objets, souvent tordues ou exagérées, peut constituer une couche de communication au service de l’effet artistique recherché, sans forcément avoir de représentation cohérente dans le monde réel. Il arrive aussi clairement que, dans certains plans, des objets soient déplacés pour aider la composition ou souligner une interaction. Si on le remarque, c’est un problème de continuité ; si on ne le remarque pas, c’est du bon travail. Dans l’immense majorité des cas, personne ne le remarque, et on a simplement l’impression d’avoir vu un monde dont la composition est convaincante sous tous les angles.
Un algorithme qui regarde des traits et doit trouver, dans le monde réel, un scénario correspondant à cette représentation tente peut-être de produire quelque chose qui, dès le départ, ne peut exister sous aucune forme cohérente.
Je ne comprends pas pourquoi, sur un site rempli de vidéos, tout est réglé en lecture automatique et en boucle infinie.
J’étais en train de regarder la vidéo sur le deuxième écran, et le site saccadait à chaque ouverture.
J’ai dû le redémarrer pour le débloquer.
Si on montrait l’exemple de Spirited Away à Miyazaki, il dirait sans doute que c’est une insulte à la vie elle-même.
Donc ce n’est pas une exagération.
Étonnant qu’ils ne semblent pas avoir parlé à un animateur 3D avant d’écrire ça. La phrase ci-dessous est tout simplement fausse
Le projet en lui-même n’a rien de problématique. La recherche, c’est la recherche, et ils ne présentent pas ça comme un « problème résolu ». Mais, chez une certaine catégorie de profils tech, les outils d’image par IA suscitent une fanfaronnade totalement infondée du genre nous avons résolu l’art. Résultat : ils avancent avec arrogance, parfois de manière condescendante, des hypothèses sans fondement sur des principes artistiques pourtant élémentaires
Je travaille dans le logiciel depuis longtemps, donc l’arrogance du développement logiciel ne m’est pas étrangère, et elle peut même parfois être utile, mais je crois avoir rarement vu dans le monde du logiciel une telle surconfiance collective et aussi intense sur un sujet unique
Exemple tout simple : dans les sitcoms, beaucoup de décors qui paraissent être des pièces carrées sont en réalité trapézoïdaux, avec des murs qui se rejoignent selon des angles obtus. Presque personne ne s’en rend compte
C’était encore plus vrai avant la HD. Pour obtenir une perspective suffisamment proche pour lire les expressions du visage et les gestes, il fallait que la personne ou le personnage remplisse le cadre de manière assez serrée. Même dans les séries les plus « réalistes » et les plus sages de cette époque, si l’on creuse un peu, on finit toujours par trouver des moments où l’on a discrètement déplacé des meubles, voire même des murs, simplement pour que certains plans fonctionnent