LegoGPT - टेक्स्ट से वास्तव में assemble किए जा सकने वाले LEGO डिज़ाइन का स्वचालित निर्माण
(avalovelace1.github.io)- LegoGPT सिर्फ टेक्स्ट इनपुट के आधार पर स्थिर और वास्तव में assemble किए जा सकने वाले LEGO स्ट्रक्चर जनरेट करने वाला एक अभिनव प्रोजेक्ट है
- StableText2Lego डेटासेट बनाकर 47,000 से अधिक भौतिक रूप से स्थिर LEGO स्ट्रक्चर और विस्तृत विवरण उपलब्ध कराए गए हैं
- एल्गोरिद्म तेज़ validity checks और physics-based rollback लागू करके अवास्तविक स्ट्रक्चर को अपने-आप हटाता है
- जनरेट किए गए LEGO डिज़ाइन को इंसान और रोबोट दोनों वास्तव में assemble कर सकते हैं, और यह विभिन्न रंगों व texture अभिव्यक्तियों को भी सपोर्ट करता है
- यह सिस्टम creative design prototyping, शिक्षा, robotics applications जैसे कई क्षेत्रों में नई संभावनाएँ खोलता है
प्रोजेक्ट परिचय
- LegoGPT उपयोगकर्ता द्वारा दिए गए टेक्स्ट प्रॉम्प्ट के आधार पर पूरी तरह स्वचालित तरीके से वास्तव में assemble किए जा सकने वाले और भौतिक रूप से स्थिर LEGO स्ट्रक्चर जनरेट करने वाला पहला approach है
- यह प्रोजेक्ट बड़े पैमाने के LEGO स्ट्रक्चर डेटासेट और विस्तृत विवरणों के साथ बनाया गया है, और वास्तविक assembly प्रक्रिया में भी स्थिरता, विविधता और सौंदर्यपूर्ण गुणवत्ता वाले परिणाम उत्पन्न करता है
- LEGO स्ट्रक्चर जनरेशन के परिणामों को प्रयोगों में सत्यापित किया गया है कि उन्हें मनुष्य हाथ से सीधे assemble कर सकता है, या robot arm से स्वचालित रूप से assemble किया जा सकता है
StableText2Lego डेटासेट
- StableText2Lego डेटासेट में ShapeNetCore 3D meshes से आकृतियों को voxelize करने के बाद, अलग-अलग brick placement तरीकों को लागू किया गया और सिर्फ उन्हीं स्ट्रक्चर को अपनाया गया जो भौतिक स्थिरता सत्यापन में सफल रहे
- डेटा निर्माण प्रक्रिया में प्रत्येक स्ट्रक्चर के लिए 24 कोणों से views render किए गए, और इनके आधार पर GPT-4o ने सूक्ष्म विवरण वाले description texts स्वतः जनरेट किए
- इस तरह बनाए गए डेटासेट में विविध आकार, संरचना और textures वाले 47,000 से अधिक LEGO स्ट्रक्चर और 28,000 से अधिक unique 3D objects शामिल हैं
LegoGPT पाइपलाइन
- LEGO स्ट्रक्चर को नीचे से ऊपर, raster-scan तरीके से text token sequences में tokenize करके इनपुट दिया जाता है
- प्रत्येक brick sequence और natural language description को pair बनाकर LLaMA-3.2-Instruct-1B आधारित मॉडल को fine-tune किया गया, जिससे description-brick sequence mapping सीखी जाती है
- inference चरण में LegoGPT टेक्स्ट प्रॉम्प्ट के लिए एक-एक करके bricks predict और add करते हुए LEGO स्ट्रक्चर को क्रमिक रूप से जनरेट करता है
- हर brick जोड़े जाने पर format, brick library में उपलब्धता, और collision के लिए validity checks किए जाते हैं, और पूरा स्ट्रक्चर बनने के बाद भौतिक स्थिरता का फिर से सत्यापन किया जाता है
- यदि अंतिम स्ट्रक्चर अस्थिर हो, तो अस्थिर brick और उसके बाद जोड़ी गई सभी bricks को हटाकर स्थिर अवस्था तक rollback किया जाता है और फिर दोबारा जनरेशन की जाती है
चरण-दर-चरण LEGO स्ट्रक्चर जनरेशन उदाहरण
- "लंबे और संकरे hull वाली slim नाव"
- "क्षैतिज shelves वाली किताबों की अलमारी"
- "बिना बैकरेस्ट के armrests वाली बेंच"
- हर उदाहरण टेक्स्ट प्रॉम्प्ट से स्पष्ट दृश्य विशेषताओं को दर्शाने वाले LEGO स्ट्रक्चर के रूप में चरण-दर-चरण जनरेट होता है
रोबोट के साथ स्वचालित assembly
- जनरेट किए गए LEGO मॉडल को robot arm के उपयोग से वास्तविक assembly में लागू किया गया और 8x speed वीडियो में दिखाया गया
- "लंबे और संकरे hull वाली slim नाव", "asymmetrical 6-string guitar" आदि के जरिए वास्तविक robot assembly applicability दिखाई गई
जनरेट किए गए textured और color LEGO मॉडल
- natural language prompts में "काई जमी हुई बेंच", "neon gradient cyberpunk material", "Victorian study shelf" जैसी अभिव्यक्तियों के साथ texture, material और विशिष्ट aesthetic effects तक दर्शाने वाले LEGO डिज़ाइन उपलब्ध कराए जाते हैं
- "Sunburst Les Paul with amber finish" जैसे समृद्ध रंगों और metallic effects को भी सिर्फ टेक्स्ट के आधार पर LEGO डिज़ाइन में दर्शाया जा सकता है
उद्धरण और शोध समर्थन
- पेपर की जानकारी, लेखक, और इस शोध को समर्थन देने वाली संस्थाएँ (जैसे Packard Foundation, Amazon Faculty Award आदि) स्पष्ट रूप से दी गई हैं
- यह प्रोजेक्ट प्रमुख शोधकर्ताओं के Microsoft Research PhD Fellowship सहित विभिन्न अकादमिक और औद्योगिक समर्थन के तहत आगे बढ़ाया गया है
प्रोजेक्ट संदर्भ और टेम्पलेट
- संबंधित साइट टेम्पलेट में Custom Diffusion और DreamFusion प्रोजेक्ट्स के लेआउट का संदर्भ लेकर उपयोग किया गया है
1 टिप्पणियां
Hacker News राय
playsinlineattribute को video tag में देने से यह समस्या ठीक हो सकती है https://developer.mozilla.org/en-US/docs/…. अफ़सोस की बात है कि iOS का default behavior ऐसा है