1 poin oleh GN⁺ 2023-11-29 | 1 komentar | Bagikan ke WhatsApp
  • MeshGPT menghasilkan mesh segitiga sebagai urutan token, dengan tujuan membuat mesh yang memiliki edge tajam dan triangulasi ringkas seperti model buatan manusia
  • Berbeda dari hasil iso-surfacing yang padat, MeshGPT mengambil sampel dari kosakata geometri yang dipelajari untuk secara langsung membuat struktur mesh yang lebih compact
  • Encoder-decoder berbasis konvolusi graf dan kuantisasi vektor terlebih dahulu mempelajari kosakata embedding yang memuat geometri lokal dan topologi
  • Transformer decoder-only memprediksi indeks berikutnya berdasarkan embedding sebelumnya, lalu setelah pelatihan menghasilkan mesh baru dengan mengambil sampel urutan dari kosakata
  • Pada berbagai kategori, MeshGPT menunjukkan peningkatan shape coverage 9% dan perbaikan skor FID sebesar 30 poin, serta dapat digunakan untuk penyelesaian mesh parsial dan pembuatan 3D asset untuk scene

Cara MeshGPT Menghasilkan Mesh

  • MeshGPT memandang mesh segitiga sebagai urutan segitiga, menghasilkan token dari kosakata geometri yang dipelajari, lalu mendekodenya menjadi face segitiga
  • Hasilnya ditujukan sebagai clean, coherent, compact mesh, dengan sharp edges dan fidelitas tinggi sebagai ciri utama
  • Dibandingkan baseline yang ada, MeshGPT menghasilkan mesh yang lebih ringkas sambil tetap mempertahankan detail geometri yang tajam
    • baseline terkadang melewatkan detail, membuat mesh dengan triangulasi berlebihan, atau menghasilkan bentuk yang terlalu sederhana
  • Dalam perbandingan kuantitatif di berbagai kategori, hasilnya lebih baik dibandingkan metode generasi mesh terbaru
    • shape coverage meningkat 9%
    • skor FID membaik 30 poin

Pipeline Pelatihan dan Penggunaan

  • Pertama, MeshGPT mempelajari kosakata embedding geometri untuk mesh segitiga dari shape collection berskala besar
    • Menggunakan jaringan encoder-decoder
    • Menyertakan kuantisasi vektor pada bagian bottleneck
    • Dengan konvolusi graf, embedding dibuat memuat informasi geometri mesh lokal dan topologi
  • Kosakata yang dipelajari disusun sebagai urutan, dan decoder dapat merekonstruksinya kembali menjadi segitiga
  • Transformer bertanggung jawab atas prediksi urutan token dari kosakata yang dipelajari
    • Menerima embedding sebelumnya sebagai input dan memprediksi indeks embedding berikutnya
    • Setelah pelatihan selesai, mesh dihasilkan dengan mengambil sampel urutan secara langsung dari kosakata
  • Jika diberikan mesh parsial, sistem dapat menginferensikan beberapa kemungkinan hasil shape completion
    • Saat pengguna mengedit partial input mesh, sistem juga dapat menampilkan contoh completion
  • MeshGPT juga dapat digunakan untuk pembuatan 3D asset untuk scene, dan ada contoh ruangan yang diisi dengan asset yang dibuat oleh MeshGPT

Materi dan Pekerjaan Terkait

1 komentar

 
GN⁺ 2023-11-29
Komentar Hacker News
  • Menurutku ide yang benar-benar revolusioner itu ya seperti ini. Makalahnya memuat sangat banyak detail, dan kita juga sudah tahu bahwa transformer bisa diskalakan.
    Sepertinya banyak perusahaan akan memakai ide ini untuk melatih pipeline generasi aset 3D serbaguna. Gagasan “pertama-tama mempelajari kosakata embedding terkuantisasi laten dengan graph convolution, lalu membuat embedding ini memahami geometri mesh lokal dan informasi topologi. Kemudian mengurutkan embedding ini dan membiarkan decoder memulihkannya menjadi segitiga agar mesh dapat direkonstruksi secara efektif” terasa begitu indah dan jelas ketika dilihat ke belakang.
    Bagian “sebagai pendekatan praktis untuk merepresentasikan mesh M demi generasi autoregresif, kami mendefinisikan token yang akan dihasilkan sebagai sekuens segitiga” juga benar-benar keren.

    • Memang keren, tapi menurut standar bidang rekonstruksi 3D saat ini, ini juga alur yang cukup umum. Aku tidak akan menyebut makalah ini secara khusus inovatif atau luar biasa.
      Yang benar-benar menarik di bidang ini bagiku adalah https://yiconghong.me/LRM/, model rekonstruksi 3D besar yang membuat mesh 3D dari satu gambar dan dilatih dengan jutaan model 3D yang beragam.
    • Hal lain yang patut diperhatikan di sini adalah pelatihannya paling banyak hanya sekitar total 7 hari dengan 4 A100. Tidak semua pekerjaan mutakhir benar-benar membutuhkan klaster setingkat pusat data.
    • Bisa jelaskan apa itu embedding terkuantisasi?
    • Mereka bilang “kita tahu transformer bisa diskalakan”, tapi aku penasaran apakah ada bukti kuat bahwa model lain tidak bisa diskalakan, atau kita saja yang mencurahkan lebih banyak waktu pada transformer.
      Convolutional ResNet juga tampak bisa diskalakan di visi dan bahasa: (cv) https://arxiv.org/abs/2301.00808, (cv) https://arxiv.org/abs/2110.00476, (nlp) https://github.com/HazyResearch/safari
      Multilayer perceptron juga sepertinya bisa diskalakan: (cv) https://arxiv.org/abs/2105.01601, (cv) https://arxiv.org/abs/2105.03404
      Tentu tidak ada alasan kuat juga untuk membuang attention, tapi menurutku hampir belum ada orang yang mencoba melempar multilayer perceptron atau model konvolusional berskala 1 miliar parameter ke sebuah masalah. Attention, transformer, dan penskalaannya telah mendapat upaya luar biasa sampai-sampai ribuan makalah terbit setiap tahun, dan sulit melihat tingkat upaya seperti itu pada arsitektur lain.
      Salah satu hal bagus dari makalah The ResNet Strikes Back adalah ia mengingatkan kita agar tidak terseret hype dan bahwa kemajuan saling terhubung. Sejak era ResNet asli, kita telah belajar banyak teknik pelatihan, dan ketika itu diterapkan ke ResNet, performanya menjadi jauh lebih baik sehingga jaraknya banyak menyempit. Setidaknya begitu di bidang visi yang kuteliti, dan lingkungan “publish or perish” serta review yang digerakkan tren mudah membuat riset mengerumuni satu arah.
    • Aku penasaran bagaimana ini berbeda dari teknik serupa yang sebelumnya diterapkan pada sekuens DNA dan RNA.
  • Sebagai engineer machine learning yang juga sedikit memakai Blender dan mengembangkan game sebagai hobi, ini cukup mengesankan, tetapi jika hanya melihat contoh furnitur yang terbatas, belum sampai tingkat praktis.
    Modeler yang terampil bisa membuat mesh seperti ini dalam waktu kurang dari 5 menit, dan generasinya juga masih harus di-seed dengan poligon.
    Menurutku langkah berikutnya adalah LLM mengendalikan pembuatan seed, lalu menambahkan model gambar ke bagian autoregresif strukturnya. Kalau begitu, mungkin kita benar-benar bisa melihat aset untuk game mobile.

    • Menurutku kritik terhadap alur kerja AI seperti “modeler terampil bisa membuat mesh seperti ini dalam 5 menit” tidak terlalu berguna. Kebanyakan orang bukan modeler terampil, tidak kenal orang seperti itu, dan tidak punya uang untuk mempekerjakannya.
      Dalam banyak kasus, meski butuh lebih lama daripada pakar dan kualitasnya lebih buruk, jika alternatif realistisnya adalah tidak ada apa-apa, alat seperti ini lebih baik.
    • Bagus. Kalau begitu, bisa perkenalkan modeler yang bekerja on-demand saat dibutuhkan dan menagih per 5 menit?
      Akan sangat bagus kalau aku cukup membayar 1–2 dolar per model dan langsung mendapat aset kustom yang cocok untuk game-ku.
    • Ini bukan cerita untuk modeler terampil. Sama seperti Stable Diffusion bukan hanya untuk pelukis profesional.
      Intinya adalah memberi alat bagi non-profesional, sekaligus membebaskan modeler terampil dari pekerjaan seperti membuat 10 ribu variasi kursi yang dibutuhkan game AAA masa depan agar mereka bisa fokus pada hal yang lebih menarik. Mereka bisa membuat karakter unik, atau model futuristik baru yang tidak ada di data pelatihan dan benar-benar membutuhkan imajinasi serta keahlian.
    • Dengan topologi mesh yang ditampilkan di sini, asetnya kemungkinan akan ditolak di hampir semua pekerjaan profesional. Modeler terampil bisa membuat model yang jauh lebih berkualitas dan lebih cocok untuk texturing serta deformasi dalam 5 menit, dan speed modeler bahkan bisa membuat yang mirip dalam 1 menit.
      Sistem prosedural seperti Blender Geometry Nodes juga sudah bisa menghasilkan variasi tak terbatas dari model semacam ini. Meski begitu, laju kemajuannya memang mengejutkan.
    • Sama seperti developer terampil memakai LLM untuk bootstrap alur kerja, modeler terampil juga sebentar lagi akan memakai alat seperti ini sebagai bagian dari alur kerja sehari-hari. Pengguna ringan juga bisa melakukan hal-hal yang sebelumnya tidak bisa mereka lakukan, tetapi alat ini benar-benar bersinar ketika digunakan oleh pakar di domain pengetahuan tersebut.
      Aku percaya, semakin banyak pengalamanmu pada use case tertentu, semakin besar manfaat yang bisa kamu dapat dari model machine learning.
      Sayangnya, justru orang-orang seperti itulah yang sering paling menolak adopsi tanpa benar-benar berlatih sampai tingkat yang berguna. Mungkin sebagian masalahnya adalah mereka mengharapkannya sebagai tongkat sihir. Padahal sebenarnya ini hanya alat baru seperti PhotoShop, Blender, Microsoft Word, atau PowerPoint.
      Kebanyakan orang membuka aplikasi semacam itu, mengeklik-ngeklik sebentar tanpa tujuan, lalu segera pergi dan tidak pernah kembali. “AI” juga sama.
  • Profesi yang saya pilih, produksi 3D/film, belakangan rasanya seperti berada di parit pertempuran. Menarik sekaligus menakutkan.

    • Ini juga bisa dilihat sebagai scaffolding otomatis. Tool pemodelan umum dan CAD bisa memasukkan fitur semacam ini agar pengguna bisa memulai lebih cepat.
      Keunggulan besar lainnya adalah kemampuannya untuk dikomposisikan. Jika model bisa membuat cangkir dan meja, berarti ia juga tahu cara membuat cangkir di atas meja.
      Bayangkan bisa membuat gear dan komponen mesin yang kompleks sesuai proyek dalam sekejap, lalu menempatkannya persis di posisi dan rotasi yang diinginkan. Ini sangat mirip dengan cara kerja GitHub Copilot.
    • Dalam hal ini, saya tidak melihat LLM sudah jauh lebih maju di animasi 3D dibandingkan pemrograman. Ia bisa mengeluarkan potongan-potongan yang terlihat bagus jika dilihat terpisah, tetapi manusialah yang harus menyusun puzzle-nya. Dan menyusun puzzle itu sering kali berarti menulis ulang atau membuat ulang sebagian besar potongannya.
      Untuk sementara masih aman, tetapi kita harus belajar memanfaatkan teknologi baru ini.
    • Kalau Anda tahu peran bidding producer, Anda juga bisa membayangkan kesulitan yang mereka alami. Di satu sisi, para pembuat film berkata, “Katanya sekarang hal seperti ini juga sudah dibuat AI,” sementara di sisi lain, bidding producer dan klien studio VFX/animasi panik seolah semuanya kembali menjadi hal baru.
    • 3D CGI bahkan tanpa AI pun sudah berkembang dengan kecepatan luar biasa selama 30 tahun terakhir. Tool masa kini sudah berbeda secara kualitatif: sculpting, simulasi, auto-rigging, dan sebagainya.
    • Bagaimana Anda melihat use case teknologi ini di bidang Anda? Saya penasaran apakah kualitasnya terlihat tinggi.
  • Apa inputnya? Apakah ini mengubah kueri teks seperti “chair” menjadi mesh?
    Dari yang terlihat, sepertinya bukan sekadar fitur tambahan, melainkan penyelesaian mesh adalah pola input-output utamanya.

    • Benar, memang agak sulit dipahami.
      Inputnya sendiri tampak berupa mesh 3D. Jadi sepertinya model ini melakukan “penyelesaian bentuk”. Misalnya, ia melihat beberapa kaki saja lalu membuat kursi. Atau jika bentuk inputnya lebih lengkap, mungkin ia membuat “variasi”.
      Meski begitu, ini terlihat seperti titik awal yang bagus. Kualitasnya rendah, tetapi mungkin output dari model lain yang membuat teks-ke-mesh bisa dimasukkan sebagai input, lalu model ini dipakai untuk mendapatkan hasil yang lebih tajam dan konsisten.
    • Seperti memberi prompt berupa bahasa ke LLM khusus bahasa, pada LLM ini kita memberi prompt berupa mesh 3D yang harus diselesaikan.
    • Saya juga penasaran soal itu. Dari diagramnya, inputnya tampak seperti mesh kursi lain, jadi terasa sedikit kurang menarik.
  • Rasanya semua masalah sulit yang tersisa, yang tidak banyak mengalami kemajuan besar sejak 90-an, sedang menunggu giliran untuk diselesaikan dengan transformer dalam satu atau lain cara. Zaman yang benar-benar luar biasa.

  • Terobosan berikutnya adalah UX untuk membuat adegan 3D di VR di depan model seperti ini. Jika ada lingkungan dengan data pelatihan, pada dasarnya kita akan bisa membuat lingkungan 3D yang permanen dan arbitrer.
    Untuk pembuatan tekstur, model difusi bisa dipakai.
    Mark benar, dan ia memang bergerak terlalu dini.

    • Mark?
      Oh, Mark yang itu? haha, paham.
      Bukankah lebih baik memberi kredit ke orang seperti Lecun? Mark all-in ke metaverse jelas bukan karena somehow ia memprediksi deep learning akan meledak. Bahkan orang-orang yang melatih model awal pun tidak yakin seberapa baik hasilnya nanti.
  • Bahkan kalau ini “hanya” autocomplete mesh, bagi artis 3D ini sangat berguna. Saat ini ada keterputusan antara cara kita sculpt karakter dan cara kita menganimasikannya. Biasanya diperlukan tahap retopology yang memakan banyak waktu.
    Retopology berbasis transformer yang menerima mesh kasar dan menghasilkan topologi bersih akan sangat menghemat waktu.
    Aplikasi lainnya adalah memasukkan output Gaussian splatting atau model difusi ke MeshGPT. Dari teks, kita bisa langsung mendapatkan asset yang bisa dipakai dengan topologi bersih.

    • Bukan terutama untuk artis 3D; 99% penggunaannya akan datang dari orang-orang yang seumur hidup belum pernah membuat mesh dengan tangan. Orang-orang yang ingin menggantikan kebutuhan merekrut artis 3D, misalnya programmer yang tidak mau atau tidak mampu membayar desainer, arsitek yang tidak pernah belajar apa pun selain CAD, atau pekerjaan seperti di Fiverr.
      Sepertinya di sini orang belum benar-benar merasakan bahwa arahnya sedikit demi sedikit menuju otomatisasi atas otomatisasi itu sendiri. Dan programmer yang bisa mencari nafkah dari ini hanya akan menjadi sebagian sangat kecil dari orang-orang yang sekarang bisa mencari nafkah.
    • Perlu dipahami bahwa pendekatan seperti ini sangat sensitif terhadap data in-distribution/out-of-distribution. Jika data pengguna langsung dimasukkan begitu saja, kemungkinan besar tidak akan bekerja dengan baik.
    • Maaf, tetapi membuat topologi bersih untuk karakter sepertinya masih akan mustahil untuk waktu yang sangat lama.
  • Saya suka bidang ini. Papernya menyertakan situs web keren, contoh, dan video.
    Ini jauh lebih segar dibandingkan gaya paper yang padat abstrak, pendahuluan, dan berfokus pada hasil.

  • Terlihat benar-benar keren. Sepertinya akan sangat membantu developer game indie membuat pool asset dalam jumlah besar.

    • Karena teknologi seperti ini, menurut saya pengembangan game indie sudah mati.
      Sebagai gantinya, perusahaan besar akan membuat game “buat game milikmu sendiri”.
      Game indie belakangan ini pun sudah terasa cukup derivatif. Dalam jangka menengah, saya rasa perusahaan besar akan memakai teknologi ini dan membunuh game indie.
  • Wah, ini benar-benar makin bagus. Masih ada jalan panjang karena tepian yang aneh, tetapi pada titik ini rasanya bukan lagi masalah algoritmik atau rumit, melainkan penyempurnaan iteratif.
    Pipeline saya akan jauh lebih cepat kalau saya tidak perlu memasukkan semua mesh ke library generasi prosedural yang berisi banyak modifier mesh kecil yang dihubungkan ke driver. Sebagai gantinya, cukup masukkan semua mesh ke folder, latih jaringan, lalu minta hal-hal lain dengan gaya yang sama. Selama tidak ingin mengutak-atiknya lebih kreatif, kita bisa tahu bahwa tidak perlu retopology atau pekerjaan manual lain.
    Tentu saja, sebelum benar-benar mencapai level itu, generasi prosedural masih lebih baik, tetapi saya sangat antusias melihat ini cepat sekali mendekati selesai. Semoga sekitar showcase Unreal tahun depan mereka sudah membicarakan fitur Asset Generator baru.

    • Ada library generasi prosedural yang bisa direkomendasikan?