Kecerdasan buatan

In-Paint3D: Generasi Gambar Menggunakan Model Difusi Tanpa Kilat

mm

Munculnya model AI generatif dalam telah mempercepat perkembangan AI dengan kemampuan luar biasa dalam generasi bahasa alami, generasi 3D, generasi gambar, dan sintesis suara. Model generatif 3D telah mengubah berbagai industri dan aplikasi, merevolusi lanskap produksi 3D saat ini. Namun, banyak model AI generatif saat ini menghadapi hambatan umum: kabel kompleks dan mesh yang dihasilkan dengan tekstur pencahayaan sering tidak kompatibel dengan pipa rendering tradisional seperti PBR (Physically Based Rendering). Model difusi, yang menghasilkan aset 3D tanpa tekstur pencahayaan, memiliki kemampuan luar biasa untuk menghasilkan aset 3D yang beragam, sehingga meningkatkan kerangka kerja 3D yang ada di berbagai industri seperti pembuatan film, permainan, dan realitas virtual/augmented.

Dalam artikel ini, kita akan membahas Paint3D, sebuah kerangka kerja coarse-to-fine yang mampu menghasilkan peta tekstur UV 2K yang beragam, tinggi resolusi, dan tanpa pencahayaan untuk mesh 3D yang tidak bertekstur, yang dikondisikan pada input visual atau teks. Tantangan utama yang diatasi oleh Paint3D adalah menghasilkan tekstur berkualitas tinggi tanpa menyematkan informasi pencahayaan, sehingga memungkinkan pengguna untuk mengedit atau mengatur ulang pencahayaan dalam pipa rendering modern. Untuk mengatasi masalah ini, kerangka kerja Paint3D menggunakan model difusi 2D yang telah dilatih sebelumnya untuk melakukan fusi tekstur multi-view dan menghasilkan gambar yang terkondisi pada view, awalnya menghasilkan peta tekstur kasar. Namun, karena model 2D tidak dapat sepenuhnya menonaktifkan efek pencahayaan atau merepresentasikan bentuk 3D secara lengkap, peta tekstur mungkin menampilkan artefak pencahayaan dan area yang tidak lengkap.

Dalam artikel ini, kita akan menjelajahi kerangka kerja Paint3D secara mendalam, memeriksa cara kerjanya dan arsitektur, serta membandingkannya dengan kerangka kerja AI generatif yang ada. Jadi, mari kita mulai.

Paint3D : Pengenalan

Model AI generatif dalam telah menunjukkan kemampuan luar biasa dalam generasi bahasa alami, generasi 3D, dan sintesis gambar, dan telah diimplementasikan dalam aplikasi nyata, merevolusi industri generasi 3D. Namun, meskipun kemampuan luar biasa mereka, kerangka kerja AI generatif modern sering menghasilkan mesh dengan kabel kompleks dan tekstur pencahayaan yang tidak kompatibel dengan pipa rendering konvensional, termasuk Physically Based Rendering (PBR). Serupa dengan itu, sintesis tekstur telah berkembang pesat, terutama dengan menggunakan model difusi 2D. Model-model ini efektif menggunakan model difusi depth-to-image yang telah dilatih sebelumnya dan kondisi teks untuk menghasilkan tekstur berkualitas tinggi. Namun, tantangan signifikan masih ada: tekstur yang telah dipraktekan dapat mempengaruhi rendering akhir lingkungan 3D, memperkenalkan kesalahan pencahayaan ketika pencahayaan diatur dalam alur kerja yang umum, seperti yang ditunjukkan dalam gambar berikut.

Seperti yang terlihat, peta tekstur tanpa praktekan pencahayaan bekerja dengan lancar dengan pipa rendering tradisional, menghasilkan hasil yang akurat. Di sisi lain, peta tekstur dengan praktekan pencahayaan termasuk bayangan yang tidak sesuai ketika pencahayaan diatur ulang. Kerangka kerja generasi tekstur yang dilatih pada data 3D menawarkan pendekatan alternatif, menghasilkan tekstur dengan memahami geometri objek 3D tertentu. Meskipun kerangka kerja ini mungkin menghasilkan hasil yang lebih baik, mereka kekurangan kemampuan generalisasi yang diperlukan untuk menerapkan model pada objek 3D di luar data pelatihan.

Model generasi tekstur saat ini menghadapi dua tantangan kritis: mencapai generalisasi yang luas di berbagai objek menggunakan panduan gambar atau prompt yang beragam, dan menghilangkan pencahayaan yang terkait dari hasil pelatihan sebelumnya. Tekstur yang telah dipraktekan dapat mengganggu hasil akhir objek yang dihasilkan dalam mesin rendering. Selain itu, karena model difusi 2D yang telah dilatih sebelumnya hanya menyediakan hasil 2D dalam domain view, mereka kekurangan pemahaman yang lengkap tentang bentuk, sehingga menyebabkan inkonsistensi dalam mempertahankan konsistensi view untuk objek 3D.

Untuk mengatasi tantangan ini, kerangka kerja Paint3D mengembangkan model difusi tekstur dual-tahap yang generalisasi di berbagai model generatif yang telah dilatih sebelumnya dan mempertahankan konsistensi view saat menghasilkan tekstur tanpa pencahayaan.

Paint3D adalah model generasi tekstur dual-tahap, coarse-to-fine yang memanfaatkan kemampuan panduan prompt dan generasi gambar dari model AI generatif yang telah dilatih sebelumnya untuk menghasilkan tekstur pada objek 3D. Pada tahap pertama, Paint3D mengambil sampel gambar multi-view dari model difusi 2D yang telah dilatih sebelumnya secara progresif, memungkinkan generalisasi hasil tekstur berkualitas tinggi dari prompt yang beragam. Model kemudian menghasilkan peta tekstur awal dengan memproyeksikan gambar-gambar ini ke permukaan mesh 3D. Pada tahap kedua, model ini berfokus pada menghasilkan tekstur tanpa pencahayaan dengan menerapkan pendekatan yang digunakan oleh model difusi yang dikhususkan untuk menghilangkan pengaruh pencahayaan dan memperbaiki area yang tidak lengkap. Sepanjang proses ini, kerangka kerja Paint3D secara konsisten menghasilkan peta tekstur UV 2K yang berkualitas tinggi secara semantik, menghilangkan efek pencahayaan intrinsik.

Secara singkat, Paint3D adalah model AI generatif coarse-to-fine yang dirancang untuk menghasilkan peta tekstur UV 2K yang beragam, tanpa pencahayaan, dan tinggi resolusi untuk mesh 3D yang tidak bertekstur. Tujuannya adalah untuk mencapai kinerja yang setara dengan model generatif yang ada dalam menekstur objek 3D dengan input kondisional yang berbeda, termasuk teks dan gambar, menawarkan keuntungan signifikan untuk tugas sintesis dan editing grafis.

Metodologi dan Arsitektur

Kerangka kerja Paint3D menghasilkan dan memperbaiki peta tekstur secara progresif untuk menghasilkan tekstur yang beragam dan berkualitas tinggi untuk model 3D menggunakan input kondisional seperti gambar dan prompt, seperti yang ditunjukkan dalam gambar berikut.

Tahap 1: Generasi Tekstur Kasar Progresif

Pada tahap generasi tekstur kasar awal, Paint3D menggunakan model difusi gambar 2D yang telah dilatih sebelumnya untuk mengambil sampel gambar multi-view, yang kemudian diproyeksikan ke permukaan mesh untuk membuat peta tekstur awal. Tahap ini dimulai dengan menghasilkan peta kedalaman dari berbagai sudut kamera. Model menggunakan kondisi kedalaman untuk mengambil sampel gambar dari model difusi, yang kemudian diproyeksikan ke permukaan mesh 3D. Pendekatan rendering, sampling, dan proyeksi alternatif ini meningkatkan konsistensi peta tekstur dan membantu menghasilkan peta tekstur secara progresif.

Proses ini dimulai dengan area yang terlihat dari mesh 3D, fokus pada menghasilkan tekstur dari sudut kamera pertama dengan merender mesh 3D ke peta kedalaman. Gambar tekstur kemudian diambil berdasarkan penampilan dan kondisi kedalaman dan diproyeksikan ke mesh. Metode ini diulangi untuk sudut pandang berikutnya, menggabungkan tekstur sebelumnya untuk merender tidak hanya gambar kedalaman tetapi juga gambar RGB yang sebagian berwarna dengan masker yang tidak berwarna. Model menggunakan encoder inpainting gambar yang sadar kedalaman untuk mengisi area yang tidak berwarna, menghasilkan peta tekstur kasar yang lengkap dengan memproyeksikan gambar yang diisi ke permukaan mesh 3D.

Untuk adegan atau objek yang lebih kompleks, model menggunakan beberapa sudut pandang. Awalnya, ia mengambil dua peta kedalaman dari sudut pandang simetris dan menggabungkannya menjadi grid kedalaman, yang menggantikan gambar kedalaman tunggal untuk sampling tekstur yang sadar kedalaman multi-view.

Tahap 2: Pemurnian Tekstur di Ruang UV

Meskipun menghasilkan peta tekstur kasar yang logis, tantangan seperti lubang tekstur dari proses rendering dan bayangan pencahayaan dari model difusi gambar 2D muncul. Untuk mengatasi ini, Paint3D melakukan proses difusi di ruang UV berdasarkan peta tekstur kasar, meningkatkan daya tarik visual dan memecahkan masalah.

Namun, memurnikan peta tekstur di ruang UV dapat memperkenalkan diskontinuitas karena fragmentasi tekstur yang kontinu menjadi fragmen individual. Untuk mengatasi ini, Paint3D memurnikan peta tekstur dengan menggunakan informasi kedekatan fragmen tekstur. Di ruang UV, peta posisi merepresentasikan informasi kedekatan 3D dari fragmen tekstur, memperlakukan setiap elemen non-latar belakang sebagai koordinat titik 3D. Model menggunakan encoder posisi tambahan, serupa dengan ControlNet, untuk mengintegrasikan informasi kedekatan ini selama proses difusi.

Model secara bersamaan menggunakan posisi encoder kondisional dan encoder lainnya untuk melakukan tugas pemurnian di ruang UV, menawarkan dua kemampuan: UVHD (UV High Definition) dan UV inpainting. UVHD meningkatkan daya tarik visual dan estetika, menggunakan encoder pemutakhiran gambar dan encoder posisi dengan model difusi. UV inpainting mengisi lubang tekstur, menghindari masalah self-occlusion dari rendering. Tahap pemurnian dimulai dengan UV inpainting, diikuti oleh UVHD untuk menghasilkan peta tekstur yang dipurnikan akhir.

Dengan mengintegrasikan metode pemurnian ini, kerangka kerja Paint3D menghasilkan peta tekstur UV yang lengkap, beragam, tinggi resolusi, dan tanpa pencahayaan, membuatnya menjadi solusi yang kuat untuk menekstur objek 3D.

Paint3D : Eksperimen dan Hasil

Model Paint3D menggunakan model text2image Stable Diffusion untuk membantu tugas generasi tekstur, sedangkan komponen encoder gambar mengelola kondisi gambar. Untuk meningkatkan kontrol atas tugas kondisional seperti inpainting gambar, pengelolaan kedalaman, dan gambar definisi tinggi, kerangka kerja Paint3D menggunakan encoder domain ControlNet. Model ini diimplementasikan pada kerangka PyTorch, dengan rendering dan proyeksi tekstur dieksekusi pada Kaolin.

Perbandingan Tekstur dari Teks

Untuk mengevaluasi kinerja Paint3D, kita mulai dengan menganalisis generasi tekstur ketika dikondisikan dengan prompt teks, membandingkannya dengan kerangka kerja yang ada seperti Text2Tex, TEXTure, dan LatentPaint. Seperti yang ditunjukkan dalam gambar berikut, kerangka kerja Paint3D tidak hanya unggul dalam menghasilkan detail tekstur berkualitas tinggi tetapi juga efektif mensintesis peta tekstur tanpa pencahayaan.

Dengan memanfaatkan kemampuan yang kuat dari Stable Diffusion dan encoder ControlNet, Paint3D menyediakan kualitas tekstur yang superior dan fleksibilitas. Perbandingan ini menyoroti kemampuan Paint3D untuk menghasilkan tekstur yang terperinci, tinggi resolusi, dan tanpa pencahayaan, membuatnya menjadi solusi terdepan untuk tugas peneksturan 3D.

Dalam perbandingan, kerangka kerja Latent-Paint cenderung menghasilkan tekstur yang buram yang menghasilkan efek visual yang suboptimal. Di sisi lain, meskipun kerangka kerja TEXTure menghasilkan tekstur yang jelas, ia kekurangan kehalusan dan menampilkan splicing dan celah yang jelas. Akhirnya, kerangka kerja Text2Tex menghasilkan tekstur yang halus dengan sangat baik, tetapi gagal mereplikasi kinerja untuk menghasilkan tekstur yang halus dengan detail yang rumit. Gambar berikut membandingkan kerangka kerja Paint3D dengan kerangka kerja yang ada secara kuantitatif.

Seperti yang dapat dilihat, kerangka kerja Paint3D outperforms semua model yang ada, dan dengan margin yang signifikan dengan perbaikan sekitar 30% pada baseline FID dan sekitar 40% pada baseline KID. Perbaikan pada skor baseline FID dan KID menunjukkan kemampuan Paint3D untuk menghasilkan tekstur berkualitas tinggi di berbagai objek dan kategori.

Perbandingan Tekstur dari Gambar

Untuk menghasilkan kemampuan generatif Paint3D menggunakan prompt visual, kita menggunakan model TEXTure sebagai baseline. Seperti yang disebutkan sebelumnya, model Paint3D menggunakan encoder gambar yang berasal dari model text2image dari Stable Diffusion. Seperti yang dapat dilihat dalam gambar berikut, kerangka kerja Paint3D mensintesis tekstur yang luar biasa dengan sangat baik, dan masih dapat mempertahankan fidelitas yang tinggi terhadap kondisi gambar.

Di sisi lain, kerangka kerja TEXTure dapat menghasilkan tekstur yang serupa dengan Paint3D, tetapi gagal merepresentasikan detail tekstur dalam kondisi gambar dengan akurat. Selain itu, seperti yang ditunjukkan dalam gambar berikut, kerangka kerja Paint3D menghasilkan skor baseline FID dan KID yang lebih baik dibandingkan dengan kerangka kerja TEXTure, dengan yang pertama menurun dari 40,83 menjadi 26,86, sedangkan yang terakhir menunjukkan penurunan dari 9,76 menjadi 4,94.

Pemikiran Akhir

Dalam artikel ini, kita telah membahas Paint3D, sebuah kerangka kerja coarse-to-fine yang mampu menghasilkan peta tekstur UV 2K yang tanpa pencahayaan, beragam, dan tinggi resolusi untuk mesh 3D yang tidak bertekstur, yang dikondisikan pada input visual atau teks. Sorotan utama dari kerangka kerja Paint3D adalah bahwa ia mampu menghasilkan tekstur tanpa pencahayaan dengan resolusi tinggi 2K yang konsisten secara semantik tanpa dikondisikan pada input gambar atau teks. Berkat pendekatannya yang coarse-to-fine, kerangka kerja Paint3D menghasilkan peta tekstur tanpa pencahayaan, beragam, dan tinggi resolusi, dan memberikan kinerja yang lebih baik daripada kerangka kerja yang ada saat ini.

Seorang insinyur oleh profesi, seorang penulis oleh hati. Kunal adalah seorang penulis teknis dengan cinta yang mendalam & pemahaman tentang AI dan ML, yang didedikasikan untuk menyederhanakan konsep-konsep kompleks dalam bidang ini melalui dokumentasi yang menarik dan informatif.