```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) Abstrakt Ndërsa disa industri po lëvizin drejt modelimit të botëve virtuale masive 3D, nevoja për mjete krijuese të përmbajtjes që mund të shkallëzohen për sa i përket sasisë, cilësisë dhe diversitetit të përmbajtjes 3D po bëhet evidente. Në punën tonë, ne synojmë të trajnojmë modele gjeneruese 3D performante që sintetizojnë rrjeta me teksturë, të cilat mund të konsumohen drejtpërdrejt nga motorët e renderimit 3D, duke u bërë kështu të përdorshme menjëherë në aplikimet pasuese. Punimet e mëparshme mbi modelimin gjenerativ 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 e zakonshëm 3D jo të lehtë. Në këtë punë, ne prezantojmë GET3D, një model jenerues që prodhon drejtpërdrejt rrjeta me eksturë kspicite 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, renderimin diferencues si dhe Rrjetet Ggenerate Adversariale 2D për të trajnuar modelin tonë nga koleksionet e imazheve 2D. GET3D është në gjendje të prodhojë 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ë konsiderueshme mbi metodat e mëparshme. Faqja jonë e projektit: G 3D T E https://nv-tlabs.github.io/GET3D 1 Hyrje Përmbajtja 3D e larmishme, 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ë gjeni 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ë të gjithë duken ndryshe, ende kërkon një sasi të konsiderueshme kohe artisti. 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 (novicë), rrjetet gjeneruese 3D që mund të prodhojnë asete 3D me cilësi të lartë dhe të larmishme janë bërë kohët e fundit një fushë aktive kërkimore [ , , , , , , , , , , ]. Megjithatë, për të qenë praktikisht të dobishme për aplikimet aktuale në botën 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 gjeometri të detajuar 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ë të disponueshme se format 3D eksplisite. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) Puna e mëparshme mbi modelimin gjenerativ 3D është fokusuar 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ë pas përpunimit. 1 5 Metodat që gjenerojnë voksele shpesh mungojnë detaje gjeometrike dhe nuk prodhojnë teksturë [ , , , ]. Modelet gjeneruese të bazuara në fusha neurale [ , ] fokusohen në nxjerrjen e gjeometrisë, por injorojnë teksturën. Shumica e këtyre kërkojnë gjithashtu mbikëqyrje 3D eksplisite. Së fundi, metodat që prodhojnë drejtpërdrejt rrjeta 3D me teksturë [ , ] zakonisht kërkojnë shabllone forme të paracaktuara dhe nuk mund të gjenerojnë forma me topologji komplekse dhe gjini variabile. 66 20 27 40 43 14 54 53 Kohët e fundit, përparimi i shpejtë në renderimin vëllimor neural [ ] dhe Rrjetet Ggenerate Adversariale 2D (GANs) [ , , , , ] ka çuar në rritjen e sintezës së imazheve 3D-të vetëdijshme [ , , , , , ]. Megjithatë, kjo linjë pune synon të sintetizojë imazhe konsistente 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 nën-shtresë neural duke përdorur algoritmin e heqjes së kubitëve [ ], nxjerrja e teksturës përkatëse është një sfidë. 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 gjenerativ 3D praktikisht të dobishëm. Në mënyrë specifike, ne propozojmë GET3D, një model jenerues për forma 3D që prodhon drejtpërdrejt rrjeta me eksturë ksplicite me detaje të larta gjeometrike dhe teksture dhe topologji arbitrare rrjete. Në zemër të qasjes sonë është një proces gjenerues që përdor një metodë diferencuese të nxjerrjes së 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. Meqenëse modeli ynë prodhon drejtpërdrejt rrjeta dhe përdor një renderues grafikë (diferencues) tepër 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 T E eksplicite 60 47 37 Ne demonstrojmë performancë më të mirë se metodat ekzistuese 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ë si përfaqësim rezultati, GET3D është gjithashtu shumë fleksibël dhe mund të adaptohet lehtësisht në detyra të tjera, duke përfshirë: mësimin për të gjeneruar materiale të dekompozuara dhe efekte ndriçimi të varura nga këndi i shikimit duke përdorur renderim diferencues të avancuar [ ], pa mbikëqyrje, gjenerimin e formave 3D të udhëhequr nga teksti duke përdorur CLIP [ ] embedding. 9 4 2 (a) 12 (b) 56 2 Punime të Lidhur Ne shqyrtojmë përparimet e fundit në modelet gjeneruese 3D për gjeometri dhe pamje, si dhe sintezën gjeneruese të imazheve 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ërkimet në gjenerimin e përmbajtjes 3D. Qasjet e hershme synuan të zgjerojnë drejtpërdrejt gjeneratorët CNN 2D në rrjeta vokseli 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 pikat [ , , , ], fusha implicite [ , ], ose përfaqësime okteore [ ]. Megjithatë, këto punime fokusohen kryesisht në gjenerimin e gjeometrisë dhe injorojnë pamjen. Përfaqësimet e tyre të rezultateve gjithashtu duhet të përpunohen pas përpunimit për t'i bërë ato të përputhshme me motorët grafikë standardë. Modele Gjeneruese 3D 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Më e ngjashme me punën tonë, Textured3DGAN [ , ] dhe DIBR [ ] gjenerojnë rrjeta 3D me teksturë, por ato formulojnë gjenerimin si një deformim të një rrjeteje shabllon, gjë që i pengon ato të gjenerojnë topologji komplekse ose forma me gjini ndryshuese, gjë që metoda jonë mund ta bëjë. PolyGen [ ] dhe SurfGen [ ] mund të prodhojnë rrjeta me topologji arbitrare, por nuk sintetizojnë tekstura. 54 53 11 48 41 E frymëzuar nga suksesi i renderimit vëllimor neural [ ] dhe përfaqësimeve implicite [ , ], puna e fundit filloi të adresojë problemin e sintezës së imazheve 3D-të vetëdijshme [ , , , , , , , , , ]. Megjithatë, rrjetet e renderimit vëllimor neural janë tipikisht të ngadalta për t'u pyetur, duke çuar në kohëra 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 më pas duke zmadhuar rezultatet me një CNN 2D. Megjithatë, fitimi i performancës vjen me koston e një konsistence të reduktuar me shumë pamje. Duke përdorur një diskriminator dual, EG3D [ ] mund ta zbusë pjesërisht këtë problem. Sidoqoftë, nxjerrja e një sipërfaqeje me teksturë nga metodat që bazohen në renderim neural është një përpjekje jo e lehtë. Në kontrast, GET3D prodhon drejtpërdrejt rrjeta 3D me teksturë që mund të përdoren lehtësisht në motorë grafikë standardë. Sinteza Gjeneruese e Imazheve 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 ne prezantojmë 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 diferencueshmërisht një rrjetë sipërfaqësor me topologji arbitrare, dhe një degë teksture që prodhon një fushë teksture e cila mund të pyetet në pikat sipërfaqësore për të prodhuar ngjyra. Kjo e fundit mund të zgjerohet në pronësi të tjera të sipërfaqes siç janë, për shembull, materialet (Seksioni ). Gjatë trajnimit, një rasterizues diferencues efikas përdoret për të renderuar rrjetën me teksturë të rezultuar në imazhe 2D me rezolucion të lartë. I gjithë procesi është diferencues, duke lejuar trajnimin adversarial nga imazhet (me maska që tregojnë një objekt interesi) duke përhapur gradjentët nga diskriminatori 2D drejt të dy degëve gjeneruese. Modeli ynë është ilustruar në Fig. . Në vijim, 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ë Ne synojmë të mësojmë një gjenerator 3D = ( ) për të hartuar një shembull nga një shpërndarje Gausiane 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 shembuj dy vektorë hyrës të rastësishëm 1 ∈ R512 dhe 2 ∈ R512. Duke ndjekur StyleGAN [ , , ], ne më pas përdorim rrjete mapping jo-lineare geo dhe tex për të hartuar 1 dhe 2 në vektorë latentë ndërmjetës 1 = geo( 1) dhe 2 = tex( 2) të cilët përdoren më tej për të prodhuar *stilet* që kontrollojnë gjenerimin e formave 3D dhe teksturës, respektivisht. 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 3.1.1 3.1.2 3.1.1 Gjeneratori i Gjeometrisë Ne dizajnojmë gjeneratorin tonë të gjeometrisë 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 sinjalizuese (SDF) e përcaktuar në një rrjetë tetraedrike deformuese [ , ], nga e cila sipërfaqja mund të rikuperohet diferencueshmërisht përmes heqjes së tetraedrave [ ]. 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 eksplisite me topologji dhe gjini arbitrare. Më poshtë ofrojmë një përmbledhje të shkurtër të DMTet dhe u referojmë lexuesve artikullit origjinal për detaje të mëtejshme. 60 22 24 17 Le të ( ) tregojë hapësirën e plotë 3D ku objekti shtrihet, ku janë kulmet në rrjetën tetraedrike . Çdo tetraedër ∈ është i përcaktuar duke përdorur katër kulme { }, me ∈ {1*, . . . , K*}, ku është numri total i tetraedrave, dhe ∈ ∈ R3. Përveç koordinatave 3D të tij , ç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 eksplisite përmes heqjes diferencuese të tetraedrave [ ], ku vlerat SDF në hapësirën e vazhdueshme llogariten nga një interpolim baricentrik i vlerës së 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 i v i si v i 60 si v v i v i Ne hartojmë 1 ∈ R512 në vlerat SDF dhe deformimet në çdo kulm përmes një serie konvolucionesh 3D kondicionale dhe shtresash plotësisht të lidhura. Në mënyrë specifike, ne së pari përdorim shtresa konvolucionale 3D për të gjeneruar një vëllim karakteristik të kondicionuar në 1. Më pas pyesim karakteristikat në çdo kulm ∈ duke përdorur interpolim trilinear dhe e ushqejmë atë në MLPs që prodhojnë vlerën SDF dhe deformimin ∆ . Në rastet kur kërkohet modelimi në rezolucion të lartë (p.sh., motoçikletë me struktura të holla në rrota), ne përdorim më tej ndarjen e vëllimit pas [ ]. Arkitektura e Rrjetit 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ë heqjes së tetraedrave për të nxjerrë rrjetën eksplisite. Heqja e tetraedrave përcakton topologjinë e sipërfaqes brenda çdo tetraedri bazuar në shenjat e . Në veçanti, një faqe rrjete nxirret kur shenja( ) /= shenja( ), ku tregon indeksat e kulmeve në brinjën 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 vlerësohet vetëm kur si 6= sj , kështu që është diferencues, dhe gradienti nga mi,j mund të rikthehet 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 Gjeneratori i Teksturës Gjenerimi direkt i një harte teksture konsistente me rrjetën e rezultuar nuk është i lehtë, pasi forma e gjeneruar mund të ketë një gjini dhe topologji arbitrare. Prandaj, ne 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, e kondicionuar në 2, në ngjyrën RGB ∈ R3 në atë vendndodhje. Meqenëse fusha teksture varet nga gjeometria, ne gjithashtu kondicionojmë këtë mapping në kodin latent gjeometrik 1, në mënyrë që = ( *,* 1 ⊕ 2), ku ⊕ tregon bashkimin. 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-plane, 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 kondicionale për të hartuar kodin latent 1 ⊕ 2 në tre plane karakteristike ortogonale të orientuara sipas boshtit me madhësi × × ( × 3), ku = 256 tregon rezolucionin hapësinor dhe = 32 numrin e kanaleve. Arkitektura e Rrjetit 55 8 8 35 w w N N C N C Duke pasur parasysh planet karakteristike, vektori karakteristik f t ∈ R 32 i një pike sipërfaqësore p mund të rikuperohet si f t = P e ρ(πe(p)), ku πe(p) është projeksioni i pikës p në planin karakteristik e dhe ρ(·) tregon interpolimin bilinear të karaktereve. Më pas përdoret një shtresë plotësisht e lidhur shtesë për të hartuar vektori karakteristik i agreguar 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 duhet vetëm të marrim shembuj të fushës teksture në vendndodhjet e pikave sipërfaqësore (në kundërshtim me kampione të dendura përgjatë një rreze). Kjo zvogëlon ndjeshëm kompleksitetin llogaritës për renderimin e imazheve me rezolucion të lartë dhe garanton gjenerimin e imazheve konsistente me shumë pamje nga ndërtimi. 3.2