1 पॉइंट द्वारा GN⁺ 2023-11-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • MeshGPT त्रिकोणीय mesh को token sequence के रूप में generate करता है, और इंसान द्वारा बनाए गए model जैसे sharp edges व संक्षिप्त triangulation वाले mesh बनाने का लक्ष्य रखता है
  • dense iso-surfacing परिणामों के विपरीत, यह सीखी गई geometric vocabulary को sample करके सीधे अधिक compact mesh structure बनाता है
  • graph convolution और vector quantization आधारित encoder-decoder पहले local geometry और topology को समेटने वाली embedding vocabulary सीखता है
  • decoder-only Transformer पिछले embeddings के आधार पर अगला index predict करता है, और training के बाद vocabulary से sequence sample करके नया mesh generate करता है
  • विभिन्न categories में shape coverage में 9% वृद्धि, FID score में 30 points सुधार दिखा, और इसे partial mesh completion व scenes के लिए 3D asset generation में भी इस्तेमाल किया जा सकता है

MeshGPT का mesh generation तरीका

  • MeshGPT त्रिकोणीय mesh को triangle sequence के रूप में देखता है, सीखी गई geometric vocabulary से tokens generate करता है और फिर उन्हें triangle faces में decode करता है
  • output clean, coherent, compact mesh की ओर लक्षित होता है, जिसमें sharp edges और high fidelity मुख्य विशेषताएँ हैं
  • मौजूदा baselines से तुलना करने पर यह sharp geometric details बनाए रखते हुए भी अधिक संक्षिप्त mesh generate करता है
    • baseline कभी-कभी details छोड़ देता है, अत्यधिक triangulated mesh बनाता है, या बहुत सरल shape output करता है
  • विभिन्न categories में quantitative comparison में यह नवीनतम mesh generation methods से बेहतर परिणाम दिखाता है
    • shape coverage में 9% वृद्धि
    • FID score में 30 points सुधार

Training pipeline और उपयोग

  • पहले बड़े shape collection से त्रिकोणीय mesh के लिए geometric embedding vocabulary सीखी जाती है
    • encoder-decoder network का उपयोग किया जाता है
    • bottleneck में vector quantization शामिल होता है
    • graph convolution से embeddings में local mesh geometry और topology की जानकारी समाहित होती है
  • सीखी गई vocabulary sequence के रूप में संरचित होती है, और decoder इसे फिर से triangles में reconstruct कर सकता है
  • Transformer सीखी गई vocabulary की token sequence prediction के लिए जिम्मेदार है
    • पिछले embeddings को input के रूप में लेकर अगला embedding index predict करता है
    • training पूरी होने के बाद vocabulary से सीधे sequence sample करके mesh generate करता है
  • partial mesh दिए जाने पर यह कई संभावित shape completion results infer कर सकता है
    • user द्वारा partial input mesh edit करने की प्रक्रिया में भी completion examples दिखाए जा सकते हैं
  • इसे scenes के लिए 3D asset generation में भी इस्तेमाल किया जा सकता है, और MeshGPT से बनाए गए assets से कमरे को भरने का उदाहरण मौजूद है

Resources और संबंधित कार्य

  • संबंधित resources
  • साथ में उल्लेखित संबंधित कार्य

1 टिप्पणियां

 
GN⁺ 2023-11-29
Hacker News की राय
  • मुझे लगता है असली क्रांतिकारी आइडिया ऐसा ही दिखता है। पेपर में सचमुच बहुत सारी डिटेल है, और हमें पहले से पता है कि transformer scale कर सकते हैं
    लगता है कई कंपनियां general-purpose 3D asset generation pipeline को train करने के लिए इस आइडिया का इस्तेमाल करेंगी। “पहले graph convolution का इस्तेमाल करके latent quantization embedding की vocabulary सीखना, और इस embedding को local mesh geometry और topology की जानकारी दिलाना। फिर इस embedding को order करके decoder से उसे triangles में restore कराना ताकि mesh को प्रभावी तरीके से reconstruct किया जा सके” — पीछे मुड़कर देखें तो यह सोच बहुत सुंदर और स्वाभाविक लगती है
    और “autoregressive generation के लिए mesh M को represent करने के practical approach के तौर पर, generate किए जाने वाले tokens को triangles की sequence के रूप में define करना” वाला हिस्सा भी सचमुच शानदार है

    • शानदार तो है, लेकिन आजकल 3D reconstruction field के मानकों से देखें तो यह काफी आम trend भी है। मैं इस पेपर को खास तौर पर innovative या exceptional नहीं कहूंगा
      इस field में जो चीज सच में आकर्षित करती है, वह single image से 3D mesh बनाने वाला और लाखों diverse 3D models पर trained large 3D reconstruction model है: https://yiconghong.me/LRM/
    • यहां एक और ध्यान देने वाली बात यह है कि training ज्यादा से ज्यादा 4 A100 पर कुल 7 दिन जैसी है। सचमुच हर cutting-edge काम के लिए datacenter-level cluster जरूरी नहीं होता
    • क्या कोई समझा सकता है कि quantization embedding क्या होती है?
    • कहा जाता है कि “transformer scale कर सकते हैं”, लेकिन मैं सोच रहा हूं कि क्या इस बात के मजबूत प्रमाण हैं कि दूसरे models scale नहीं करते, या फिर हमने transformer पर ही ज्यादा समय लगाया है
      convolutional ResNet भी vision और language में scale होते दिखते हैं: (cv) https://arxiv.org/abs/2301.00808, (cv) https://arxiv.org/abs/2110.00476, (nlp) https://github.com/HazyResearch/safari
      multi-layer perceptron भी scale होते लगते हैं: (cv) https://arxiv.org/abs/2105.01601, (cv) https://arxiv.org/abs/2105.03404
      बेशक attention छोड़ने की कोई मजबूत वजह भी नहीं है, लेकिन मुझे लगता है कि बहुत कम लोगों ने किसी problem पर 1 अरब parameters scale के multi-layer perceptron या convolutional model आजमाए हैं। attention, transformer और उनकी scaling पर इतनी भारी मेहनत हुई है कि हर साल हजारों papers आते हैं, जबकि दूसरे architectures में ऐसा स्तर मुश्किल से दिखता है
      The ResNet Strikes Back paper की अच्छी बातों में से एक यह है कि यह याद दिलाता है कि hype में बहने के बजाय progress आपस में जुड़ी होती है। original ResNet के दौर के बाद हमने training techniques के बारे में बहुत कुछ सीखा है, और उन्हें ResNet पर लागू करने से performance काफी बेहतर होती है और gap बहुत कम हो जाता है। कम-से-कम vision field में, जहां मैं research करता हूं, ऐसा है; और papers publish करके ही टिकने वाले माहौल और trend-driven review के कारण research आसानी से एक दिशा में सिमट जाती है
    • मैं जानना चाहूंगा कि यह पहले DNA और RNA sequences पर लागू की गई मिलती-जुलती techniques से कैसे अलग है
  • machine learning engineer होने और थोड़ा Blender व hobby game development करने के नाते यह काफी प्रभावशाली है, लेकिन सीमित furniture examples देखकर यह अभी practical level पर नहीं है
    skilled modeler ऐसा mesh 5 मिनट से कम में बना सकता है, और generation को अभी भी polygons से seed करना पड़ता है
    अगला step शायद यह होगा कि LLM seed generation को control करे, और structure के autoregressive हिस्से में image model जोड़ा जाए। तब शायद हमें सच में mobile game assets देखने को मिलें

    • “skilled modeler ऐसा mesh 5 मिनट में बना सकता है” जैसी AI workflow criticism मुझे ज्यादा उपयोगी नहीं लगती। ज्यादातर लोग skilled modeler नहीं हैं, न किसी ऐसे व्यक्ति को जानते हैं, और न उन्हें hire करने के पैसे हैं
      कई मामलों में, अगर realistic alternative कुछ भी नहीं होना है, तो ऐसा tool बेहतर है, भले ही expert से ज्यादा समय लगे और quality खराब हो
    • अच्छा है। तो क्या आप ऐसे modelers से मिलवा सकते हैं जो जरूरत पड़ने पर on-demand काम करें और 5-minute increments में charge करें?
      अगर मैं model के लिए सिर्फ 1–2 dollar देकर उसे अपने game में तुरंत custom तरीके से डाल सकूं, तो सचमुच अच्छा होगा
    • यह skilled modeler के लिए बात नहीं है। जैसे Stable Diffusion सिर्फ professional painters के लिए नहीं है
      असली मुद्दा non-experts को tools देना है, और साथ ही skilled modelers को future AAA games के लिए chair की 10,000 variants जैसे काम से मुक्त करना है ताकि वे ज्यादा दिलचस्प चीजों पर focus कर सकें। वे unique characters बना सकते हैं, या ऐसे नए futuristic models बना सकते हैं जो training data में नहीं हैं और जिनके लिए असली imagination और expertise चाहिए
    • यहां दिखी mesh topology के साथ तो लगभग किसी भी professional काम में asset reject हो जाएगा। skilled modeler 5 मिनट के अंदर texturing और deformation के लिए ज्यादा उपयुक्त, कहीं बेहतर quality वाला model बना सकता है, और speed modeler तो 1 मिनट में भी लगभग वैसा बना सकता है
      Blender Geometry Nodes जैसे procedural systems भी पहले से ऐसे models की endless variations निकाल सकते हैं। फिर भी progress की speed हैरान करने वाली है
    • जैसे skilled developer LLM से workflow bootstrap करता है, वैसे ही skilled modeler भी जल्द ही ऐसे tools को अपने daily workflow का हिस्सा बना लेंगे। casual users भी वे काम कर पाएंगे जो पहले नहीं कर सकते थे, लेकिन जब किसी knowledge domain का expert इसे इस्तेमाल करता है, तभी यह सच में चमकता है
      मेरा मानना है कि किसी specific use case में आपका experience जितना ज्यादा होगा, machine learning model से आपको उतनी ज्यादा utility मिलेगी
      दुर्भाग्य से अक्सर वही लोग adoption का सबसे ज्यादा विरोध करते हैं, बिना इसे सचमुच उपयोगी स्तर तक अभ्यास करके देखे। शायद समस्या का एक हिस्सा यह है कि वे इसे magic wand मानकर चलते हैं। असल में यह बस नया PhotoShop, Blender, Microsoft Word, PowerPoint जैसा tool है
      ज्यादातर लोग ऐसी apps खोलते हैं, थोड़ी देर बेमतलब click करते हैं, फिर जल्द ही छोड़ देते हैं और वापस नहीं आते। “AI” भी ऐसा ही है
  • मेरा चुना हुआ पेशा, 3D/फिल्म प्रोडक्शन, इन दिनों किसी युद्ध की खाई में होने जैसा लगता है। रोमांचक भी है और डरावना भी।

    • इसे ऑटोमैटिक स्कैफोल्डिंग के रूप में भी देखा जा सकता है। सामान्य modeling और CAD tools ऐसी क्षमताएँ शामिल कर सकते हैं ताकि शुरुआत तेज़ हो सके।
      एक और बड़ा फायदा composability है। अगर model कप और टेबल बना सकता है, तो वह टेबल पर रखा कप बनाना भी जानता है।
      सोचिए, प्रोजेक्ट के हिसाब से जटिल gears और machine parts पलक झपकते बना सकें, और उन्हें मनचाही position और rotation में सटीकता से रख सकें। यह GitHub Copilot के काम करने के तरीके से काफी मिलता-जुलता है।
    • इस लिहाज़ से मुझे नहीं लगता कि LLM ने programming की तुलना में 3D animation में बहुत बड़ी बढ़त बना ली है। यह अलग-अलग देखने पर ठीक लगने वाले टुकड़े उगल सकता है, लेकिन puzzle इंसान को ही जोड़नी पड़ती है। और उस puzzle को जोड़ने का मतलब अक्सर ज़्यादातर टुकड़ों को फिर से लिखना या फिर से बनाना होता है।
      फिलहाल हम सुरक्षित हैं, लेकिन नई technology का इस्तेमाल करना सीखना होगा।
    • अगर आप bidding producer की भूमिका जानते हैं, तो उनकी मुश्किलें भी कल्पना कर सकते हैं। एक तरफ filmmakers कह रहे हैं, “अब ऐसा भी AI ने बना दिया है,” और दूसरी तरफ bidding producers और VFX/animation studio clients ऐसे हड़बड़ा रहे हैं जैसे सब कुछ फिर से नया हो गया हो।
    • 3D CGI तो AI के बिना भी पिछले 30 सालों में पहले ही जबरदस्त रफ्तार से आगे बढ़ चुका है। आज के tools sculpting, simulation, automatic rigging वगैरह में गुणात्मक रूप से अलग हैं।
    • आपके क्षेत्र में आप इस technology के use cases कैसे देखते हैं? उत्सुक हूँ कि quality आपको अच्छी लगती है या नहीं।
  • input क्या है? क्या यह “chair” जैसी text query को mesh में बदलता है?
    देखने से लगता है कि यह कोई साधारण add-on नहीं, बल्कि mesh completion ही मुख्य input/output तरीका है।

    • हाँ, समझना थोड़ा मुश्किल है।
      input खुद 3D mesh जैसा दिखता है। इसलिए model शायद “shape completion” कर रहा है। जैसे सिर्फ कुछ legs देखकर chair generate करना। या जब input shape ज़्यादा complete हो, तो “variations” generate करना भी हो सकता है।
      फिर भी शुरुआत के तौर पर ठीक लगता है। quality कम है, लेकिन text-to-mesh बनाने वाले दूसरे models के output को input में देकर, इस model से ज़्यादा sharp और consistent results मिल सकते हैं।
    • जैसे language-only LLM को language में prompt दिया जाता है, वैसे ही इस LLM को पूरा करने के लिए 3D mesh prompt के रूप में दिया जाता है।
    • मुझे भी यही जानना था। diagrams देखकर लगता है कि input कोई दूसरी chair mesh है, इसलिए थोड़ा कम दिलचस्प लगता है।
  • ऐसा लगता है कि 90s के बाद से जिन बचे हुए कठिन problems में ज्यादा progress नहीं हुई थी, वे सब किसी न किसी तरह transformer से हल होने की अपनी बारी का इंतज़ार कर रहे हैं। सचमुच कमाल का दौर है।

  • अगला breakthrough ऐसे model के सामने VR में 3D scene बनाने वाला UX होगा। जिस environment के लिए training data है, वहाँ असल में स्थायी और arbitrary 3D environments generate किए जा सकेंगे।
    texture generation के लिए diffusion models इस्तेमाल हो सकते हैं।
    Mark सही था, बस सच में बहुत जल्दी move कर गया।

    • Mark?
      ओह, वो Mark? lol, समझ गया।
      बेहतर होगा कि credit Lecun जैसे किसी को दिया जाए, नहीं? Mark ने metaverse पर all-in इसलिए नहीं किया था कि उसने किसी तरह predict कर लिया था कि deep learning उछलेगी। शुरुआती models train करने वाले लोग भी पक्के नहीं थे कि यह कितना अच्छा काम करेगा।
  • भले ही यह “सिर्फ” mesh autocomplete हो, 3D artists के लिए यह बेहद उपयोगी है। अभी character sculpt करने के तरीके और animate करने के तरीके के बीच disconnect है। आम तौर पर model को retopology करने का time-consuming step चाहिए होता है।
    अगर कोई transformer-based retopology rough mesh लेकर clean topology दे सके, तो बहुत समय बचेगा।
    एक और application Gaussian splatting या diffusion model के output को MeshGPT में डालना है। text से सीधे clean topology वाला usable asset मिल सकता है।

    • 3D artists के लिए कम, यह 99% वे लोग इस्तेमाल करेंगे जिन्होंने जिंदगी में कभी हाथ से mesh नहीं बनाया। वे लोग जो 3D artist hire करने की जरूरत को replace करना चाहते हैं, जैसे programmers जो designer को पैसे नहीं देना चाहते या दे नहीं सकते, architects जिन्होंने CAD के अलावा कुछ नहीं सीखा, Fiverr gigs जैसी चीजें।
      यहाँ लोग शायद अच्छी तरह महसूस नहीं कर रहे कि हम automation को ही automate करने की दिशा में धीरे-धीरे बढ़ रहे हैं। और इससे रोज़ी कमा पाने वाले programmers, आज रोज़ी कमा पाने वाले लोगों में बहुत छोटा हिस्सा होंगे।
    • यह समझना होगा कि ऐसे तरीके in-distribution/out-of-distribution data के प्रति बहुत sensitive होते हैं। user data को बस plug in कर देने पर शायद यह ठीक से काम नहीं करेगा।
    • माफ़ कीजिए, लेकिन characters के लिए clean topology generate करना बहुत लंबे समय तक असंभव ही रहेगा।
  • यह field मुझे पसंद है। paper में शानदार website, examples और videos शामिल हैं।
    घने abstract, introduction और results-केंद्रित paper style से कहीं ज्यादा fresh है।

  • सच में शानदार लग रहा है। indie game developers को assets का बड़ा pool generate करने में बहुत मदद मिलेगी।

    • ऐसी technology की वजह से मेरे हिसाब से indie game development खत्म हो गया है।
      इसके बजाय बड़ी companies “अपना game बनाओ” वाले games बनाएंगी।
      आजकल indie games भी पहले से काफी derivative लगते हैं। medium term में लगता है कि बड़ी companies इस technology का इस्तेमाल करके indie games को खत्म कर देंगी।
  • वाह, यह सच में बेहतर होता जा रहा है। अजीब edges की वजह से अभी रास्ता बाकी है, लेकिन इस point पर यह कोई algorithmic या जटिल problem नहीं, बल्कि iterative improvements जैसा लगता है।
    अगर हर mesh को ऐसी procedural generation library में डालने की जरूरत न रहे जिसमें ढेर सारे छोटे mesh modifiers drivers से जुड़े हों, तो मेरा pipeline सच में तेज़ हो जाएगा। इसके बजाय सारी meshes को folder में डालकर network train कर दें, और फिर उसी style की दूसरी चीजें मांग लें। जब तक ज़्यादा creative तरीके से छेड़छाड़ नहीं करनी हो, retopo या दूसरा manual work करने की जरूरत नहीं होगी।
    बेशक, उस level तक पूरी तरह पहुँचने से पहले procedural generation अभी भी बेहतर है, लेकिन यह इतनी तेजी से mature हो रहा है कि सच में उत्साह है। उम्मीद है अगले साल Unreal showcase तक वे नई Asset Generator feature की बात कर रहे होंगे।

    • क्या कोई recommend करने लायक procedural generation library है?