អ្នកនិពន្ធ: Jun Gao, NVIDIA, University of Toronto, Vector Institute (jung@nvidia.com) Tianchang Shen, NVIDIA, University of Toronto, Vector Institute (frshen@nvidia.com) Zian Wang, NVIDIA, University of Toronto, Vector Institute (zianw@nvidia.com) Wenzheng Chen, NVIDIA, University of Toronto, Vector Institute (wenzchen@nvidia.com) Kangxue Yin, NVIDIA (kangxuey@nvidia.com) Daiqing Li, NVIDIA (daiqingl@nvidia.com) Or Litany, NVIDIA (olitany@nvidia.com) Zan Gojcic, NVIDIA (zgojcic@nvidia.com) Sanja Fidler, NVIDIA, University of Toronto, Vector Institute (sfidler@nvidia.com) សេចក្តីសង្ខេប ដោយសារឧស្សាហកម្មជាច្រើនកំពុងផ្លាស់ប្តូរឆ្ពោះទៅរកការបង្កើតពិភពលោកឌីជីថលដ៏ធំសម្បើម តម្រូវការសម្រាប់ឧបករណ៍បង្កើតមាតិកាដែលអាចកើនឡើងតាមបរិមាណ គុណភាព និងភាពចម្រុះនៃមាតិកា 3D កំពុងតែក្លាយជាហេតុផលមួយ។ នៅក្នុងការងាររបស់យើង យើងមានគោលបំណងបណ្ដុக்குម៉ូដែលបង្កើត 3D ដែលមានគុណភាពខ្ពស់ ដើម្បីបង្កើត meshes ដែលមាន texture ដែលអាចប្រើប្រាស់ដោយផ្ទាល់ដោយ 3D rendering engines ដែលមានន័យថាអាចប្រើបានភ្លាមៗក្នុងកម្មវិធី downstream។ ការងារពីមុនស្តីពីការបង្កើត 3D ជារឿយៗខ្វះព័ត៌មានលម្អិតអំពីធរណីមាត្រ មានការកំណត់លើ topology នៃ mesh ដែលពួកគេអាចផលិតបាន ជាធម្មតាមិនគាំទ្រ textures ឬប្រើ neural renderers ក្នុងដំណើរការបង្កើត ដែលធ្វើឱ្យការប្រើប្រាស់របស់ពួកគេក្នុងកម្មវិធី 3D ធម្មតាក្លាយជាការលំបាក។ នៅក្នុងការងារនេះ យើងបង្ហាញ GET3D ដែលជាម៉ូដែលបង្កើត enerative ដែលបង្កើត meshes xplicit extured ដោយផ្ទាល់ជាមួយនឹង topology ស្មុគស្មាញ ព័ត៌មានលម្អិតអំពីធរណីមាត្រដ៏សម្បូរបែប និង textures ដែលមានគុណភាពខ្ពស់។ យើងភ្ជាប់ជោគជ័យថ្មីៗនេះក្នុងការបង្កើតផ្ទៃ differentiable, ការ render differentiable និង 2D Generative Adversarial Networks ដើម្បីបណ្ដុ ម៉ូដែលរបស់យើងពីការប្រមូលរូបភាព 2D។ GET3D អាចបង្កើត meshes 3D ដែលមាន texture គុណភាពខ្ពស់ ដែលមានចាប់ពីឡាន កៅអី សត្វ កង់ម៉ូតូ និងតួអង្គមនុស្ស រហូតដល់អគារ ដោយសម្រេចបាននូវការក Improvement យ៉ាងសំខាន់លើវិធីសាស្ត្រពីមុន។ ឧប្បករណ៍គម្រោងរបស់យើង: G E T 3D https://nv-tlabs.github.io/GET3D 1 ការណែនាំ មាតិកា 3D ដែលមានគុណភាពខ្ពស់ និងចម្រុះកំពុងតែក្លាយជាកាន់តែសំខាន់សម្រាប់ឧស្សាហកម្មជាច្រើន រួមទាំងការលេងហ្គេម រ៉ូបូត ស្ថាបត្យកម្ម និងវេទិកាសង្គម។ ទោះយ៉ាងណាក៏ដោយ ការបង្កើតទ្រព្យសម្បត្តិ 3D ដោយដៃគឺចំណាយពេលច្រើន ហើយតម្រូវឱ្យមានចំណេះដឹងបច្ចេកទេសជាក់លាក់ ក៏ដូចជាជំនាញបង្កើតសិល្បៈ។ ដូច្នេះ ការប្រកួតប្រជែងដ៏សំខាន់មួយគឺមាត្រដ្ឋាន – ទោះបីជាអ្នកអាចរកឃើញម៉ូដែល 3D នៅលើទីផ្សារ 3D ដូចជា Turbosquid [ ] ឬ Sketchfab [ ] ការបង្កើតម៉ូដែល 3D ជាច្រើនដើម្បីឧទាហរណ៍ បំពេញហ្គេម ឬភាពយន្តជាមួយនឹងហ្វូងតួអង្គដែលមើលទៅខុសគ្នាទាំងអស់ នៅតែចំណាយពេលវេលាដ៏មានសារៈសំខាន់របស់អ្នកសិល្បៈ។ 4 3 ដើម្បីសម្រួលដល់ដំណើរការបង្កើតមាតិកា និងធ្វើឱ្យវាអាចចូលដំណើរការបានសម្រាប់អ្នកប្រើប្រាស់ (ថ្មី) ផ្សេងៗ ម៉ូដែល 3D បង្កើតដែលអាចបង្កើតទ្រព្យសម្បត្តិ 3D គុណភាពខ្ពស់ និងចម្រុះ បានក្លាយជាវិស័យស្រាវជ្រាវសកម្មនាពេលថ្មីៗនេះ [ , , , , , , , , , , ] ។ ទោះជាយ៉ាងណាក៏ដោយ ដើម្បីឱ្យមានប្រយោជន៍ជាក់ស្តែងសម្រាប់កម្មវិធីជាក់ស្តែងក្នុងពិភពលោកនាពេលបច្ចុប្បន្ន ម៉ូដែល 3D បង្កើតគួរតែបំពេញតាមតម្រូវការខាងក្រោម៖ ពួកគេគួរតែមានសមត្ថភាពក្នុងការបង្កើតរូបរាងជាមួយនឹងធរណីមាត្រលម្អិត និង topology តាមអំពើចិត្ត លទ្ធផលគួរតែជា mesh ដែលមាន texture ដែលជាតំណាងបឋមដែលប្រើដោយកញ្ចប់កម្មវិធីក្រាហ្វិកស្តង់ដារដូចជា Blender [ ] និង Maya [ ] និង យើងគួរតែអាចប្រើរូបភាព 2D សម្រាប់ការត្រួតពិនិត្យ ចាប់តាំងពីពួកវាមានច្រើនជាងរូបរាង 3D ពិតប្រាកដ។ 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) ការងារពីមុនលើការបង្កើត 3D បានផ្តោតលើផ្នែករងនៃតម្រូវការខាងលើ ប៉ុន្តែមិនមានវិធីសាស្រ្តណាមួយរហូតមកដល់ពេលនេះដែលបំពេញតាមតម្រូវការទាំងអស់ (តារាង ) ។ ឧទាហរណ៍ វិធីសាស្ត្រដែលបង្កើត point clouds 3D [ , 68, 75] ជាធម្មតាមិនបង្កើត textures ហើយត្រូវតែប្តូរទៅជា mesh ក្នុងដំណើរការក្រោយ។ 1 5 វិធីសាស្រ្តដែលបង្កើត voxels ជាញឹកញាប់ខ្វះព័ត៌មានលម្អិតអំពីធរណីមាត្រ និងមិនបង្កើត texture [ , , , ] ។ ម៉ូដែលបង្កើតដោយផ្អែកលើ neural fields [ , ] ផ្តោតលើការទាញយកធរណីមាត្រ ប៉ុន្តែមិនអើពើនឹង texture ។ ភាគច្រើននៃបញ្ហាទាំងនេះក៏តម្រូវឱ្យមានការត្រួតពិនិត្យ 3D ពិតប្រាកដផងដែរ។ ជាចុងក្រោយ វិធីសាស្រ្តដែលបង្កើត meshes 3D ដែលមាន texture ដោយផ្ទាល់ [ , ] ជាធម្មតា តម្រូវឱ្យមាន template រូបរាងដែលបានកំណត់ជាមុន ហើយមិនអាចបង្កើតរូបរាងដែលមាន topology ស្មុគស្មាញ និង genus ប្រែប្រួលបាន។ 66 20 27 40 43 14 54 53 ថ្មីៗនេះ ការរីកចម្រើនយ៉ាងឆាប់រហ័សនៅក្នុង neural volume rendering [ ] និង 2D Generative Adversarial Networks (GANs) [ , , , , ] បាននាំឱ្យមានការកើនឡើងនៃការសំយោគរូបភាព 3D-aware [ , , , , , ] ។ ទោះជាយ៉ាងណាក៏ដោយ បន្ទាត់ការងារនេះមានគោលបំណងសំយោគរូបភាព multi-view consistent باستخدام neural rendering ក្នុងដំណើរការសំយោគ និងមិនធានាថា អាចបង្កើតរូបរាង 3D ដែលមានអត្ថន័យបានទេ។ ទោះបីជា mesh អាចទទួលបានពីតំណាង neural field ក្រោមការប្រើប្រាស់អាល់ហ្គោរីតមេនឃ្យូប [ ] ការទាញយក texture ដែលត្រូវគ្នាក៏ជាការលំបាកផងដែរ។ 45 34 35 33 29 52 7 57 8 49 51 25 39 នៅក្នុងការងារនេះ យើងបង្ហាញពីវិធីសាស្រ្តថ្មីមួយដែលមានគោលបំណងដោះស្រាយតម្រូវការទាំងអស់នៃម៉ូដែល 3D បង្កើតដែល}$.$មានប្រយោជន៍ជាក់ស្តែង។ ជាក់ស្តែង យើងស្នើ GET3D ដែលជាម៉ូដែលបង្កើត enerative សម្រាប់រូបរាង 3D ដែលបង្កើត meshes xplicit extured ដោយផ្ទាល់ជាមួយនឹងព័ត៌មានលម្អិតអំពីធរណីមាត្រ និង texture គុណភាពខ្ពស់ និង topology តាមអំពើចិត្ត។ នៅចំកណ្តាលនៃវិធីសាស្រ្តរបស់យើងគឺដំណើរការបង្កើតដែលប្រើវិធីសាស្រ្តទាញយកផ្ទៃ differentiable [ ] និងបច្ចេកទេស rendering differentiable [ , ] ។ ទីមួយអនុញ្ញាតឱ្យយើងកែសម្រួលដោយផ្ទាល់ និងបង្កើត meshes 3D ដែលមាន texture ជាមួយនឹង topology តាមអំពើចិត្ត ខណៈពេលដែលទីពីរអនុញ្ញាតឱ្យយើងបណ្ដ ម៉ូដែលរបស់យើងជាមួយនឹងរូបភាព 2D ដោយហេតុនេះ leveraging ម៉ូដែល discriminator ដែលមានឥទ្ធិពល និងចាស់ទុំដែលបានបង្កើតឡើងសម្រាប់ការសំយោគរូបភាព 2D។ ដោយសារម៉ូដែលរបស់យើងបង្កើត meshes ដោយផ្ទាល់ និងប្រើប្រាស់ graphic renderer ដែលមានប្រសិទ្ធភាពខ្ពស់ (differentiable) យើងអាចកើនឡើងទំហំម៉ូដែលរបស់យើងដើម្បីបណ្ដ ជាមួយនឹងរូបភាព G E T 3D explicit 60 47 37 គុណភាពបង្ហាញខ្ពស់ រហូតដល់ 1024 × 1024 ដែលអនុញ្ញាតឱ្យយើងរៀនព័ត៌មានលម្អិតអំពីធរណីមាត្រ និង texture គុណភាពខ្ពស់។ យើងបង្ហាញពីគុណភាពខ្ពស់បំផុតសម្រាប់ការបង្កើតរូបរាង 3D ដោយគ្មានលក្ខខណ្ឌលើប្រភេទជាច្រើនដែលមានធរណីមាត្រស្មុគស្មាញពី ShapeNet [ ], Turbosquid [ ] និង Renderpeople [ ] ដូចជា កៅអី កង់ម៉ូតូ ឡាន តួអង្គមនុស្ស និងអគារ។ ជាមួយនឹង mesh ពិតប្រាកដជាតំណាងលទ្ធផល GET3D ក៏មានភាពបត់បែនខ្លាំងផងដែរ ហើយអាចត្រូវបានកែសម្រួលយ៉ាងងាយស្រួលទៅនឹងកិច្ចការផ្សេងៗ រួមមាន រៀនបង្កើតឥទ្ធិពលពន្លឺដែលបែងចែកសម្ភារៈ និងអាស្រ័យលើទិដ្ឋភាពដោយប្រើ rendering differentiable កម្រិតខ្ពស់ [ ] ដោយគ្មានការត្រួតពិនិត្យ ការបង្កើតរូបរាង 3D ណែនាំដោយអត្ថបទដោយប្រើ CLIP [ ] embedding. 9 4 2 (a) 12 (b) 56 2 ការងារដែលទាក់ទង យើងពិនិត្យឡើងវិញនូវការរីកចម្រើនថ្មីៗនេះនៅក្នុងម៉ូដែល 3D បង្កើតសម្រាប់ធរណីមាត្រ និងរូបរាង ក៏ដូចជាការសំយោគរូបភាព 3D-aware បង្កើត។ ក្នុងប៉ុន្មានឆ្នាំចុងក្រោយនេះ ម៉ូដែល 2D បង្កើតបានសម្រេចគុណភាព photorealistic ក្នុងការសំយោគរូបភាពគុណភាពខ្ពស់ [ , , , , , , ] ។ ការរីកចម្រើននេះក៏បានបំផុសគំនិតដល់ការស្រាវជ្រាវក្នុងការបង្កើតមាតិកា 3D ផងដែរ។ វិធីសាស្រ្តដំបូងមានគោលបំណងពង្រីក 2D CNN generators ទៅ 3D voxel grids [ , , , , ] ប៉ុន្តែការប្រើប្រាស់អង្គចងចាំខ្ពស់ និងភាពស្មុគស្មាញនៃការគណនា convolutions 3D បានរារាំងដំណើរការបង្កើតនៅគុណភាពបង្ហាញខ្ពស់។ ជាជម្រើស ការងារផ្សេងទៀតបានสำรวจ point cloud [ , , , ], implicit [ , ], ឬ octree [ ] representations ។ ទោះជាយ៉ាងណាក៏ដោយ ការងារទាំងនេះផ្តោតជាចម្បងលើការបង្កើតធរណីមាត្រ និងមិនអើពើនឹងរូបរាង។ តំណាងលទ្ធផលរបស់ពួកគេក៏ត្រូវការការប្រ ដំណើរការក្រោយ ដើម្បីធ្វើឱ្យពួកវាត្រូវគ្នាជាមួយនឹងម៉ាស៊ីនក្រាហ្វិកស្តង់ដារផងដែរ។ ម៉ូដែល 3D បង្កើត 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 ស្រដៀងគ្នាទៅនឹងការងាររបស់យើង Textured3DGAN [ , ] និង DIBR [ ] បង្កើត meshes 3D ដែលមាន texture ប៉ុន្តែពួកវាបង្កើតការបង្កើតជា deformation នៃ template mesh ដែលការពារពួកគេពីការបង្កើត topology ស្មុគស្មាញ ឬរូបរាងដែលមាន genus ប្រែប្រួល ដែលវិធីសាស្រ្តរបស់យើងអាចធ្វើបាន។ PolyGen [ ] និង SurfGen [ ] អាចបង្កើត meshes ជាមួយនឹង topology តាមអំពើចិត្ត ប៉ុន្តែមិនសំយោគ textures ។ 54 53 11 48 41 បំផុសគំនិតដោយជោគជ័យនៃ neural volume rendering [ ] និង implicit representations [ , ] ការងារថ្មីៗនេះបានចាប់ផ្តើមដោះស្រាយបញ្ហា 3D-aware image synthesis [ , , , , , , , , , ] ។ ទោះជាយ៉ាងណាក៏ដោយ ម៉ូដែល neural volume rendering មានភាពយឺតយ៉ាវក្នុងការ query ដែលនាំឱ្យមានពេលវេលាបណ្ដ យូរ [ , ] និងបង្កើតរូបភាពដែលមានគុណភាពបង្ហាញមានកំណត់។ GIRAFFE [ ] និង StyleNerf [ ] បង្កើនប្រសិទ្ធភាពបណ្ដ និង rendering ដោយធ្វើការ rendering neural នៅគុណភាពបង្ហាញទាបជាង ហើយបន្ទាប់មក upsample លទ្ធផលដោយ 2D CNN ។ ទោះជាយ៉ាងណាក៏ដោយ ការកើនឡើងប្រសិទ្ធភាព comes at the cost of reduced multi-view consistency ។ ដោយប្រើ discriminator ពីរ EG3D [ ] អាចកាត់បន្ថយបញ្ហានេះដោយផ្នែក។ ទោះជាយ៉ាងណាក៏ដោយ ការទាញយកផ្ទៃដែលមាន texture ពីវិធីសាស្រ្តដែលផ្អែកលើ neural rendering គឺជាកិច្ចការដ៏លំបាក។ ផ្ទុយទៅវិញ GET3D បង្កើត meshes 3D ដែលមាន texture ដោយផ្ទាល់ដែលអាចប្រើបានភ្លាមៗនៅក្នុងម៉ាស៊ីនក្រាហ្វិកស្តង់ដារ។ 3D-Aware Generative Image Synthesis 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 វិធីសាស្រ្ត ឥឡូវនេះយើងបង្ហាញពី GET3D framework របស់យើងសម្រាប់ការសំយោគរូបរាង 3D ដែលមាន texture ។ ដំណើរការបង្កើតរបស់យើងត្រូវបានបែងចែកជាពីរផ្នែក៖ សាខាធរណីមាត្រ ដែលបង្កើត mesh ផ្ទៃតាមអំពើចិត្ត differentiable និងសាខា texture ដែលបង្កើត texture field ដែលអាចត្រូវបាន query នៅចំណុចផ្ទៃដើម្បីបង្កើតពណ៌។ ក្រោយមកទៀត អាចត្រូវបានពង្រីកទៅកាន់លក្ខណៈសម្បត្តិផ្ទៃផ្សេងទៀត ដូចជាឧទាហរណ៍ materials (Sec. ) ។ ក្នុងអំឡុងពេលបណ្ដ rasterizer differentiable ប្រសិទ្ធភាពត្រូវបានប្រើប្រាស់ដើម្បី render mesh ដែលបានទាញយកទៅជារូបភាព 2D គុណភាពបង្ហាញខ្ពស់។ ដំណើរការទាំងមូលគឺ differentiable អនុញ្ញាតឱ្យមានការបណ្ដ adversarial ពីរូបភាព (ជាមួយនឹង masks បង្ហាញពីវត្ថុដែលចាប់អារម្មណ៍) ដោយការ propagate gradients ពីរ 2D discriminator ទៅទាំងពីរ branches generator ។ ម៉ូដែលរបស់យើងត្រូវបានបង្ហាញក្នុងរូបភាព ។ ខាងក្រោមនេះ យើងបង្ហាញជាដំបូង 3D generator របស់យើងក្នុង Sec មុនពេលបន្តទៅ differentiable rendering និង loss functions ក្នុង Sec ។ 4.3.1 2 3.1 3.2 3.1 ម៉ូដែលបង្កើត meshes 3D ដែលមាន texture យើងមានគោលបំណងរៀន 3D generator = ( ) ដើម្បី map sample ពី distribution Gaussian M, E G z ∈ N (0*,* ) ទៅ mesh ជាមួយនឹង texture . z I M E ដោយសារ geometry ដូចគ្នាអាចមាន textures ផ្សេងៗគ្នា ហើយ texture ដូចគ្នាអាចត្រូវបានអនុវត្តទៅ geometries ផ្សេងៗគ្នា យើង sample vectors បញ្ចូលពីរ 1 ∈ R512 និង 2 ∈ R512 ។ Following StyleGAN [ , , ] យើងប្រើ networks mapping non-linear geo និង tex ដើម្បី map 1 និង 2 ទៅ vectors latent អន្តរការ 1 = geo( 1) និង 2 = tex( 2) ដែលត្រូវបានប្រើបន្ថែមទៀតដើម្បីបង្កើត ដែលគ្រប់គ្រងការបង្កើតរូបរាង 3D និង texture រៀងគ្នា។ យើងបង្ហាញជាផ្លូវការ generator សម្រាប់ធរណីមាត្រក្នុង Sec. និង generator texture ក្នុង Sec. ។ z z 34 35 33 f f z z w f z w f z styles 3.1.1 3.1.2 3.1.1 Generator ធរណីមាត្រ យើងរចនា geometry generator របស់យើងដើម្បីរួមបញ្ចូល DMTet [ ] ដែលជា representation ផ្ទៃ differentiable ដែលបានស្នើឡើងថ្មីៗនេះ។ DMTet បង្ហាញ geometry ជា signed distance field (SDF) ដែលបានកំណត់នៅលើ deformable tetrahedral grid [ , ] ដែលពីនោះផ្ទៃអាចត្រូវបានសង្គ្រោះ differentiable តាមរយៈ marching tetrahedra [ ] ។ ការ deform grid ដោយការផ្លាស់ទី vertices របស់វា នាំឱ្យមានការប្រើប្រាស់ resolution របស់វាកាន់តែប្រសើរ។ ដោយការទទួលយក DMTet សម្រាប់ការទាញយកផ្ទៃ យើងអាចបង្កើត explicit meshes ជាមួយនឹង topology និង genus តាមអំពើចិត្ត។ បន្ទាប់មក យើងផ្តល់នូវសេចក្ត summarizing ខ្លីៗនៃ DMTet ហើយយោងទៅកាន់ឯកសារដើមសម្រាប់ការពិពណ៌នាបន្ថែម។ 60 22 24 17 អនុញ្ញាតឱ្យ ( ) តំណាងឱ្យលំហ 3D ទាំងមូលដែលវត្ថុស្ថិតនៅ ដែល គឺជា vertices នៅក្នុង tetrahedral grid ។ និមួយៗ tetrahedron ∈ ត្រូវបានកំណត់ដោយប្រើ vertices បួន { }, ជាមួយនឹង ∈ {1*, . . . , K*}, ដែល គឺជាចំនួនសរុបនៃ tetrahedra, និង ∈ ∈ R3. បន្ថែមពីលើ coordinates 3D របស់វា និមួយៗ vertex មានតម្លៃ SDF ∈ R និង deformation ∆ ∈ R3 របស់ vertex ពី coordinate canonical ដំបូងរបស់វា។ ការតំណាងនេះអនុញ្ញាតឱ្យសង្គ្រោះ explicit mesh តាមរយៈ marching tetrahedra differentiable [ ] ដែលតម្លៃ SDF នៅក្នុងលំហ continuous ត្រូវបានគណនាដោយ barycentric interpolation នៃតម្លៃ របស់ពួកគេនៅលើ vertices ដែលបាន deform ′ = + ∆ . VT , T VT T Tk T v ak , v bk , v ck , v dk k K v ik VT , v ik i v i si v i 60 si v v i v i យើង map 1 ∈ R512 ទៅតម្លៃ SDF និង deformations នៅលើ និមួយៗ vertex តាមរយៈស៊េរីនៃ 3D convolutional និង fully connected layers ដែលមានលក្ខខណ្ឌ។ ជាក់ស្តែង យើងដំបូងប្រើ 3D convolutional layers ដើម្បីបង្កើត volume feature ដែលមានលក្ខខណ្ឌលើ 1 ។ បន្ទាប់មកយើង query feature នៅលើ និមួយៗ vertex ∈ ដោយប្រើ trilinear interpolation ហើយបញ្ជូនវាទៅ MLPs ដែលបង្កើតតម្លៃ SDF និង deformation ∆ ។ ក្នុងករណីដែលតម្រូវឱ្យមានការបង្កើតម៉ូដែលនៅគុណភាពបង្ហាញខ្ពស់ (ឧ. កង់ម៉ូតូដែលមានរចនាសម្ព័ន្ធស្តើងនៅកង់) យើងបន្ថែមទៀតប្រើ volume subdivision following [ ] ។ ស្ថាបត្យកម្មបណ្តាញ w v i w v i VT si v i 60 បន្ទាប់ពីទទួលបាន និង ∆ សម្រាប់ vertices ទាំងអស់ យើងប្រើ marching tetrahedra algorithm differentiable ដើម្បីទាញយក explicit mesh ។ Marching tetrahedra កំណត់ topology ផ្ទៃក្នុង និមួយៗ tetrahedron ដោយផ្អែកលើសញ្ញានៃ ។ ជាក់ស្តែង mesh face ត្រូវបានទាញយកនៅពេល sign( ) /= sign( ), ដែល បង្ហាញពី indices នៃ vertices ក្នុង edge នៃ tetrahedron, ហើយ vertices នៃ face នោះត្រូវបានកំណត់ដោយ linear interpolation ដូចជា mi,j = v 0 i sj−v 0 j si sj−si ។ កត់សម្គាល់ថា ការបញ្ចេញមតិខាងលើ ត្រូវបានវាយតម្លៃតែនៅពេល si 6= sj ប៉ុណ្ណោះ ដូច្នេះវាគឺ differentiable ហើយ gradient ពី mi,j អាចត្រូវបាន back-propagated ទៅក្នុងតម្លៃ SDF si និង deformations ∆vi ។ ជាមួយនឹងការតំណាងនេះ រូបរាងដែលមាន topology តាមអំពើចិត្តអាចត្រូវបានបង្កើតឡើងយ៉ាងងាយស្រួលដោយការទស្សន៍ទាយសញ្ញា ផ្សេងៗគ្នា។ ការទាញយក Mesh Differentiable si v i si si sj i, j m i,j si 3.1.2 Generator Texture ការបង្កើត texture map ដែលត្រូវគ្នាជាមួយនឹង mesh លទ្ធផលដោយផ្ទាល់គឺមិនមែនជាការងាយស្រួលទេ ដោយសាររូបរាងដែលបានបង្កើតអាចមាន genus និង topology តាមអំពើចិត្ត។ ដូច្នេះ យើង parameterize texture ជា texture field [ ] ។ 50 ជាក់ស្តែង យើងបង្កើតម៉ូដែល texture field ជាមួយនឹង function ដែល map ទីតាំង 3D នៃចំណុចផ្ទៃ ∈ R3, ដែលមានលក្ខខណ្ឌលើ 2, ទៅ RGB color ∈ R3 នៅទីតាំងនោះ។ ដោយសារ texture field អាស្រ័យលើធរណីមាត្រ យើងបន្ថែមទៀត condition ការ map នេះលើ geometry latent code 1 ដូច្នេះ = ( *,* 1 ⊕ 2), ដែល ⊕ តំណាងឱ្យ concatenation ។ ft p w c w c ft p w w យើងតំណាងឱ្យ texture field របស់យើងដោយប្រើ tri-plane representation ដែលមានប្រសិទ្ធភាព និង expressivity ក្នុងការបង្កើតរូបរាង 3D [ ] និងបង្កើតរូបភាព 3D-aware [ ] ។ ជាក់ស្តែង យើង following [ , ] និងប្រើ conditional 2D convolutional neural network ដើម្បី map latent code 1 ⊕ 2 ទៅបី axis-aligned orthogonal feature planes ដែលមានទំហំ × × ( × 3), ដែល = 256 តំណាងឱ្យ spatial resolution និង = 32 ចំនួន channels ។ ស្ថាបត្យកម្មបណ្តាញ 55 8 8 35 w w N N C N C ដោយទទួលបាន feature planes, feature vector f t ∈ R 32 នៃចំណុចផ្ទៃ p អាចត្រូវបានសង្គ្រោះជា f t = P e ρ(πe(p)), ដែល πe(p) គឺជា projection នៃចំណុច p ទៅ feature plane e និង ρ(·) តំណាងឱ្យ bilinear interpolation នៃ features ។ បន្ទាប់មក additional fully connected layer ត្រូវបានប្រើដើម្បី map aggregated feature vector f t ទៅ RGB color c ។ កត់សម្គាល់ថា different ពីការងារផ្សេងទៀតលើ 3D-aware image synthesis ដែលក៏ប្រើ neural field representation ដែរ យើងគ្រាន់តែត្រូវការ sample texture field នៅទីតាំងនៃចំណុចផ្ទៃ (ផ្ទុយទៅនឹង samples density តាម ray) ។ នេះកាត់បន្ថយយ៉ាងខ្លាំងនូវភាពស្មុគស្មាញនៃការគណនាសម្រាប់ការ render រូបភាពគុណភាពបង្ហាញខ្ពស់ និងធានាការបង្កើតរូបភាព multi-view consistent ដោយការ construction ។ 3.2 Differentiable Rendering and Training ដើម្បីត្រួតពិនិត្យម៉ូដែលរបស់យើងក្នុងអំឡុងពេលបណ្ដ យើងទទួលបានការបំផុសគំនិតពី Nvdiffrec [ ] ដែលធ្វើការ reconstruction 3D multi-view object ដោយប្រើ differentiable renderer ។ ជាក់ស្តែង យើង render mesh ដែលបានទាញយក និង texture field ទៅជារូបភាព 2D ដោយប្រើ differentiable renderer [ ] និងត្រួតពិនិត្យបណ្តាញរបស់យើងជាមួយនឹង 2D discriminator ដែលព្យាយាមបែងចែករូបភាពពីរូបភាពពិត ឬ render ពីរូបភាពដែលបង្កើតឡើង។ 47 37 យើងសន្មតថា distribution កាមេរ៉ា C ដែលត្រូវបានប្រើដើម្បីទទួលបានរូបភាពក្នុង dataset គឺស្គាល់។ ដើម្បី render រូបរាងដែលបង្កើតឡើង យើង sample កាមេរ៉ា តាមអំពើចិត្តពី C ហើយប្រើ rasterizer differentiable ដែលមានប្រសិទ្ធភាពខ្ពស់ Nvdiffrast [ ] ដើម្បី render mesh 3D ទៅជា silhouette 2D ក៏ដូចជារូបភាពដែល និមួយៗ pixel មានផ្ទុក coordinates នៃ 3D point ពិតប្រាកដនៅលើផ្ទៃ mesh ។ Coordinates ទាំងនេះត្រូវបានប្រើបន្ថែមទៀតដើម្បី query texture field ដើម្បីទទួលបានតម្លៃ RGB ។ ដោយសារយើងដំណើរការដោយផ្ទាល់នៅលើ mesh ដែលបានទាញយក យើងអាច render រូបភាពគុណភាពបង្ហាញខ្ពស់ជាមួយនឹងប្រសិទ្ធភាពខ្ពស់ អនុញ្ញាតឱ្យម៉ូដែលរបស់យើងត្រូវបានបណ្ដ ជាមួយនឹងគុណភាពបង្ហាញរូបភាពខ្ពស់រហូតដល់ 1024×1024 ។ Differentiable Rendering c 37 យើងបណ្ដ ម៉ូដែលរបស់យើងដោយប្រើ adversarial objective ។ យើងទទួលយកស្ថាបត្យកម្ម discriminator ពី StyleGAN [ ] ហើយប្រើ non-saturating GAN objective ដូចគ្នាជាមួយនឹង R1 regularization [ ] ។ យើងរកឃើញដោយពិសោធន៍ថា ការប្រើ discriminators ពីរដាច់ដោយឡែក មួយសម្រាប់រូបភាព RGB និងមួយទៀតសម្រាប់ silhouettes ផ្តល់លទ្ធផលល្អប្រសើរជាង discriminator តែមួយដែលដំណើរការលើទាំងពីរ។ អនុញ្ញាតឱ្យ តំណាងឱ្យ discriminator ដែល អាចជារូបភាព RGB ឬ silhouette ។ បន្ទាប់មក objective adversarial ត្រូវបានកំណត់ដូចខាងក្រោម: Discriminator & Objective 34 42 Dx x ដែល ( ) ត្រូវបានកំណត់ជា ( ) = − log(1 +exp(− )), គឺជា distribution នៃរូបភាពពិត, តំណាងឱ្យ rendering, និង គឺជា hyperparameter ។ ដោយសារ គឺ differentiable gradients អាចត្រូវបាន back-propagated ពីរូបភាព 2D ទៅ 3D generators របស់យើង។ g u g u u px R λ R ដើម្បីលុប faces ផ្ទៃក្នុងដែលអណ្តែតដែលមើលមិនឃើញក្នុងទិដ្ឋភាពណាមួយ យើងបន្ថែមទៀត regularize geometry generator ជាមួយនឹង cross-entropy loss ដែលបានកំណត់រវាងតម្លៃ SDF នៃ vertices Regularization