```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 që mund të shkallëzohen në drejtim të sasisë, cilësisë dhe diversitetit të përmbajtjes 3D po bëhet evidente. Në punën tonë, ne synojmë të trajnojmë modele gjeneruese 3D performantë që sintetizojnë rrjeta me teksturë që mund të konsumohen direkt nga motorët e brendshëm 3D, duke qenë kështu të përdorshme menjëherë në aplikacionet pasuese. 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 e zakonshëm 3D jo trivial. Në këtë punë, ne prezantojmë GET3D, një model enerativ që prodhon direkt rrjeta kstrakt exturë 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 Rrjetat kundërshtare gjeneruese 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ë, motorë 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 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 aseteve 3D është shumë i lodhshëm 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ë populluar, themi, një lojë ose një film me një turmë personazhesh që të gjithë duken 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ë aksesueshme për një sërë përdoruesish (të rinj), rrjetet gjeneruese 3D 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, Produkti 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 shprehëse. 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ë 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ë në post-procesim. 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 neglizhojnë teksturën. Shumica e këtyre gjithashtu kërkojnë mbikëqyrje 3D shprehëse. Së fundi, metodat që prodhojnë direkt 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 Rrjetat kundërshtare gjeneruese 2D (GANs) [ , , , , ] ka çuar në rritjen e sintezës së imazheve 3D-aware [ , , , , , ]. Megjithatë, kjo linjë pune synon të sintetizojë pamje të qëndrueshme me shumë këndvështrime duke përdorur renderim neural 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 i fushës neurale nënligjore 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ë mënyrë specifike, ne propozojmë GET3D, një model enerativ për forma 3D që prodhon direkt rrjeta 3D kstrakt exturë me detaje të larta gjeometrike dhe teksture dhe topologji arbitrare rrjete. Në zemër të qasjes sonë është një proces gjenerues që shfrytëzon një metodë diferencuese sipërfaqësor [ ] dhe një teknikë renderimi diferencues [ , ]. E para na mundëson të optimizojmë dhe prodhojmë direkt 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 direkt 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 E T ekstraktimi 60 47 37 Ne demonstrojmë performancën më të lartë të mundshme për gjenerimin e formës 3D pa kushte në kategori të shumta me gjeometri komplekse nga ShapeNet [ ], Turbosquid [ ] dhe Renderpeople [ ], siç janë karriget, motorët, makinat, personazhet njerëzore dhe ndërtesat. Me rrjetën shprehëse si përfaqësim prodhimi, 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ëndvështrimi duke përdorur renderim diferencues të avancuar [ ], pa mbikëqyrje, sinteza e formës 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-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 inspiruar 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 kërkesa e lartë për memorie dhe kompleksiteti llogaritik i konvolucioneve 3D pengojnë procesin e gjenerimit në rezolucion të lartë. Si alternativë, punime të tjera kanë eksploruar pika [ , , , ], implikite [ , ], ose përfaqësime oktaedri [ ]. Megjithatë, këto punime fokusohen kryesisht në gjenerimin e gjeometrisë dhe neglizhojnë pamjen. Përfaqësimet e tyre të prodhimit gjithashtu duhet të post-procesohen për t'i bërë ato të pajtueshme me motorët standard të grafikës. Modele 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ë rrjeteje shablloni, gjë që i pengon ato të gjenerojnë topologji komplekse ose forma me gjini ndryshuese, 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 E inspiruar nga suksesi i renderimit vëllimor neural [ ] dhe përfaqësimeve implikite [ , ], puna e fundit ka filluar të trajtojë problemin e sintezës së imazheve 3D-aware [ , , , , , , , , , ]. 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 më pas duke zmadhuar rezultatet me një CNN 2D. Megjithatë, fitimi i performancës vjen me koston e një qëndrueshmërie të reduktuar të shumë pamjeve. Duke përdorur një diskriminator dual, EG3D [ ] mund të zbusë 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 direkt rrjeta 3D me teksturë që mund të përdoren lehtësisht në motorë grafikë standardë. Sinteza Gjeneruese e Imazheve 3D-Aware 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 diferencueshëm 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, përdoret një rasterizator efikas diferencues për të renderuar rrjetën e nxjerrë në imazhe 2D me rezolucion të lartë. I gjithë procesi është diferencueshëm, duke lejuar trajnimin kundërshtar nga imazhet (me maska që tregojnë një objekt interesi) duke përhapur gradientët nga diskriminatori 2D në të dy degët gjeneruese. Modeli ynë është ilustruar në Fig. . Më poshtë, ne paraqesim fillimisht gjeneratorin tonë 3D në Seksionin , para se të vazhdojmë me renderimin diferencues dhe funksionet e humbjes në Seksionin . 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ë kampion nga një shpërndarje Gaussianë 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 kampjojmë dy vektorë hyrës të rastit 1 ∈ R512 dhe 2 ∈ R512. Pas StyleGAN [ , , ], ne përdorim rrjeta mapping jo-lineare geo dhe tex për të hartuar 1 dhe 2 në vektorë latentë të ndërmjetëm 1 = geo( 1) dhe 2 = tex( 2) të cilët më pas përdoren për të prodhuar që kontrollojnë gjenerimin e formave 3D dhe teksturës, respektivisht. Ne paraqesim formalisht gjeneratorin për gjeometrinë në Seksionin. dhe gjeneratorin e teksturës në Seksionin. . 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 Gjenerator Gjeometrie 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ë distanëse e nënshkruar (SDF) e përcaktuar në një rrjetë tetraedrike deformuese [ , ], nga e cila sipërfaqja mund të rikuperohet diferencueshëm përmes kulmeve marshuese [ ]. Deformimi i rrjetës duke lëvizur kulmet e saj rezulton në një shfrytëzim më të mirë të rezolucionit të saj. Duke adoptuar DMTet për nxjerrjen e sipërfaqes, ne mund të prodhojmë rrjeta shprehëse me topologji dhe gjini arbitrare. Më poshtë ofrojmë një përmbledhje të shkurtër të DMTet dhe i referojmë lexuesit në artikullin origjinal për detaje të mëtejshme. 60 22 24 17 Le të ( ) të denotojë të gjithë hapësirën 3D ku ndodhet objekti, ku janë kulmet në rrjetën tetraedrike . Çdo tetrahedron ∈ është i përcaktuar duke përdorur katër kulme { }, me ∈ {1*, . . . , K*}, ku është numri total i tetraedrave, dhe ∈ ∈ R3. Përveç koordinatave të tij 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 shprehëse përmes kulmeve marshuese diferencuese [ ], ku vlerat SDF në hapësirën e vazhdueshme llogariten nga një interpolim baricentric i vlerës së tyre mbi 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 kondicionale dhe plotësisht të lidhura. Në mënyrë specifike, ne përdorim së pari shtresa konvolucionale 3D për të gjeneruar një vëllim tipar të kondicionuar në 1. Ne pastaj pyesim tiparin në çdo kulm ∈ duke përdorur interpolim trilinear dhe e ushqejmë atë në MLPs që prodhojnë vlerën SDF dhe deformimin ∆ . Në rastet ku kërkohet modelimi në rezolucion të lartë (p.sh., motorë me struktura të holla në rrota), ne përdorim më tej ndarjen e vëllimit sipas [ ]. Arkitektura e Rrjetës 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ë kulmeve marshuese për të nxjerrë rrjetën shprehëse. Kulmet marshuese përcaktojnë topologjinë e sipërfaqes brenda çdo tetraedri bazuar në shenjat e . Në mënyrë specifike, një faqe rrjete nxirret kur sign( ) /= sign( ), ku tregojnë indekset 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ë diferencueshëm, dhe gradienti nga mi,j mund të bak-propagojë 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 Gjenerator Teksture Gjenerimi i drejtpërdrejtë i një harte teksture të qëndrueshme me rrjetën prodhuese nuk është triviale, pasi forma e gjeneruar mund të ketë gjini dhe topologji arbitrare. Prandaj ne parametrizojmë teksturën si një fushë teksture [ ]. 50 Në mënyrë specifike, ne modelojmë fushën e teksturës me një funksion që hartëzon vendndodhjen 3D të një pike sipërfaqësore ∈ R3, të kondicionuar në 2, në ngjyrën RGB ∈ R3 në atë vendndodhje. Meqenëse fusha e teksturës varet nga gjeometria, ne gjithashtu kondicionojmë këtë mapping në kodin latent të gjeometrisë 1, në mënyrë që = ( *,* 1 ⊕ 2), ku ⊕ shënon bashkimin. ft p w c w c ft p w w Ne përfaqësojmë fushën tonë të teksturës duke përdorur një përfaqësim tri-planesh, i cili është efikas dhe shprehës në rindërtimin e objekteve 3D [ ] dhe gjenerimin e imazheve 3D-aware [ ] . 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 tiparesh ortogonale të orientuara sipas boshteve 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 tipar 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 tipar e dhe ρ(·) tregon interpolimin bilinear të tipareve. Një shtresë plotësisht e lidhur më tej përdoret për të hartuar vektorin tipar të grumbulluar f t në ngjyrën RGB c. Vini re se, ndryshe nga punimet e tjera mbi sintezën e imazheve 3D-aware [8, 25, 7, 57] që përdorin gjithashtu një përfaqësim fushë neurale, ne vetëm duhet të kampjojmë fushën e teksturës në vendndodhjet e pikave sipërfaqësore (në kundërshtim me kampjonet e dendura përgjatë një rrezeje). Kjo zvogëlon në mënyrë dramatike kompleksitetin llogaritar për renderimin e imazheve me rezolucion të lartë dhe garanton gjenerimin e imazheve të qëndrueshme me shumë pamje sipas ndërtimit. 3.2 Renderim Diferencues dhe Trajnim Për të mbikëqyrur modelin tonë gjatë trajnimit, ne marrim frymëzim nga Nvdiffrec [ ] që kry 47