```html Autori: 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) Kopsavilkums Tā kā vairākas nozares virzās uz milzīgu 3D virtuālo pasauļu modelēšanu, kļūst acīmredzama nepieciešamība pēc satura izveides rīkiem, kas varētu nodrošināt 3D satura daudzuma, kvalitātes un daudzveidības mērogojamību. Savā darbā mēs cenšamies apmācīt veiktspējīgus 3D ģeneratīvus modeļus, kas sintezē teksturētas tīklenes, kuras var tieši izmantot 3D renderēšanas dzinēji, tādējādi tās ir gatavas lietošanai turpmākajos pielietojumos. Iepriekšējie darbi par 3D ģeneratīvo modelēšanu vai nu trūkst ģeometrisko detaļu, vai ir ierobežoti ar tīklenes topoloģiju, ko tie var radīt, parasti neatbalsta tekstūras, vai arī sintēzes procesā izmanto neironu renderētājus, kas padara to izmantošanu kopējās 3D programmatūrās netriviālu. Šajā darbā mēs iepazīstinām ar GET3D, eneratīvu modeli, kas tieši ģenerē kspresīvas eksturētas tīklenes ar sarežģītu topoloģiju, bagātīgām ģeometriskām detaļām un augstas precizitātes tekstūrām. Mēs savienojam nesenos panākumus diferencējamā virsmas modelēšanā, diferencējamā renderēšanā, kā arī 2D ģeneratīvajās Adversariālajās tīklos, lai apmācītu mūsu modeli no 2D attēlu kolekcijām. GET3D spēj ģenerēt augstas kvalitātes 3D teksturētas tīklenes, sākot no automašīnām, krēsliem, dzīvniekiem, motocikliem un cilvēku tēliem līdz ēkām, sasniedzot ievērojamu uzlabojumu salīdzinājumā ar iepriekšējām metodēm. Mūsu projekta lapa: G E T 3D https://nv-tlabs.github.io/GET3D 1 Ievads Dažādām, augstas kvalitātes 3D saturs kļūst arvien svarīgāks vairākām nozarēm, tostarp spēlēm, robotikai, arhitektūrai un sociālajām platformām. Tomēr manuāla 3D līdzekļu izveide ir ļoti laikietilpīga un prasa specifiskas tehniskās zināšanas, kā arī mākslinieciskas modelēšanas prasmes. Viens no galvenajiem izaicinājumiem ir mērogs – lai gan 3D tirgos, piemēram, Turbosquid [ ] vai Sketchfab [ ], var atrast 3D modeļus, daudzu 3D modeļu izveide, lai, teiksim, spēli vai filmu piepildītu ar dažādiem tēliem, joprojām prasa ievērojamu mākslinieku laiku. 4 3 Lai atvieglotu satura izveides procesu un padarītu to pieejamu dažādiem (iesācējiem) lietotājiem, ģeneratīvi 3D tīkli, kas var radīt augstas kvalitātes un daudzveidīgus 3D līdzekļus, nesen ir kļuvuši par aktīvu pētniecības virzienu [ , , , , , , , , , , ]. Tomēr, lai būtu praktiski noderīgi pašreizējiem reālās pasaules pielietojumiem, 3D ģeneratīvajiem modeļiem ideālā gadījumā būtu jāatbilst šādām prasībām: tiem jābūt spējīgiem ģenerēt formas ar detalizētu ģeometriju un patvaļīgu topoloģiju, izvadei jābūt teksturētai tīklenes, kas ir galvenā attēlošanas metode, ko izmanto standarta grafikas programmatūras paketes, piemēram, Blender [ ] un Maya [ ], un mums vajadzētu būt iespējai izmantot 2D attēlus uzraudzībai, jo tie ir plašāk pieejami nekā tiešas 3D formas. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) Iepriekšējie darbi par 3D ģeneratīvo modelēšanu ir vērsti uz iepriekšminēto prasību apakškopām, taču neviena metode līdz šim nav izpildījusi visas tās (Tabula ). Piemēram, metodes, kas ģenerē 3D punktu mākoņus [ , 68, 75], parasti nerada tekstūras, un tās ir jāpārveido par tīkleni pēc apstrādes. 1 5 Metodes, kas ģenerē vokseļus, bieži vien trūkst ģeometrisko detaļu un nerada tekstūru [ , , , ]. Neironu laukos balstīti ģeneratīvie modeļi [ , ] koncentrējas uz ģeometrijas izgūšanu, bet ignorē tekstūru. Lielākā daļa no tām prasa arī tiešu 3D uzraudzību. Visbeidzot, metodes, kas tieši rada teksturētas 3D tīklenes [ , ], parasti prasa iepriekš noteiktas formas veidnes un nevar radīt formas ar sarežģītu topoloģiju un mainīgu dzimumu. 66 20 27 40 43 14 54 53 Nesenais straujais progress neironu tilpuma renderēšanā [ ] un 2D ģeneratīvajās Adversariālajās tīklos (GAN) [ , , , , ] ir novedis pie 3D-apzinīgas attēlu sintēzes [ , , , , , ] pieauguma. Tomēr šis darba virziens cenšas sintezēt daudzskata konsekventus attēlus, izmantojot neironu renderēšanu sintēzes procesā, un negarantē, ka var tikt radītas jēgpilnas 3D formas. Lai gan tīkleni var potenciāli iegūt no pamata neironu lauka attēlojuma, izmantojot maršējošā kuba algoritmu [ ], atbilstošās tekstūras izgūšana ir netriviāls uzdevums. 45 34 35 33 29 52 7 57 8 49 51 25 39 Šajā darbā mēs iepazīstinām ar jaunu pieeju, kas cenšas risināt visas praktiski noderīga 3D ģeneratīvā modeļa prasības. Konkrēti, mēs piedāvājam GET3D, eneratīvu modeli 3D formām, kas tieši rada kspresīvas eksturētas tīklenes ar augstu ģeometrisko un tekstūras detaļu līmeni un patvaļīgu tīklenes topoloģiju. Mūsu pieejas centrā ir ģeneratīvs process, kas izmanto diferencējamu *ekspresīvu* virsmas izguves metodi [ ] un diferencējamu renderēšanas paņēmienu [ , ]. Pirmais ļauj mums tieši optimizēt un radīt teksturētas 3D tīklenes ar patvaļīgu topoloģiju, bet otrais ļauj mums apmācīt mūsu modeli ar 2D attēliem, tādējādi izmantojot spēcīgus un nobriedušus diskriminatorus, kas izstrādāti 2D attēlu sintēzei. Tā kā mūsu modelis tieši rada tīklenes un izmanto ļoti efektīvu (diferencējamu) grafikas renderētāju, mēs varam viegli mērogot mūsu modeli, lai apmācītu ar attēlu G E T 3D 60 47 37 izšķirtspēju līdz 1024 × 1024, ļaujot mums apgūt augstas kvalitātes ģeometriskās un tekstūras detaļas. Mēs demonstrējam vismodernākos rezultātus nenosacītai 3D formas ģenerēšanai vairākās kategorijās ar sarežģītu ģeometriju no ShapeNet [ ], Turbosquid [ ] un Renderpeople [ ], piemēram, krēsliem, motocikliem, automašīnām, cilvēku tēliem un ēkām. GET3D ir arī ļoti elastīgs un to var viegli pielāgot citiem uzdevumiem, tostarp: mācīties ģenerēt sadalītus materiālus un skata atkarīgus apgaismojuma efektus, izmantojot uzlaboto diferencējamo renderēšanu [ ], bez uzraudzības, ar tekstu vadīta 3D formas ģenerēšana, izmantojot CLIP [ ] iegultni. 9 4 2 (a) 12 (b) 56 2 Saistītais darbs Mēs pārskatām jaunākos sasniegumus 3D ģeneratīvajos modeļos ģeometrijai un izskatam, kā arī 3D-apzinīgajai ģeneratīvajai attēlu sintēzei. Pēdējos gados 2D ģeneratīvie modeļi ir sasnieguši fotoreālistisku kvalitāti augstas izšķirtspējas attēlu sintēzē [ , , , , , , ]. Šie panākumi ir iedvesmojuši pētniecību arī 3D satura ģenerēšanā. Agrākās pieejas mērķis bija tieši paplašināt 2D CNN ģeneratorus uz 3D vokseļu režģiem [ , , , , ], taču augstā atmiņas izmantošana un 3D konvolūciju aprēķinu sarežģītība kavē ģenerācijas procesu augstā izšķirtspējā. Kā alternatīva citas darbi ir izpētījuši punktu mākoņu [ , , , ], implicit [ , ], vai oktrēzes [ ] attēlojumus. Tomēr šie darbi galvenokārt koncentrējas uz ģeometrijas ģenerēšanu un ignorē izskatu. Viņu izvades attēlojumi arī ir jāapstrādā pēc tam, lai tie būtu saderīgi ar standarta grafikas dzinējiem. 3D ģeneratīvie modeļi 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Darbam, kas ir līdzīgāks mūsu darbam, Textured3DGAN [ , ] un DIBR [ ] ģenerē teksturētas 3D tīklenes, taču tie formulē ģenerēšanu kā veidnes tīklenes deformāciju, kas neļauj tiem ģenerēt sarežģītu topoloģiju vai formas ar mainīgu dzimumu, ko mūsu metode var darīt. PolyGen [ ] un SurfGen [ ] var radīt tīklenes ar patvaļīgu topoloģiju, bet nerada tekstūras. 54 53 11 48 41 Iedvesmojoties no neironu tilpuma renderēšanas [ ] un implicitajiem attēlojumiem [ , ] panākumiem, nesenais darbs sāka risināt 3D-apzinīgas attēlu sintēzes problēmu [ , , , , , , , , , ]. Tomēr neironu tilpuma renderēšanas tīkli parasti ir lēni vaicājot, tādējādi radot ilgu apmācības laiku [ , ], un rada ierobežotas izšķirtspējas attēlus. GIRAFFE [ ] un StyleNerf [ ] uzlabo apmācības un renderēšanas efektivitāti, veicot neironu renderēšanu zemākā izšķirtspējā un pēc tam palielinot rezultātus ar 2D CNN. Tomēr veiktspējas pieaugums notiek uz rēķina samazinātas daudzskatu konsekvences. Izmantojot divu diskriminatoru, EG3D [ ] var daļēji mazināt šo problēmu. Tomēr teksturētas virsmas izgūšana no metodēm, kas balstītas uz neironu renderēšanu, ir netriviāls uzdevums. Turpretim GET3D tieši rada teksturētas 3D tīklenes, kuras var viegli izmantot standarta grafikas dzinējos. 3D-apzinīga ģeneratīvā attēlu sintēze 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Metodika Tagad mēs prezentējam mūsu GET3D sistēmu teksturētu 3D formu sintēzei. Mūsu ģenerēšanas process ir sadalīts divās daļās: ģeometrijas zars, kas diferencējami rada virsmas tīkli ar patvaļīgu topoloģiju, un tekstūras zars, kas rada tekstūras lauku, kuru var vaicāt virsmas punktos, lai radītu krāsas. Pēdējo var paplašināt ar citām virsmas īpašībām, piemēram, materiāliem (Sec. ). Apmācības laikā tiek izmantots efektīvs diferencējamais rasterizators, lai renderētu radīto teksturēto tīkli 2D augstas izšķirtspējas attēlos. Viss process ir diferencējams, ļaujot Adversariālu apmācību no attēliem (ar maskām, kas norāda interesējošo objektu), izplatot gradientus no 2D diskriminatora uz abiem ģeneratora zariem. Mūsu modelis ir ilustrēts Fig. . Tālāk mēs vispirms iepazīstinām ar mūsu 3D ģeneratoru Sec , pirms pārejam pie diferencējamās renderēšanas un zaudējumu funkcijām Sec . 4.3.1 2 3.1 3.2 3.1 3D teksturētu tīklenes ģeneratīvais modelis Mēs cenšamies apgūt 3D ģeneratoru = ( ), lai kartētu paraugu no Gausa sadalījuma M, E G z ∈ N (0*,* ) uz tīkli ar tekstūru . z I M E Tā kā tā pati ģeometrija var būt dažādas tekstūras, un tā pati tekstūra var tikt piemērota dažādām ģeometrijām, mēs izlases veidā ņemam divus nejaušus ievades vektorus 1 ∈ R512 un 2 ∈ R512. Sekojot StyleGAN [ , , ], mēs pēc tam izmantojam nelineārus kartēšanas tīklus geo un tex, lai kartētu 1 un 2 uz starpposma latentiem vektoriem 1 = geo( 1) un 2 = tex( 2), kas tiek tālāk izmantoti, lai radītu *stilus*, kas kontrolē attiecīgi 3D formu un tekstūras ģenerēšanu. Mēs formāli iepazīstinām ar ģeometrijas ģeneratoru Sec. un tekstūras ģeneratoru Sec. . z z 34 35 33 f f z z w f z w f z 3.1.1 3.1.2 3.1.1 Ģeometrijas ģenerators Mēs izstrādājam mūsu ģeometrijas ģeneratoru, lai iekļautu DMTet [ ], nesen piedāvāto diferencējamo virsmas attēlojumu. DMTet attēlo ģeometriju kā zīmju attāluma lauku (SDF), kas definēts uz deformējamas tetraedru režģa [ , ], no kura virsma var tikt diferencējami atjaunota, izmantojot maršējošos tetraedrus [ ]. Deformējot režģi, pārvietojot tā virsotnes, tiek labāk izmantota tā izšķirtspēja. Pieņemot DMTet virsmas izguvei, mēs varam radīt ekspresīvas tīklenes ar patvaļīgu topoloģiju un dzimumu. Tālāk mēs sniedzam īsu DMTet kopsavilkumu un atsaucamies uz oriģinālo rakstu detalizētākai informācijai. 60 22 24 17 Ļaujiet ( ) apzīmēt visu 3D telpu, kurā atrodas objekts, kur ir virsotnes tetraedru režģī . Katrs tetraedrs ∈ ir definēts, izmantojot četras virsotnes { }, ar ∈ {1*, . . . , K*}, kur ir kopējais tetraedru skaits, un ∈ ∈ R3. Papildus savām 3D koordinātām , katra virsotne satur SDF vērtību ∈ R un deformāciju ∆ ∈ R3 virsotnes no tās sākotnējās kanoniskās koordinātas. Šis attēlojums ļauj atjaunot ekspresīvo tīkli, izmantojot diferencējamo maršējošo tetraedru metodi [ ], kur SDF vērtības nepārtrauktā telpā tiek aprēķinātas, izmantojot to vērtības interpolāciju uz deformētajām virsotnēm ′ = + ∆ . 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 Mēs kartējam 1 ∈ R512 uz SDF vērtībām un deformācijām katrā virsotnē caur virkni nosacītu 3D konvolūciju un pilnībā savienotu slāņu. Konkrēti, mēs vispirms izmantojam 3D konvolūciju slāņus, lai radītu funkciju apjomu, kas ir nosacīts ar 1. Pēc tam mēs vaicājam funkciju katrā virsotnē ∈ , izmantojot trilineāro interpolāciju, un padodam to uz MLPs, kas rada SDF vērtību un deformāciju ∆ . Gadījumos, kad nepieciešama augstas izšķirtspējas modelēšana (piem., motocikli ar plānām detaļām riteņos), mēs tālāk izmantojam tilpuma apakšiedalījumu, sekojot [ ]. Tīkla arhitektūra w v i w v i VT si v i 60 Pēc un ∆ iegūšanas visām virsotnēm mēs izmantojam diferencējamo maršējošo tetraedru algoritmu, lai izgūtu ekspresīvo tīkli. Maršējošie tetraedri nosaka virsmas topoloģiju katra tetraedra iekšienē, pamatojoties uz zīmēm. Konkrēti, tīklenes seja tiek izgūta, ja sign( ) /= sign( ), kur apzīmē virsotņu indeksus tetraedra malā, un tās sejas virsotnes tiek noteiktas ar lineāru interpolāciju kā mi,j = v 0 i sj−v 0 j si sj−si . Ņemiet vērā, ka iepriekš minētā vienādojums tiek novērtēts tikai tad, ja si 6= sj , tādējādi tas ir diferencējams, un gradients no mi,j var tikt atpakaļ izplatīts uz SDF vērtībām si un deformācijām ∆vi . Ar šo attēlojumu formas ar patvaļīgu topoloģiju var viegli radīt, prognozējot dažādas si zīmes. Diferencējamā tīklenes izguve si v i si si sj i, j m i,j 3.1.2 Tekstūras ģenerators Tieši radīt tekstūras karti, kas ir saderīga ar izvades tīkli, nav triviāli, jo radītā forma var būt ar patvaļīgu dzimumu un topoloģiju. Tāpēc mēs parametrizējam tekstūru kā tekstūras lauku [ ]. 50 Konkrēti, mēs modelējam tekstūras lauku ar funkciju , kas kartē 3D virsmas punkta ∈ R3 atrašanās vietu, nosacītu ar 2, uz RGB krāsu ∈ R3 tajā atrašanās vietā. Tā kā tekstūras lauks ir atkarīgs no ģeometrijas, mēs papildus nosacījumu uzliekam šo kartēšanu uz ģeometrijas latentā koda 1, lai = ( *,* 1 ⊕ 2), kur ⊕ apzīmē savienošanu. ft p w c w c ft p w w Mēs attēlojam savu tekstūras lauku, izmantojot tri-plānu attēlojumu, kas ir efektīvs un izteiksmīgs 3D objektu rekonstruēšanā [ ] un 3D-apzinīgu attēlu ģenerēšanā [ ]. Konkrēti, mēs sekojam [ , ] un izmantojam nosacītu 2D konvolucionālo neironu tīklu, lai kartētu latentu kodu 1 ⊕ 2 uz trim ass-savietojamiem ortogonāliem funkciju plāniem ar izmēru × × ( × 3), kur = 256 apzīmē telpisko izšķirtspēju un = 32 kanālu skaitu. Tīkla arhitektūra 55 8 8 35 w w N N C N C Dotajiem funkciju plāniem virsmas punkta f t ∈ R 32 funkciju vektors tiek atgūts kā f t = P e ρ(πe(p)), kur πe(p) ir punkta p projekcija uz funkciju plānu e un ρ(·) apzīmē bilineāro interpolāciju funkcijām. Papildu pilnībā savienots slānis tiek izmantots, lai kartētu agregēto funkciju vektoru f t uz RGB krāsu c. Ņemiet vērā, ka atšķirībā no citiem darbiem par 3D-apzinīgu attēlu sintēzi [8, 25, 7, 57], kas arī izmanto neironu lauka attēlojumu, mums ir nepieciešams tikai vaicāt tekstūras lauku virsmas punktu atrašanās vietās (atšķirībā no blīviem paraugiem pa staru). Tas ievērojami samazina aprēķinu sarežģītību augstas izšķirtspējas attēlu renderēšanai un garantē daudzskatu konsekventu attēlu radīšanu pēc konstrukcijas. 3.2 Diferencējamā renderēšana un apmācība Lai uzraudzītu mūsu modeli apmācības laikā, mēs smeļamies iedvesmu no Nvdiffrec [ ], kas veic daudzskatu 3D objektu rekonstrukciju, izmantojot diferencējamu renderētāju. Konkrēti, mēs renderējam izgūto 3D tīkli un tekstūras lauku 2D attēlos, izmantojot diferencējamu renderētāju [ ], un uzraudzīsim savu tīklu ar 2D diskriminatoru, kas cenšas atšķirt attēlu no reāla objekta vai renderētu no radītā objekta. 47 37 Mēs pieņemam, ka kameras sadalījums C, ko izmantoja datu kopumā esošo attēlu iegūšanai, ir zināms. Lai renderētu radītās formas, mēs nejauši izlases veidā ņemam kameru no C un izmantojam augsti optimizētu diferencējamu rasterizētāju Nvdiffrast [ ], lai renderētu 3D tīkli 2D siluetā, kā arī attēlā, kur katrs pikselis satur atbilstošā 3D Diferencējamā renderēšana c 37 punkta koordinātas uz tīklenes virsmas. Šīs koordinātas tiek tālāk izmantotas, lai vaicātu tekstūras lauku, lai iegūtu RGB vērtības. Tā kā mēs darbojamies tieši ar izgūto tīkli, mēs varam renderēt augstas izšķirtspējas attēlus ar augstu efektivitāti, ļaujot mūsu modelim tikt apmācītam ar attēlu izšķirtspēju līdz 1024×1024. Mēs apmācām savu modeli, izmantojot Adversariālu mērķi. Mēs pieņemam diskriminatora arhitektūru no StyleGAN [ ] un izmantojam to pašu nenomainīgu GAN mērķi ar R1 regularizāciju [ ]. Mēs empīriski konstatējam, ka divu atsevišķu diskriminatoru izmantošana, viens RGB attēliem un otrs siluetiem, dod labākus rezultātus nekā viens diskriminators, kas darbojas ar abiem. Ļaujiet apzīmēt diskriminatoru, kur var būt gan RGB attēls, gan siluets. Adversariālais mērķis tad tiks definēts šādi: Diskriminators un mērķis 34 42 Dx x kur ( ) ir definēts kā ( ) = − log(1 +exp(− )), ir reālo attēlu sadalījums, apzīmē renderēšanu, un ir hiperparametrs. Tā kā ir diferencējams, gradienti var tikt atpakaļ izplatīti no 2D attēliem uz mūsu 3D ģeneratoriem. g u g u u px R λ R Lai noņemtu iekšējas peldošas sejas, kas nav redzamas nevienā no skatiem, mēs papildus regularizējam ģeometrijas ģeneratoru ar krustentropijas zaudējumu, kas definēts starp kaimiņu virsotņu SDF vērtībām [ ]: Regularizācija 47 kur apzīmē bināro krustentropijas zaudējumu un apzīmē sigmoīda funkciju. Summa Eq. ir definēta pār unikālo malu S kopumu tetraedru režģī, kurai sign( ) /= sign( ). H σ 2 e si sj Kopējā zaudējumu funkcija tad tiek definēta kā: kur ir hiperparametrs, kas kontrolē regularizācijas līmeni. µ 4 Eksperimenti Mēs veicam plašus eksperimentus, lai novērtētu mūsu modeli. Mēs vispirms salīdzinām GET3D radīto 3D teksturēto tīklenes kvalitāti ar esošajām metodēm, izmantojot ShapeNet [ ] un Turbosquid [ ] datu kopas. Pēc tam mēs ablatējam mūsu dizaina izvēles Sec. . Visbeidzot, mēs demonstrējam GET3D elastību, pielāgojot to turpmākiem lietojumiem Sec. . Papildu eksperimentālie rezultāti un ieviešanas detaļas ir sniegtas pielikumā. 9 4 4.2 4.3 4.1 Eksperimenti ar sintētiskām datu kopām Lai novērtētu ShapeNet [ ], mēs izmantojam trīs kategorijas ar sarežģītu ģeometriju – , un , kurās ir attiecīgi 7497, 6778 un 337 formas. Mēs nejauši sadalām katru kategoriju apmācības (70%), validācijas (10%) un testēšanas (20%) kopās, un tālāk no testēšanas kopas izņemam formas, kurām ir dublikāti apmācības kopā. Lai renderētu apmācības datus, mēs nejauši izlases veidā ņemam kameras pozīcijas no katras formas augšējās puslodes. Kategorijām un mēs izmantojam 24 nejaušus skatus, savukārt kategorijai mēs izmantojam 100 skatus, jo ir mazāk formu. Tā kā ShapeNet modeļiem ir tikai vienkāršas tekstūras, mēs arī novērtējam GET3D ar datu kopu (442 formas), kas savākta no TurboSquid [ ], kur tekstūras ir detalizētākas, un mēs to sadalām apmācības, validācijas un testēšanas kopās, kā norādīts iepriekš. Visbeidzot, lai demonstrētu GET3D daudzpusību, mēs arī sniedzam kvalitatīvus rezultātus datu kopā, kas savākta no TurboSquid (563 formas), un datu kopā no Renderpeople [ ] (500 formas). Mēs apmācām atsevišķu modeli katrai kategorijai. Datu kopas 9 Car Chair Motorbike Car Chair Motorbike Animal 4 House Human Body 2 Mēs salīdzinām GET3D ar divām darbu grupām: 3D ģeneratīvie modeļi, kas paļaujas uz 3D uzraudzību: PointFlow [ ] un OccNet [ ]. Ņemiet vērā, ka šīs metodes ģenerē tikai ģeometriju bez tekstūras. 3D-apzinīgas attēlu ģenerēšanas metodes: GRAF [ ], PiGAN [ ] un EG3D [ ]. Bāzes metodes 1) 68 43 2) 57 7 8 Lai novērtētu mūsu sintēzes kvalitāti, mēs aplūkojam gan radīto formu ģeometriju, gan tekstūru. Ģeometrijai mēs izmantojam metrikas no [ ] un izmantojam gan Chamfer Distance (CD), gan Light Field Distance [ ] (LFD), lai aprēķinātu Coverage score un Minimum Matching Distance. OccNet [ ], GRAF [ ], PiGAN [ ] un EG3D [ ] gadījumā mēs izmantojam maršējošos kubus, lai izgūtu pamata ģeometriju. PointFlow [ ] gadījumā mēs izmantojam Puasona virsmas rekonstrukciju, lai pārveidotu punktu mākoņu par tīkli, novērtējot LFD. Lai novērtētu tekstūras kvalitāti, mēs izmantojam FID [ ] metrikas, ko parasti izmanto attēlu sintēzes novērtēšanai. Konkrēti, katrai kategorijai mēs renderējam testēšanas formas 2D attēlos un arī renderējam radītās 3D formas no katra modeļa 50k attēlos, izmantojot to pašu kameras sadalījumu. Pēc tam mēs aprēķinām FID uz abām attēlu kopām. Tā kā bāzes metodes no 3D-apzinīgās attēlu sintēzes [ , , ] tieši nerada teksturētas tīklenes, mēs aprēķinām FID rezultātu divos veidos: ( ) mēs izmantojam to neironu tilpuma renderēšanu, lai iegūtu 2D attēlus, ko mēs saucam par FID-Ori, un ( ) mēs izgūstam tīkli no to neironu lauka attēlojuma, izmantojot maršējošos kubus, to renderējam un pēc tam izmantojam katra pikseļa 3D atrašanās vietu, lai vaicātu tīklu, lai iegūtu RGB vērtības. Šo rezultātu, kas ir vairāk apzinīgs par faktisko 3D formu, mēs saucam par FID-3D. Papildu informācija par novērtēšanas metrikām ir pieejama pielikumā . Metrikas 5 10 43 57 7 8 68 28 57 7 8 i ii B.3 Kvantitatīvos rezultātus mēs sniedzam Tabulā , un kvalitatīvus piemērus Fig. un Fig. . Papildu rezultāti ir pieejami papildu video. Salīdzinot ar OccNet [ ], kas apmācības laikā izmanto 3D uzraudzību, GET3D sasniedz labāku veiktspēju gan daudzveidības (COV), gan kvalitātes (MMD) ziņā, un mūsu radītās formas ir ar vairāk ģeometriskām detaļām. Eksperimentālie rezultāti 2 3 4 43 PointFlow [ ] pārspēj GET3D MMD ziņā pēc CD, savukārt GET3D ir labāks MMD ziņā pēc LFG. Mēs hipotētiski pieļaujam, ka tas ir tāpēc, ka PointFlow tieši optimizē punktu atrašanās vietas, kas dod priekšroku CD. GET3D arī labi veicas salīdzinājumā ar 3D-apzinīgām attēlu sintēzes metodēm, mēs sasniedzam ievērojamus uzlabojumus salīdzinājumā ar PiGAN [ ] un GRAF [ ] visās metrikās visās datu kopās. Mūsu radītās formas satur arī vairāk detalizētas ģeometrijas un tekstūras. Salīdzinot ar neseno darbu EG3D [ ]. Mēs sasniedzam salīdzināmu veiktspēju 2D attēlu ģenerēšanā (FID-ori), savukārt mēs ievērojami uzlabojam 3D formas sintēzi FID-3D ziņā, kas demonstrē mūsu modeļa efektivitāti faktiskās 3D ģeometrijas un tekstūras apguvē. 68 7 57 8 Tā kā mēs sintezējam teksturētas tīklenes, mēs varam eksportēt mūsu formas uz Blender [ ]. Mēs parādām renderēšanas rezultātus Fig. un . GET3D spēj radīt formas ar daudzveidīgu un augstas kvalitātes ģeometriju un topoloģiju, ļoti plānām struktūrām (motocikliem), kā arī sarežģītām tekstūrām uz automašīnām, dzīvniekiem un mājām. 1 1 5 GET3D arī nodrošina formu interpolāciju, kas var būt noderīga rediģēšanas nolūkos. Mēs izpētām GET3D latentu telpu Fig. , kur mēs interpolējam latentus kodus, lai radītu katru formu no kreisās uz labo pusi. GET3D spēj uzticami radīt vienmērīgu un jēgpilnu pāreju no vienas formas uz otru. Mēs tālāk izpētām lokālo latentu telpu, nedaudz perturbējot latentus kodus nejaušā virzienā. GET3D rada jaunas un daudzveidīgas formas, pielietojot lokālu rediģēšanu latentajā telpā (Fig. ). Formu interpolācija 6 7 4.2 Ablācijas Mēs ablatējam mūsu modeli divos veidos: ar tilpuma apakšiedalījumu un bez tā, apmācība, izmantojot dažādas attēlu izšķirtspējas. Papildu ablatēšanas ir sniegtas pielikumā . 1) 2) C.3 Kā parādīts Tabulā , tilpuma apakšiedalījums ievērojami uzlabo veiktspēju klasēs ar plānām struktūrām (piem., motocikli), vienlaikus negūstot ieguvumus citās klasēs. Mēs hipotētiski pieļaujam, ka sākotnējā tetraedru izšķirtspēja jau ir pietiekama, lai uztvertu detalizēto ģeometriju uz krēsliem un automašīnām, un tāpēc apakšiedalījums nevar sniegt tālākus uzlabojumus. Tilpuma apakšiedalījuma ablatēšana 2 Dažādu attēlu izšķirtspēju ablatēšana Mēs ablatējam apmācības attēlu izšķirtspējas ietekmi Tabulā . Kā gaidīts, palielināta attēlu izšķirtspēja uzlabo veiktspēju FID un formu kvalitātes ziņā, jo tīkls var redzēt vairāk detaļu, kas bieži nav pieejamas zemas izšķirtspējas attēlos. Tas apstiprina augstākas attēlu izšķirtspējas apmācības nozīmīgumu, kas bieži ir grūti izmantot implicitajām metodēm balstītiem modeļiem. 3 4.3 Lietojumprogrammas 4.3.1 Materiālu ģenerēšana skata atkarīgiem apgaismojuma efektiem GET3D var viegli paplašināt, lai radītu virsmas materiālus, kas ir tieši lietojami modernajos grafikas dzinējos. Konkrēti, mēs sekojam plaši lietotajam Disneja BRDF [ , ] un aprakstām materiālus, pamatojoties uz pamata krāsu (R3), metāliskumu (R) un raupjumu (R) īpašībām. Rezultātā mēs pārveidojam mūsu tekstūras ģeneratoru, lai tas tagad radītu 5 kanālu atstarojamības lauku (nevis tikai RGB). Lai nodrošinātu materiālu diferencējamu renderēšanu, mēs pieņemam efektīvu sfērisko Gausu (SG) balstītu atlikto renderēšanas cauruļvadu [ ]. Konkrēti, mēs rasterizējam atstarojamības lauku G-buferī un nejauši izlases veidā ņemam HDR attēlu no reālās pasaules āra HDR panorāmu kopas Slight = { } , kur ∈ R32×7 tiek iegūts, pielāgojot 32 SG daivas katrai panorāmai. SG renderētājs [ ] pēc tam izmanto kameru , lai renderētu RGB attēlu ar skata atkarīgiem apgaismojuma efektiem, ko mēs padodam diskriminatoram apmācības laikā. Ņemiet vērā, ka GET3D neprasa materiālu uzraudzību apmācības laikā un neuzraudzīti apgūst sadalītu materiālu ģenerēšanu. 6 32 12 LSG K LSG 12 c Kvalitatīvus radīto virsmas materiālu rezultātus mēs sniedzam Fig. . Neskatoties uz to, ka GET3D ir neuzraudzīts, tas atklāj interesantu materiālu sadalījumu, piemēram, logi tiek pareizi prognozēti ar mazāku raupjuma vērtību, lai tie būtu spīdīgāki nekā automašīnas virsbūve, un automašīnas virsbūve tiek atklāta kā dielektriskāka, savukārt logs ir metāliskāks. Radītie materiāli ļauj mums radīt reālistiskus pārmērīgas apgaismošanas rezultātus, kas var ņemt vērā sarežģītus spīdīgus efektus dažādos apgaismojuma apstākļos. 8 4.3.2 Ar tekstu vadīta 3D sintēze Līdzīgi attēlu GAN, GET3D atbalsta arī ar tekstu vadītu 3D satura sintēzi, smalki pielāgojot iepriekš apmācītu modeli ar CLIP [ ] vadību. Ņemiet vērā, ka mūsu gala sintēzes rezultāts ir teksturēta 3D tīklenes. Lai to panāktu, mēs sekojam StyleGAN-NADA [ ] dubultā ģeneratora dizainam, kurā tiek izmantēta apmācāma kopija un sasaldēta kopija no iepriekš apmācītā ģeneratora. Optimizācijas laikā un abi renderē attēlus no 16 nejaušiem kameras skatiem. Dotajam teksta vaicājumam mēs izlases veidā ņemam 500 trokšņu vektoru pārus 1 un 2. Katram paraugam mēs optimizējam parametrus, lai minimizētu virziena CLIP zaudējumus [ ] (avota teksta etiķetes ir “car”, “animal” un “house” attiecīgajām kategorijām), un izvēlamies paraugus ar minimāliem zaudējumiem. Lai paātrinātu šo procesu, mēs vispirms veicam nelielu skaitu optimizācijas soļu 500 paraugiem, pēc tam izvēlamies 50 labākos paraugus ar zemākajiem zaudējumiem un veicam optimizāciju 300 soļiem. Rezultāti un salīdzinājums ar SOTA tekstu virzītu tīklenes stilizācijas metodi, Text2Mesh [ ], ir sniegti Fig. . Ņemiet vērā, ka [ ] prasa 3D tīkli kā ievadi metodei. Mēs nodrošinām mūsu radītās tīklenes no sasaldētā ģeneratora kā ievades tīklenes tam. Tā kā tai nepieciešamas blīvas tīklenes virsotnes, lai sintezētu virsmas detaļas ar virsotņu pārvietojumiem, mēs papildus sadalām ievades tīklenes ar viduspunkta apakšiedalījumu, lai nodrošinātu, ka katrai tīklenes ir vidēji 50k-150k virsotnes. 56 21 Gt Gf Gt Gf z z Gt 21 44 9 44 5 Secinājums Mēs iepazīstinājām ar GET3D, jaunu 3D ģeneratīvu modeli, kas spēj sintezēt augstas kvalitātes 3D teksturētas tīklenes ar patvaļīgu topoloģiju. GET3D tiek apmācīts, izmantojot tikai 2D attēlus kā uzraudzību. Mēs eksperimentāli demonstrējām ievērojamus uzlabojumus 3D formu ģenerēšanā salīdzinājumā ar iepriekšējām vismodernākajām metodēm vairākās kategorijās. Mēs ceram, ka šis darbs mūs tuvinās 3D satura izveides demokratizācijai, izmantojot AI.. Lai gan GET3D veic ievērojamu soli uz priekšu praktiski noderīga 3D teksturētu formu 3D ģeneratīvā modeļa virzienā, tam joprojām ir daži ierobežojumi. Jo īpaši mēs joprojām paļaujamies uz 2D siluetiem, kā arī uz kameras sadalījuma zināšanām apmācības laikā. Tā rezultātā GET3D tika pašlaik novērtēts tikai uz sintētiskiem datiem. Dažu papildu uzlabojums varētu izmantot sasniegumus instanču segmentācijā un kameras pozīcijas novērtēšanā, lai mazinātu šo problēmu un paplašinātu GET3D reālajiem datiem. GET3D tiek arī apmācīts katrai kategorijai; paplašināšana to uz vairākām kategorijām nākotnē varētu palīdzēt mums labāk attēlot starpkategoriju daudzveidību. Ierobežojumi Mēs piedāvājām jaunu 3D ģeneratīvu modeli, kas rada 3D teksturētas tīklenes, kuras var viegli importēt pašreizējos grafikas dzinējos. Mūsu modelis spēj radīt formas ar patvaļīgu topoloģiju, augstas kvalitātes tekstūrām un bagātīgām ģeometriskām detaļām, bruģējot ceļu AI rīka 3D satura izveides demokratizācijai. Tāpat kā visi mašīnmācīšanās modeļi, GET3D ir pakļauts apmācības datos ieviestajām aizspriedumiem. Tāpēc jāievēro piesardzība, strādājot ar jutīgiem lietojumiem, piemēram, 3D cilvēku ķermeņu ģenerēšanā, jo GET3D nav paredzēts šiem lietojumiem. Mēs neiesakām izmantot GET3D, ja privātums vai kļūdaina atpazīšana var radīt potenciālu ļaunprātīgu izmantošanu vai citus kaitīgus lietojumus. Tā vietā mēs mudinām praktiķus rūpīgi pārbaudīt un atbrīvoties no datu kopām pirms mūsu modeļa apmācības, lai attēlotu godīgu un plašu iespējamo ādas toņu, rasu vai dzimumu identitāšu sadalījumu. Plašāka ietekme 6 Finansējuma atklāšana Šis darbs tika finansēts no NVIDIA. Jun Gao, Tianchang Shen, Zian Wang un Wenzheng Chen atzīst papildu ienākumus studentu stipendiju veidā no Toronto Universitātes un Vektoru institūta, kas tieši neatbalsta šo darbu. Atsauces [1] Autodesk Maya, . Piekļuve: 2022-05-19. https://www.autodesk.com/products/maya/overview [2] Renderpeople, . Piekļuve: 2022-05-19. http://https://renderpeople.com/ [3] Sketchfab, . Piekļuve: 2022-05-19. https://sketchfab.com/ [4] Turbosquid by Shutterstock, . Piekļuve: 2022-05-19. https://www.turbosquid.com/ [5] Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas Guibas. Learning representations and generative models for 3d point clouds. In International conference on machine learning