- 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
- Materi terkait
- Pekerjaan terkait yang juga disebutkan
- PolyGen: An Autoregressive Generative Model of 3D Meshes: menghasilkan mesh dengan transformer untuk pembuatan titik dan transformer untuk pembuatan face yang memanfaatkan pointer network
- BSP-Net: jaringan yang menghasilkan compact mesh dengan binary space partitioning
- AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation: merepresentasikan 3D shape sebagai kumpulan parametric surface element
- Mesh Diffusion: menggunakan 3D diffusion model untuk menghasilkan 3D mesh yang diparameterkan dengan deformable marching tetrahedra
1 komentar
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.
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.
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.
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.
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.
Akan sangat bagus kalau aku cukup membayar 1–2 dolar per model dan langsung mendapat aset kustom yang cocok untuk game-ku.
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.
Sistem prosedural seperti Blender Geometry Nodes juga sudah bisa menghasilkan variasi tak terbatas dari model semacam ini. Meski begitu, laju kemajuannya memang mengejutkan.
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.
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.
Untuk sementara masih aman, tetapi kita harus belajar memanfaatkan teknologi baru ini.
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.
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.
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.
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.
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.
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.
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.