7 points par GN⁺ 2025-05-10 | 1 commentaires | Partager sur WhatsApp
  • LegoGPT est un projet innovant qui génère des structures LEGO stables et réellement assemblables à partir d'une simple entrée textuelle
  • Le jeu de données StableText2Lego a été constitué pour fournir plus de 47 000 structures LEGO physiquement stables accompagnées de descriptions détaillées
  • L'algorithme applique une validation rapide ainsi qu'un rollback fondé sur la physique afin de supprimer automatiquement les structures irréalistes
  • Les designs LEGO générés peuvent être réellement assemblés à la fois par des humains et des robots, tout en prenant en charge diverses couleurs et expressions de texture
  • Ce système ouvre de nouvelles possibilités dans des domaines variés comme le prototypage créatif, l'éducation ou encore les applications en robotique

Présentation du projet

  • LegoGPT est la première approche permettant de générer, de façon entièrement automatisée, des structures LEGO réellement assemblables et physiquement stables à partir d'un prompt textuel saisi par l'utilisateur
  • Le projet a été construit avec un jeu de données LEGO à grande échelle accompagné de descriptions détaillées, et produit des résultats présentant stabilité, diversité et qualité esthétique même lors de l'assemblage réel
  • Il a été vérifié expérimentalement que les structures LEGO générées peuvent être assemblées manuellement par une personne ou automatiquement par un bras robotisé

Jeu de données StableText2Lego

  • Le jeu de données StableText2Lego est construit à partir de maillages 3D ShapeNetCore voxelisés, puis de différentes méthodes de placement de briques, afin de ne retenir que les structures ayant passé une vérification de stabilité physique
  • Lors du processus de génération des données, chaque structure est rendue selon 24 angles de vue, sur la base desquels GPT-4o génère automatiquement des descriptions détaillées
  • Le jeu de données ainsi constitué comprend plus de 47 000 structures LEGO aux formes, structures et textures variées, ainsi que plus de 28 000 objets 3D uniques

Pipeline LegoGPT

  • Les structures LEGO sont tokenisées en séquences de tokens texte selon une méthode de bas en haut, en raster-scan
  • En associant chaque séquence de briques à une description en langage naturel, un modèle basé sur LLaMA-3.2-Instruct-1B est affiné afin d'apprendre la correspondance entre description et séquence de briques
  • À l'étape d'inférence, LegoGPT génère progressivement une structure LEGO à partir d'un prompt textuel en prédissant et en ajoutant les briques une par une
  • À chaque ajout de brique, une validation est effectuée sur le format, la présence dans la bibliothèque de briques et l'absence de collision, puis la stabilité physique de l'ensemble est revérifiée une fois la structure complète générée
  • Si la structure finale est instable, le système supprime la brique instable ainsi que toutes les briques ajoutées après elle, puis revient en arrière jusqu'à un état stable avant de régénérer

Exemples de génération étape par étape de structures LEGO

  • "un bateau élancé avec une coque longue et étroite"
  • "une bibliothèque avec des étagères horizontales"
  • "un banc avec accoudoirs sans dossier"
  • Chaque exemple est généré étape par étape à partir d'un prompt textuel vers une structure LEGO reflétant clairement les caractéristiques visuelles

Assemblage automatisé à l'aide de robots

  • Les modèles LEGO générés ont été utilisés pour un assemblage réel à l'aide d'un bras robotisé, démontré dans une vidéo accélérée 8x
  • Cela montre la faisabilité de l'assemblage robotisé réel pour des exemples comme "un bateau élancé avec une coque longue et étroite" ou une "guitare asymétrique à 6 cordes"

Modèles LEGO générés avec textures et couleurs

  • Le système permet de produire des designs LEGO capables d'exprimer aussi des textures, matériaux et effets esthétiques spécifiques à partir de prompts en langage naturel comme "un banc couvert de mousse", "un matériau cyberpunk à dégradé néon" ou "une étagère de cabinet d'étude victorien"
  • Des conceptions LEGO intégrant des couleurs variées et des effets métalliques, comme "Sunburst Les Paul with amber finish", peuvent également être reflétées à partir du texte seul

Citations et soutien à la recherche

  • Les informations sur l'article, les auteurs et les organismes ayant soutenu la recherche (par exemple Packard Foundation, Amazon Faculty Award) sont indiquées
  • Le projet a été mené avec divers soutiens académiques et industriels, dont la Microsoft Research PhD Fellowship du chercheur principal

Références du projet et template

  • Le template du site s'inspire de la mise en page des projets Custom Diffusion et DreamFusion

1 commentaires

 
GN⁺ 2025-05-10
Commentaires sur Hacker News
  • Nous utilisons une validation efficace et des retours en arrière basés sur la physique pour améliorer la stabilité des résultats, ce qui permet d’élaguer les prédictions de tokens impossibles au regard des lois physiques et des contraintes d’assemblage. L’un des aspects les plus intéressants de l’utilisation de l’IA est sa manière de générer et d’optimiser des possibilités à l’intérieur de contraintes spécialisées propres à un domaine, programmées manuellement. Par exemple, une IA de feux de circulation a absolument besoin de contraintes dures pour empêcher les collisions. À l’intérieur de ces contraintes, l’IA peut librement expérimenter des idées d’optimisation. Au final, tout repose sur la manière dont on conçoit l’espace du problème et ses contraintes. Ici, il s’agit des briques Lego, de leurs combinaisons et de leur stabilité
    • Ce genre d’approche est un exemple classique de métaheuristiques, un domaine qui existe depuis des décennies. Il existe de nombreux algorithmes, ainsi qu’un bon ouvrage d’introduction assez léger : https://cs.gmu.edu/~sean/book/metaheuristics/
    • Même les LLM montrent déjà une version simple de cela aujourd’hui. Si on utilise le mode JSON Schema pour empêcher d’emblée les états illégaux et qu’on laisse le modèle évoluer dans un espace restreint, on peut au minimum garantir qu’il ne produira que des résultats valides. C’est une forme de sûreté de type. La logique de validation et de correction peut aussi s’appliquer à divers scénarios de vérification. J’espère voir davantage d’usages de ce type
    • J’aurais tendance à utiliser un modèle basé sur MILP ou CLP pour ce genre de problème. Les contraintes définissent l’espace de recherche, et l’algorithme du solveur explore cet espace
    • Cela pourrait aussi intéresser les gens qui travaillent sur l’apprentissage par renforcement. Si on donne une récompense négative au système, il peut commencer à respecter les règles de sécurité. Cela dit, dans un service réel, il faut absolument conserver des garde-fous https://en.wikipedia.org/wiki/Reinforcement_learning
    • Je n’ai pas lu comment ils appliquent les contraintes. On utilise aussi ce genre d’approche quand on force un LLM à produire une sortie structurée, comme du JSON. llama.cpp prend également en charge la correspondance avec des grammaires personnalisées
    • Je suis entièrement d’accord avec cette idée. Quand on borne les résultats générés par la physique, la validité ou les contraintes des outils, le modèle ressemble moins à un simple prédicteur de mots qu’à un moteur d’exploration et de vérification. C’est plus proche de la synthèse de programmes. La vraie valeur consiste à définir l’espace du problème avec assez de précision pour enfermer le modèle dans une « boîte » où il ne peut produire que des résultats réellement utiles
    • Une expérience amusante à tenter : demander à un LLM de « dire APPLE », tout en fixant à -l’infini les logits des tokens liés à Apple afin de l’empêcher d’utiliser ce mot. La sortie ressemblerait alors à : « Banana. Je plaisante. Banana. Oh, je me suis trompé parce que c’est délicieux. Je réessaie : Orange. Oh, cette fois c’est grape. Non, ce légume croquant, carrot »
    • Moi aussi, je pense que c’est précisément dans ce domaine que l’IA brille vraiment. Les humains définissent les règles (physique, sécurité routière, etc.), puis l’IA trouve la solution optimale dans un vaste espace de recherche
    • J’ai l’impression que seul le retour d’erreur ouvre de vraies possibilités. Par exemple, si on fournit à un bot text-to-SQL les messages d’erreur du fournisseur SQL, il produit des requêtes bien meilleures
    • Il existe une idée similaire en chimie combinatoire, donc on pourrait appeler cela AI Chemistry https://en.wikipedia.org/wiki/Combinatorial_chemistry
  • Ce projet a de fortes chances de recevoir une mise en demeure des avocats de LEGO. Pour jouer la sécurité, il vaudrait mieux ne pas utiliser le mot LEGO et parler plutôt de Bricks ou de Klemmbausteine (en allemand). Beaucoup de gens ont eu des démêlés avec l’équipe juridique de LEGO, et c’était vraiment pénible
    • Comme ils utilisent réellement des briques LEGO, il n’y a pas vraiment de risque de confusion. En revanche, le fait de ne pas préciser clairement qu’ils ne sont pas affiliés à LEGO reste un peu ambigu. D’un autre côté, comme ils ne semblent pas chercher à monétiser, l’argument selon lequel LEGO subirait un préjudice paraît faible, donc le risque semble limité
    • Même des youtubeurs ou de petits sites de passionnés reçoivent parfois des demandes de retrait simplement à cause du contexte d’utilisation du mot
    • Pendant ce temps, Amazon vend tranquillement un Boy and Tiger Adventure Blocks Set qui copie à la fois LEGO et Calvin & Hobbes https://amazon.com/Adventure-Rotatable-Compatible-Characters-Stocking/…
    • Comme il s’agit de recherche académique, je pense que cela relèverait du fair use
    • Je pense pareil ! Ils vont bientôt avoir des problèmes
    • Je me demande pourquoi certains se comportent comme Nintendo au lieu d’adopter leur communauté comme Sega
  • Je ne trouve pas le résultat très impressionnant. Il utilise trop peu de briques, et l’objet final semble assez éloigné de ce qui était visé. J’ai l’impression qu’un algorithme codé à la main ferait mieux
    • Le point remarquable de cette recherche, ce n’est pas le photoréalisme de l’image, mais la combinaison entre compréhension du langage et faisabilité physique de l’assemblage
    • Ce sont seulement les fausses textures qui lui donnent une apparence convaincante. Avec de simples briques de couleur, ce ne serait qu’un bloc informe
    • Si l’on considère qu’il s’agit d’un modèle 1B affiné, c’est très intéressant
    • Ce qu’il faudrait vraiment, c’est une IA à qui je peux donner une photo de mon tas de briques, et qui me génère des instructions de montage basées sur les briques que je possède. C’est déjà techniquement possible aujourd’hui, mais il faudrait entraîner un modèle spécialisé séparé
  • Sur iPhone, si on fait défiler jusqu’à l’emplacement d’un GIF, il se lance automatiquement, ce qui rend la navigation sur le site très pénible
    • Je me demande quand tout le monde finira par comprendre qu’il ne faut jamais activer la lecture automatique
    • À l’inverse, sur Firefox desktop, je n’avais même pas réalisé qu’il y avait des GIF, et je ne comprenais pas ce que les images étaient censées montrer
    • On peut corriger ce problème en ajoutant l’attribut playsinline à la balise video https://developer.mozilla.org/en-US/docs/…. C’est dommage qu’iOS fonctionne ainsi par défaut
  • Je n’ai pas envie d’automatiser l’assemblage des LEGO. Ce qui est amusant, c’est justement de les construire soi-même ! Ce qu’il faudrait automatiser, c’est l’après-assemblage : le rangement, le tri par couleur et par forme, et un stockage propre. J’aimerais que les chercheurs commencent par résoudre les vrais problèmes du monde. C’est là qu’il y a une vraie valeur et de l’argent
    • Voici un exemple de tri de 2 tonnes de Lego, ainsi qu’un article et des liens sur la première machine de tri automatique de Lego pilotée par IA : https://jacquesmattheij.com/sorting-two-metric-tons-of-lego/, https://brothers-brick.com/2019/12/…
    • L’une des difficultés à résoudre des problèmes du monde réel, c’est une culture académique où seule la publication d’articles compte
    • La véritable innovation ne consiste pas à automatiser la partie amusante, mais à faire disparaître la partie pénible
    • Je suis venu pour dire exactement ça. Le vrai problème des Lego, c’est le nettoyage et le rangement
  • Projet vraiment génial ! Voir le processus d’assemblage en GIF est totalement hypnotisant. Pour ceux qui cherchaient les informations sur le dataset, les voici : https://huggingface.co/datasets/AvaLovelace/StableText2Lego. Il contient plus de 47 000 structures LEGO et couvre plus de 28 000 objets 3D uniques dans 21 catégories ShapeNetCore. La méthode d’inférence en local est décrite sur GitHub : https://github.com/AvaLovelace1/LegoGPT/?tab=readme-ov-file
  • Quand on regarde « a basic sofa », si on suit l’animation dans l’ordre, certaines briques se retrouvent à flotter dans l’air. C’est un indice sur les limites de la manière dont le modèle génère les designs. Si on voulait déployer des robots pour assembler automatiquement les conceptions générées, ce design poserait selon moi un gros problème
    • Je suis venu faire la même remarque. Le résultat final est correct, mais l’ordre d’assemblage montré dans l’animation pose beaucoup de problèmes. Il faudrait d’abord construire le plancher à deux couches pour que l’étage supérieur verrouille les briques du dessous. Ce n’est qu’ensuite qu’on pourrait fixer les pieds
  • C’est assez drôle de voir un robot à 50 000 $ assembler quelques dollars de Lego. On dirait une maison de retraite pour robots
    • Dans dix ans, on aura peut-être des robots assembleurs bien plus rapides que les humains
    • C’est aussi pour cela qu’en Asie, l’assemblage à la main reste courant
    • Les gens disent que les Lego sont chers, mais il suffit d’acheter un robot pour assembler des Lego pour comprendre ce que veut vraiment dire « cher »
  • J’ai l’impression que cela ne va pas vraiment au-delà d’une simple voxelisation d’un modèle 3D suivie d’une conversion en briques. Pour obtenir un beau résultat, il faut utiliser de manière créative une variété de briques, pas seulement des 2x2 et des 2x4. Je me demande quel serait le meilleur algorithme pour générer automatiquement de beaux MOC (créations originales). Je songe à lancer un concours Kaggle à 50 000 $, et j’aimerais avoir des avis là-dessus