Autorët: Jun Gao, NVIDIA, Universiteti i Torontos, Instituti Vector (jung@nvidia.com) Tianchang Shen, NVIDIA, Universiteti i Torontos, Instituti Vector (frshen@nvidia.com) Zian Wang, NVIDIA, Universiteti i Torontos, Instituti Vector (zianw@nvidia.com) Wenzheng Chen, NVIDIA, Universiteti i Torontos, Instituti Vector (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, Universiteti i Torontos, Instituti Vector (sfidler@nvidia.com) Abstrakt Ndërsa disa industri po lëvizin drejt modelimit të botëve virtuale masive 3D, nevojat për mjete krijimi 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ëhen evidente. Në punën tonë, ne synojmë të trajnojmë modele gjeneruese 3D performuese që sintetizojnë rrjeta me teksturë që mund të konsumohen direkt nga motorët e rrëzimit 3D, duke qenë kështu të përdorshme menjëherë në aplikacionet e mëtejshme. Punimet e mëparshme mbi modelimin gjenerues 3D ose mungojnë detaje gjeometrike, ose janë të kufizuara në topologjinë e rrjetës që mund të prodhojnë, zakonisht nuk mbështesin teksturat, ose përdorin renderues nervorë në procesin e sintezës, gjë që e bën përdorimin e tyre në softuerë të zakonshëm 3D jo të thjeshtë. Në këtë punë, ne prezantojmë GET3D, një model jenerues që prodhon drejtpërdrejt rrjeta kstra të eksturuara 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, rrëzimin diferencues, 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ë konsiderueshme mbi metodat e mëparshme. Faqja e projektit tonë: G E T 3D 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 pasurive 3D është shumë kohë-kërkues dhe kërkon njohuri teknike specifike, si dhe aftësi modelimi artistik. Një nga sfidat kryesore është kështu shkalla – ndërsa mund të gjesh modele 3D në tregje 3D si Turbosquid [ ] ose Sketchfab [ ], krijimi i shumë modeleve 3D për të populluar, të themi, një lojë ose një film me një turmë personazhesh që duken të gjithë ndryshe, ende kërkon një kohë të konsiderueshme të artistit. 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ë pasuri 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 aplikacionet aktuale 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 paketimet 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. 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ë përpunimin pasues. 1 5 Metodat që gjenerojnë voksë shpesh mungojnë detaje gjeometrike dhe nuk prodhojnë teksturë [ , , , ]. Modelet gjeneruese të bazuara në fusha nervore [ , ] fokusohen në nxjerrjen e gjeometrisë, por shpërfillin teksturën. Shumica e këtyre kërkojnë gjithashtu mbikëqyrje 3D të qartë. Së fundi, metodat që prodhojnë drejtpërdrejt rrjeta 3D me teksturë [ , ] zakonisht kërkojnë shabllone të paracaktuara të formave 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ë rrëzimin nervor vëllimor [ ] dhe Rrjetet kundërshtare gjeneruese 2D (GAN) [ , , , , ] ka çuar në rritjen e sintezës së imazheve 3D-aware [ , , , , , ]. Megjithatë, kjo linjë pune synon të sintetizojë imazhe me shumë pamje të qëndrueshme duke përdorur rrëzim nervor në procesin e sintezës dhe nuk garanton që mund të gjenerohen forma 3D kuptimplota. Ndërsa një rrjetë mund të merret potencialisht nga përfaqësimi nervor vëllimor nënligjor duke përdorur algoritmin e kubit të marshimit [ ], 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ë trajtojë të gjitha kërkesat e një modeli gjenerues 3D praktikisht të dobishëm. Në veçanti, ne propozojmë GET3D, një model jenerues për forma 3D që prodhon drejtpërdrejt rrjeta kstra të eksturuara 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 sipërfaqësore [ ] dhe një teknikë rrëzimi diferencues [ , ]. E para na lejon 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 diskriminuesit e fuqishëm dhe të pjekur të zhvilluar për sintezën e imazheve 2D. Duke qenë se modeli ynë gjeneron drejtpërdrejt rrjeta dhe përdor një renderues grafikë efikase (diferencues), ne mund ta zgjerojmë lehtësisht modelin tonë për t'u trajnuar me rezolucion imazhi deri në 1024 × 1024, duke na lejuar të mësojmë detaje gjeometrike dhe teksture me cilësi të lartë. G E T 3D ekspliçite 60 47 37 Ne demonstrojmë performancën më të mirë në treg për gjenerimin pa kushte të formave 3D në kategori të shumta me gjeometri komplekse nga ShapeNet [ ], Turbosquid [ ] dhe Renderpeople [ ], siç janë karriget, motoçikletat, makinat, personazhet njerëzore dhe ndërtesat. Me rrjetën e qartë si përfaqësim të daljes, GET3D është gjithashtu shumë fleksibël dhe mund të përshtatet 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ëndvështrimi duke përdorur rrëzim diferencues të avancuar [ ], pa mbikëqyrje, gjenerimin e formave 3D të udhëzuara nga teksti duke përdorur embedding CLIP [ ]. 9 4 2 (a) 12 (b) 56 2 Punë e Lidhur Ne shqyrtojmë përparimet e fundit në modelet gjeneruese 3D për gjeometrinë dhe pamjen, si dhe sintezën gjeneruese të imazheve 3D-aware. 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ë zgjeronin drejtpërdrejt gjeneratorët CNN 2D në rrjeta voksë 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 pikash [ , , , ], implicite [ , ], ose oktrree [ ]. Megjithatë, këto punime fokusohen kryesisht në gjenerimin e gjeometrisë dhe shpërfillin pamjen. Përfaqësimet e tyre të daljes gjithashtu duhet të përpunohen pasuesisht 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ë ngjashëm me punën tonë, Textured3DGAN [ , ] dhe DIBR [ ] gjenerojnë rrjeta 3D me teksturë, por ato formulojnë gjenerimin si një deformim të një rrjete shabllon, gjë që i pengon ato të gjenerojnë topologji komplekse ose forma me gjini variabile, 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 rrëzimit vëllimor nervor [ ] dhe përfaqësimeve implicite [ , ], puna e fundit ka filluar të trajtojë problemin e sintezës së imazheve 3D-aware [ , , , , , , , , , ]. Megjithatë, rrjetat e rrëzimit vëllimor nervor 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 rrëzimit duke kryer rrëzim nervor në 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ë zvogëluar të shumë-pamjeve. Duke përdorur një diskriminues dual, EG3D [ ] mund të zbusë pjesërisht këtë problem. Sidoqoftë, nxjerrja e një sipërfaqeje me teksturë nga metodat që bazohen në rrëzim nervor është një përpjekje jo triviale. Në kontrast, GET3D prodhon drejtpërdrejt rrjeta 3D me teksturë që mund të përdoren lehtësisht në motorë grafikë standardë. Sinteza Gjeneruese Imazhesh 3D-Aware 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Metodë Tani prezantojmë kornizën tonë GET3D për sintezën e formave 3D me teksturë. Procesi ynë i gjenerimit është ndarë në dy pjesë: një degë gjeometrie, e cila prodhon diferencueshmërisht një rrjetë sipërfaqësore 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 në pronësi të tjera sipërfaqësore si, për shembull, materiale (Seksioni ). Gjatë trajnimit, një renderues diferencues efikas përdoret për të zmadhuar rrjetën me teksturë të nxjerrë në imazhe 2D me rezolucion të lartë. I gjithë procesi është diferencues, duke lejuar trajnimin kundërshtues nga imazhet (me maska që tregojnë një objekt interesi) duke përhapur gradientët nga diskriminuesi 2D te të dy degët gjeneruese. Modeli ynë është ilustruar në Fig. . Në vijim, ne paraqesim së pari gjeneratorin tonë 3D në Seks. , para se të vazhdojmë me rrëzimin diferencues dhe funksionet e humbjes në Seks. . 4.3.1 2 3.1 3.2 3.1 Modeli Gjenerues i Rrjetave 3D me Teksturë Synojmë të mësojmë një gjenerator 3D = ( ) për të hartuar një kampioni nga një shpërndarje Gaussiane M, E G z ∈ N (0*,* ) në një rrjetë me teksturë . z I M E Duke qenë se e njëjta gjeometri mund të ketë tekstura të ndryshme, dhe e njëjta teksturë mund të aplikohet në gjeometri të ndryshme, ne kampjojmë dy vektori hyrës të rastësishëm 1 ∈ R512 dhe 2 ∈ R512. Duke ndjekur StyleGAN [ , , ], ne pastaj përdorim rrjetat jo-lineare të hartimit gjeo dhe tekst për të hartuar 1 dhe 2 në vektori latentë ndërmjetës 1 = gjeo( 1) dhe 2 = tekst( 2) të cilat përdoren më tej për të prodhuar që kontrollojnë gjenerimin e formave 3D dhe teksturës, përkatësisht. Ne paraqesim 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 Gjeneratori Gjeometrik Ne projektojmë 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) e definuar në një rrjetë tetraedrike deformuese [ , ], nga e cila sipërfaqja mund të rikuperohet diferencueshmërisht përmes marshimit të 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 të qarta me topologji dhe gjini arbitrare. Më poshtë japim një përmbledhje të shkurtër të DMTet dhe u referojmë lexuesve në artikullin origjinal për detaje të mëtejshme. 60 22 24 17 Le të ( ) të përfaqësojë hapësirën e plotë 3D ku ndodhet objekti, ku janë kulmet në rrjetën tetraedrike . Çdo tetraedër ∈ 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ë qartë përmes marshimit diferencues të tetraedrave [ ], ku vlerat SDF në hapësirë të vazhdueshme llogariten nga një interpolim baricenterik 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 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 konvolucionesh 3D kondicionale dhe shtresash plotësisht të lidhura. Në veçanti, ne së pari përdorim shtresa konvolucionale 3D për të gjeneruar një vëllim veçorish të kondicionuar në 1. Më pas pyesim veçorinë në çdo kulm ∈ duke përdorur interpolim trilinear dhe e ushqejmë atë në MLP që prodhojnë vlerën SDF dhe deformimin ∆ . Në rastet kur kërkohet modelim në rezolucion të lartë (p.sh., motoçikleta me struktura të holla në rrota), ne më tej përdorim nënndarjen e vëllimit pas [ ]. Arkitektura e Rrjetit w v i w v i VT si v i 60 Pas marrjes së dhe ∆ për të gjitha kulmet, ne përdorim algoritmin diferencues të marshimit të tetraedrave për të nxjerrë rrjetën e qartë. 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 vlerësohet vetëm kur si 6= sj , kështu që është diferencues, dhe gradiente mund të kalojnë 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 Gjeneratori i Teksturës Gjenerimi i drejtpërdrejtë i një harte teksture të qëndrueshme me rrjetën e daljes nuk është triviale, pasi forma e gjeneruar mund të ketë një gjini dhe topologji arbitrare. Prandaj ne parametrizojmë teksturën si një fushë teksture [ ]. 50 Në veçanti, ne modelojmë fushën teksture me një funksion që hartëzon vendndodhjen 3D të një pike sipërfaqësore ∈ R3, të kondicionuar nga 2, në ngjyrën RGB ∈ R3 në atë vendndodhje. Duke qenë se fusha teksture varet nga gjeometria, ne gjithashtu kondicionojmë këtë hartë nga kodi 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-aware [ ]. Në veçanti, ne ndjekim [ , ] dhe përdorim një rrjetë konvolucional 2D kondicionale për të hartuar kodin latent 1 ⊕ 2 në tre plane veçorish 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 e veçorive, vektori i veçorive f t ∈ R 32 të 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ë planet e veçorive e dhe ρ(·) tregon interpolimin bilinear të veçorive. Më pas përdoret një shtresë shtesë plotësisht e lidhur për të hartuar vektorin e veçorive të grumbulluar f t në ngjyrën RGB c. Vini re se, ndryshe nga punimet e tjera mbi sintezën e imazheve 3D-aware që përdorin gjithashtu një përfaqësim fushë nervore, ne vetëm duhet të kampjojmë fushën teksture në vendndodhjet e pikave sipërfaqësore (në kundërshtim me kampjonime të dendura përgjatë një rrezeje). Kjo zvogëlon ndjeshëm kompleksitetin llogaritës për rrëzimin e imazheve me rezolucion të lartë dhe garanton gjenerimin e imazheve me shumë pamje të qëndrueshme sipas ndërtimit.