```html Autorët: 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) Abstract Ndërsa disa industri po lëvizin drejt modelimit të botëve virtuale masive 3D, nevoja për mjete krijuese që mund të shkalohen për sa i përket sasisë, cilësisë dhe shumëllojshmërisë së përmbajtjes 3D po bëhet evident. Në punën tonë, ne synojmë të trajnojmë modele gjeneruese 3D performante që sintetizojnë rrjeta me teksturë që mund të konsumohen drejtpërdrejt nga motorët e rrjedhës 3D, duke qenë kështu të përdorshme menjëherë në aplikacionet pasardhëse. Punimet e mëparshme mbi modelimin gjenerues 3D ose mungojnë detaje gjeometrike, janë të kufizuara në topologjinë e rrjetës që mund të prodhojnë, zakonisht nuk mbështesin tekstura, ose përdorin renderues neuralë në procesin e sintezës, gjë që e bën përdorimin e tyre në softuerë të zakonshëm 3D jo triviale. Në këtë punë, ne prezantojmë GET3D, një model enerativ që prodhon drejtpërdrejt rrjeta me dhe kspresive me topologji komplekse, detaje gjeometrike të pasura dhe tekstura me besnikëri të lartë. Ne lidhim suksesin e fundit në modelimin sipërfaqësor diferencues, rrjedhën diferencuese si dhe Rrjetet Kundërshtare Gjeneruese 2D për të trajnuar modelin tonë nga koleksionet e imazheve 2D. GET3D është në gjendje të gjenerojë rrjeta me teksturë 3D me cilësi të lartë, duke filluar nga makina, karrige, kafshë, motoçikleta dhe karaktere njerëzore deri te ndërtesat, duke arritur përmirësime të rëndësishme mbi metodat e mëparshme. Faqja jonë e projektit: G 3D Teksturë E https://nv-tlabs.github.io/GET3D 1 Hyrje Përmbajtja 3D e larmishme dhe me cilësi të lartë po bëhet gjithnjë e më e rëndësishme për disa industri, duke përfshirë lojërat, robotikën, arkitekturën dhe platformat sociale. Megjithatë, krijimi manual i aseteve 3D është shumë kohë-kërkues dhe kërkon njohuri teknike specifike si dhe aftësi modelimi artistik. Një nga sfidat kryesore është pra shkalla – ndërsa mund të gjenden modele 3D në tregjet 3D si Turbosquid [ ] ose Sketchfab [ ], krijimi i shumë modeleve 3D për të, të themi, populluar një lojë ose një film me një turmë personazhesh që duken të gjithë ndryshe, ende merr një sasi të konsiderueshme kohe arti. 4 3 Për të lehtësuar procesin e krijimit të përmbajtjes dhe për ta bërë atë të aksesueshëm për një sërë përdoruesish (të novisëve), rrjetet 3D gjeneruese që mund të prodhojnë asete 3D me cilësi të lartë dhe të larmishme kohët e fundit janë bërë një fushë aktive kërkimore [ , , , , , , , , , , ]. Megjithatë, për të qenë praktikisht të dobishme për aplikacionet aktuale të botës reale, modelet gjeneruese 3D duhet idealisht të plotësojnë kërkesat e mëposhtme: Ato duhet të kenë kapacitetin për të gjeneruar forma me detaje gjeometrike dhe topologji arbitrare, Rezultati duhet të jetë një rrjetë me teksturë, e cila është një përfaqësim primar i përdorur nga paketat standard të softuerëve grafikë si Blender [ ] dhe Maya [ ], dhe Ne duhet të jemi në gjendje të shfrytëzojmë imazhet 2D për mbikëqyrje, pasi ato janë më gjerësisht të disponueshme se format 3D të shprehura. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) Puna e mëparshme mbi modelimin gjenerues 3D është përqendruar në nëngrupe të kërkesave të mësipërme, por asnjë metodë deri më sot nuk i plotëson të gjitha ato (Tabela ). Për shembull, metodat që gjenerojnë pika 3D [ , 68, 75] zakonisht nuk prodhojnë tekstura dhe duhet të konvertohen në një rrjetë në post-procesim. 1 5 Metodat që gjenerojnë voksele shpesh mungojnë detaje gjeometrike dhe nuk prodhojnë teksturë [ , , , ]. Modelet gjeneruese të bazuara në fusha neurale [ , ] përqendrohen në nxjerrjen e gjeometrisë, por injorojnë teksturën. Shumica e këtyre kërkojnë gjithashtu mbikëqyrje të shprehur 3D. Së fundi, metodat që prodhojnë drejtpërdrejt rrjeta 3D me teksturë [ , ] zakonisht kërkojnë modele të paracaktuara të formave dhe nuk mund të gjenerojnë forma me topologji komplekse dhe gjini variable. 66 20 27 40 43 14 54 53 Kohët e fundit, përparimi i shpejtë në renderimin vëllimor neural [ ] dhe Rrjetet Kundërshtare Gjeneruese 2D (GANs) [ , , , , ] ka çuar në rritjen e sintezës së imazheve 3D-të vetëdijshme [ , , , , , ]. Megjithatë, kjo linjë punimesh synon të sintetizojë imazhe të qëndrueshme me shumë pamje duke përdorur renderim neural në procesin e sintezës dhe nuk garanton se mund të gjenerohen forma 3D kuptimplota. Ndërsa një rrjetë mund të merret potencialisht nga përfaqësimi neural i fushës nën-shtresë duke përdorur algoritmin e kubikëve marshues [ ], nxjerrja e teksturës përkatëse është jo triviale. 45 34 35 33 29 52 7 57 8 49 51 25 39 Në këtë punë, ne prezantojmë një qasje të re që synon të adresojë të gjitha kërkesat e një modeli gjenerues 3D praktikisht të dobishëm. Në mënyrë specifike, ne propozojmë GET3D, një model enerativ për forma 3D që prodhon drejtpërdrejt rrjeta me dhe kspresive me detaje gjeometrike dhe teksture të lartë dhe topologji arbitrare të rrjetës. Në zemër të qasjes sonë është një proces gjenerues që përdor një metodë diferencuese për nxjerrjen e sipërfaqes [ ] dhe një teknikë renderimi diferencues [ , ]. E para na mundëson të optimizojmë dhe prodhojmë drejtpërdrejt rrjeta 3D me teksturë me topologji arbitrare, ndërsa e dyta na lejon të trajnojmë modelin tonë me imazhe 2D, duke shfrytëzuar kështu diskriminatorë të fuqishëm dhe të pjekur të zhvilluar për sintezën e imazheve 2D. Ngaqë modeli ynë prodhon drejtpërdrejt rrjeta dhe përdor një renderues grafikë (diferencues) shumë efikas, ne mund ta shkallëzojmë lehtësisht modelin tonë për të trajnuar me rezolucion imazhi deri në 1024 × 1024, duke na lejuar të mësojmë detaje gjeometrike dhe teksture me cilësi të lartë. G 3D Teksturë E ekspliciite 60 47 37 Ne demonstrojmë performancë të klasit të parë për gjenerimin e formave 3D pa kushte në kategori të shumta me gjeometri komplekse nga ShapeNet [ ], Turbosquid [ ] dhe Renderpeople [ ], të tilla si karrige, motoçikleta, makina, karaktere njerëzore dhe ndërtesa. Me rrjetën e shprehur si përfaqësim rezultati, GET3D është gjithashtu shumë fleksibël dhe mund të përshtatet lehtësisht në detyra të tjera, duke përfshirë: mësimi për të gjeneruar materiale të dekompozuara dhe efekte ndriçimi të varura nga këndvështrimi duke përdorur renderim diferencues të avancuar [ ], pa mbikëqyrje, gjenerimi i formave 3D të udhëzuara nga teksti duke përdorur embedding CLIP [ ]. 9 4 2 (a) 12 (b) 56 2 Punime të Lidhur Rishikojmë përparimet e fundit në modelet gjeneruese 3D për gjeometrinë dhe pamjen, si dhe sintezën e imazheve gjeneruese 3D-të vetëdijshme. Në vitet e fundit, modelet gjeneruese 2D kanë arritur cilësi fotorealiste në sintezën e imazheve me rezolucion të lartë [ , , , , , , ]. Ky përparim ka frymëzuar gjithashtu kërkime në gjenerimin e përmbajtjes 3D. Qasjet e hershme synuan të zgjeronin drejtpërdrejt gjeneratorët CNN 2D në rrjeta vokselesh 3D [ , , , , ], por gjurmët e larta të kujtesës dhe kompleksiteti llogaritës i konvolucioneve 3D pengojnë procesin e gjenerimit në rezolucion të lartë. Si alternativë, punime të tjera kanë eksploruar përfaqësime të pikave [ , , , ], impliciite [ , ], ose oktrree [ ]. Megjithatë, këto punime fokusohen kryesisht në gjenerimin e gjeometrisë dhe injorojnë pamjen. Përfaqësimet e tyre të rezultateve gjithashtu duhet të post-procesohen për t'i bërë ato të pajtueshme me motorët grafikë standardë. Modelet Gjeneruese 3D 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Më të ngjashme me punën tonë, Textured3DGAN [ , ] dhe DIBR [ ] gjenerojnë rrjeta 3D me teksturë, por ato formulojnë gjenerimin si një deformim të një modeli të rruazës, gjë që i pengon ato të gjenerojnë topologji komplekse ose forma me gjini variabile, të cilat metoda jonë mund t'i bëjë. PolyGen [ ] dhe SurfGen [ ] mund të prodhojnë rrjeta me topologji arbitrare, por nuk sintetizojnë tekstura. 54 53 11 48 41 Frymëzuar nga suksesi i renderimit vëllimor neural [ ] dhe përfaqësimeve impliciite [ , ], puna e fundit ka filluar të adresojë problemin e sintezës së imazheve 3D-të vetëdijshme [ , , , , , , , , , ]. Megjithatë, rrjetat e renderimit vëllimor neural janë zakonisht të ngadalta për t'u pyetur, duke çuar në kohë të gjata trajnimi [ , ], dhe gjenerojnë imazhe me rezolucion të kufizuar. GIRAFFE [ ] dhe StyleNerf [ ] përmirësojnë efikasitetin e trajnimit dhe renderimit duke kryer renderim neural në një rezolucion më të ulët dhe pastaj duke zmadhuar rezultatet me një CNN 2D. Megjithatë, fitimi i performancës vjen me koston e një qëndrueshmërie të reduktuar me shumë pamje. Duke përdorur një diskriminator dual, EG3D [ ] mund të lehtësojë pjesërisht këtë problem. Megjithatë, nxjerrja e një sipërfaqeje me teksturë nga metodat që bazohen në renderim neural është një sfidë jo triviale. Në kontrast, GET3D prodhon drejtpërdrejt rrjeta 3D me teksturë që mund të përdoren lehtësisht në motorët grafikë standardë. Sinteza e Imazheve Gjeneruese 3D-të vetëdijshme 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Metodë Tani paraqesim kornizën tonë GET3D për sintezën e formave 3D me teksturë. Procesi ynë i gjenerimit është i ndarë në dy pjesë: një degë gjeometrie, e cila prodhon në mënyrë diferencuese një rrjetë sipërfaqeje me topologji arbitrare, dhe një degë teksture që prodhon një fushë teksture që mund të pyetet në pikat sipërfaqësore për të prodhuar ngjyra. Kjo e fundit mund të zgjerohet për veti të tjera sipërfaqësore si p.sh. materiale (Seksioni ). Gjatë trajnimit, një rasterizues efikas diferencues përdoret për të rrjedhur rrjetën e shprehur me teksturë në imazhe me rezolucion të lartë. I gjithë procesi është diferencues, duke lejuar trajnimin kundërshtar nga imazhet (me maska që tregojnë një objekt interesi) duke përhapur gradentët nga diskriminatori 2D te të dy degët gjeneruese. Modeli ynë është ilustruar në Fig. . Më poshtë, ne së pari prezantojmë gjeneratorin tonë 3D në Seks. , para se të vazhdojmë me renderimin diferencues dhe funksionet e humbjes në Seks. . 4.3.1 2 3.1 3.2 3.1 Model Gjenerues i Rrjetave 3D me Teksturë Synojmë të mësojmë një gjenerator 3D = ( ) për të hartuar një mostër nga një shpërndarje Gaussiane M, E G z ∈ N (0*,* ) në një rrjetë me teksturë . z I M E Meqenëse e njëjta gjeometri mund të ketë tekstura të ndryshme, dhe e njëjta teksturë mund të aplikohet në gjeometri të ndryshme, ne marrim dy vektorë hyrës rastësorë 1 ∈ R512 dhe 2 ∈ R512. Duke ndjekur StyleGAN [ , , ], ne pastaj përdorim rrjete mapping jo-lineare geo dhe tex për të hartuar 1 dhe 2 në vektore latente ndërmjetësuese 1 = geo( 1) dhe 2 = tex( 2) të cilat më tej përdoren për të prodhuar që kontrollojnë gjenerimin e formave 3D dhe teksturës, përkatësisht. Ne prezantojmë formalisht gjeneratorin për gjeometrinë në Seks. dhe gjeneratorin e teksturës në Seks. . z z 34 35 33 f f z z w f z w f z stilet 3.1.1 3.1.2 3.1.1 Gjenerues Gjeometrie Ne dizajnojmë gjeneratorin tonë gjeometrik për të përfshirë DMTet [ ], një përfaqësim sipërfaqësor diferencues i propozuar kohët e fundit. DMTet përfaqëson gjeometrinë si një fushë distanca me shenjë (SDF) të përcaktuar në një rrjetë tetraedrale deformuese [ , ], nga e cila sipërfaqja mund të rikuperohet diferencuesisht përmes tetraedrave marshues [ ]. Deformimi i rrjetës duke lëvizur kulmet e saj rezulton në një përdorim më të mirë të rezolucionit të saj. Duke adoptuar DMTet për nxjerrjen e sipërfaqes, ne mund të prodhojmë rrjeta të shprehura me topologji dhe gjini arbitrare. Më poshtë ofrojmë një përmbledhje të shkurtër të DMTet dhe i referohemi lexuesit artikullit origjinal për detaje të mëtejshme. 60 22 24 17 Le të ( ) të përfaqësojë hapësirën e plotë 3D ku objekti shtrihet, ku janë kulmet në rrjetën tetraedrale . Çdo tetrahedron ∈ definohet duke përdorur katër kulme { }, me ∈ {1*, . . . , K*}, ku është numri total i tetraedrave, dhe ∈ ∈ R3. Përveç koordinatave të saj 3D, çdo kulm përmban vlerën SDF ∈ R dhe deformimin ∆ ∈ R3 të kulmit nga koordinata e tij kanonike fillestare. Ky përfaqësim lejon rikuperimin e rrjetës së shprehur përmes marshimit diferencues të tetraedrave [ ], ku vlerat SDF në hapësirën e vazhdueshme llogariten duke interpoluar baricentrikisht vlerën e tyre në kulmet e deformuara ′ = + ∆ . VT , T VT T Tk T v ak , v bk , v ck , v dk k K v ik VT , v ik v i si v i 60 si v v i v i Ne hartojmë 1 ∈ R512 në vlera SDF dhe deformime në çdo kulm përmes një serie shtresash konvolucionale 3D dhe plotësisht të lidhura, të kushtëzuara. Në mënyrë specifike, ne së pari përdorim shtresa konvolucionale 3D për të gjeneruar një vëllim tipar të kushtëzuar nga 1. Pastaj pyesim tiparin në çdo kulm ∈ duke përdorur interpolim trilinear dhe e ushqejmë atë në MLP që nxjerrin vlerën SDF dhe deformimin ∆ . Në rastet ku kërkohet modelim në rezolucion të lartë (p.sh. motoçikleta me struktura të holla në rrota), ne përdorim më tej nënndarjen e vëllimit duke ndjekur [ ]. Arkitektura e Rrjetës w v i w v i VT si v i 60 Pasi të kemi marrë dhe ∆ për të gjitha kulmet, ne përdorim algoritmin diferencues të marshimit të tetraedrave për të nxjerrë rrjetën e shprehur. Marshimi i tetraedrave përcakton topologjinë e sipërfaqes brenda çdo tetraedri bazuar në shenjat e . Në veçanti, një faqe rrjete nxirret kur sign( ) /= sign( ), ku tregojnë indeksat e kulmeve në skajin e tetraedrit, dhe kulmet të asaj faqeje përcaktohen nga një interpolim linear si mi,j = v 0 i sj−v 0 j si sj−si . Vini re se ekuacioni i mësipërm evalohet vetëm kur si 6= sj , duke qenë kështu diferencues, dhe gradenti nga mi,j mund të bartet prapa në vlerat SDF si dhe deformimet ∆vi . Me këtë përfaqësim, format me topologji arbitrare mund të gjenerohen lehtësisht duke parashikuar shenja të ndryshme të si. Nxjerrja Diferencuese e Rrjetës si v i si si sj i, j m i,j 3.1.2 Gjenerues Teksture Gjenerimi i drejtpërdrejtë i një harte teksture të qëndrueshme me rrjetën e rezultateve nuk është triviale, pasi forma e gjeneruar mund të ketë gjini dhe topologji arbitrare. Ne pra parametrizojmë teksturën si një fushë teksture [ ]. 50 Në mënyrë specifike, ne modelojmë fushën teksture me një funksion që hartëzon vendndodhjen 3D të një pike sipërfaqësore ∈ R3, të kushtëzuar nga 2, në ngjyrën RGB ∈ R3 në atë vendndodhje. Duke qenë se fusha teksture varet nga gjeometria, ne gjithashtu kushtëzojmë këtë mapping me kodin latent gjeometrik 1, në mënyrë që = ( *,* 1 ⊕ 2), ku ⊕ denoncon konkatenimin. ft p w c w c ft p w w Ne përfaqësojmë fushën tonë teksture duke përdorur një përfaqësim tri-planësh, i cili është efikas dhe shprehës në rindërtimin e objekteve 3D [ ] dhe gjenerimin e imazheve 3D-të vetëdijshme [ ] . Në mënyrë specifike, ne ndjekim [ , ] dhe përdorim një rrjetë konvolucionale 2D të kushtëzuar për të hartuar kodin latent 1 ⊕ 2 në tre plane tipar ortogonale, të drejtuara nga boshti, me madhësi × × ( × 3), ku = 256 tregon rezolucionin hapësinor dhe = 32 numrin e kanaleve. Arkitektura e Rrjetës 55 8 8 35 w w N N C N C Duke pasur parasysh planet e tipareve, vektori i tiparit f t ∈ R 32 i një pike sipërfaqësore p merret si f t = P e ρ(πe(p)), ku πe(p) është projeksioni i pikës p në planin e tiparit e dhe ρ(·) denoncon interpolimin bilinear të tipareve. Më pas përdoret një shtresë shtesë plotësisht e lidhur për të hartuar vektorin e tiparit të grumbulluar f t në ngjyrën RGB c. Vini re se, ndryshe nga punimet e tjera mbi sintezën e imazheve 3D-të vetëdijshme [8, 25, 7, 57] që përdorin gjithashtu një përfaqësim fushë neurale, ne vetëm duhet të marrim mostra nga fusha teksture në vendndodhjet e pikave sipërfaqësore (në kundërshtim me mostra të dendura përgjatë një rrezeje). Kjo redukton ndjeshëm kompleksitetin llogaritës për rrjedhjen e imazheve me rezolucion të lartë dhe garanton gjenerimin e imazheve të qëndrueshme me shumë pamje nga ndërtimi.