```html Outeurs: Jun Gao, NVIDIA, Universiteit van Toronto, Vector Instituut (jung@nvidia.com) Tianchang Shen, NVIDIA, Universiteit van Toronto, Vector Instituut (frshen@nvidia.com) Zian Wang, NVIDIA, Universiteit van Toronto, Vector Instituut (zianw@nvidia.com) Wenzheng Chen, NVIDIA, Universiteit van Toronto, Vector Instituut (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, Universiteit van Toronto, Vector Instituut (sfidler@nvidia.com) Abstract Aangesien verskeie nywerhede beweeg na die modellering van massiewe 3D virtuele wêrelde, word die behoefte aan inhoudskeppingsinstrumente wat kan skaal in terme van die hoeveelheid, kwaliteit en diversiteit van 3D-inhoud duidelik. In ons werk beoog ons om prestasievermoënde 3D-generatiewe modelle te oefen wat getekstureerde maaswerk sintetiseer wat direk deur 3D-renderenjins verbruik kan word, en sodoende onmiddellik bruikbaar is in afwaartse toepassings. Vorige werke oor 3D-generatiewe modellering het óf gebrek aan geometriese besonderhede, is beperk in die maas topologie wat hulle kan produseer, tipies nie teksture ondersteun nie, óf neurale renderers in die sinteseproses gebruik, wat hul gebruik in algemene 3D-sagteware nie-triviaal maak. In hierdie werk stel ons GET3D bekend, 'n eneratiewe model wat direk ksplisiete ekstuur maaswerk met komplekse topologie, ryk geometriese besonderhede en hoë-getrouheid teksture genereer. Ons oorbrug onlangse sukses in differensieerbare oppervlakmodellering, differensieerbare rendering sowel as 2D Generative Adversarial Networks om ons model van 2D-beeldversamelings te oefen. GET3D is in staat om hoë-gehalte 3D getekstureerde maaswerk te genereer, wat wissel van motors, stoele, diere, motorfietse en menslike karakters tot geboue, wat beduidende verbeterings oor vorige metodes behaal. Ons projekbladsy: G E T 3D https://nv-tlabs.github.io/GET3D 1 Inleiding Diverse, hoë-gehalte 3D-inhoud word al hoe belangriker vir verskeie nywerhede, insluitend speletjies, robotika, argitektuur en sosiale platforms. Die handmatige skep van 3D-bates is egter baie tydrowend en vereis spesifieke tegniese kennis asook artistieke modelleringsvaardighede. Een van die hoofuitdagings is dus skaal – terwyl mens 3D-modelle op 3D-markplekke soos Turbosquid [ ] of Sketchfab [ ] kan vind, neem dit steeds 'n aansienlike hoeveelheid kunstenaarsure om baie 3D-modelle te skep om, sê, 'n speletjie of 'n fliek te vul met 'n skare karakters wat almal anders lyk. 4 3 Om die inhoudskeppingsproses te vergemaklik en dit toeganklik te maak vir 'n verskeidenheid (noviese) gebruikers, het 3D-generatiewe netwerke wat hoë-gehalte en diverse 3D-bates kan produseer onlangs 'n aktiewe navorsingsgebied geword [ , , , , , , , , , , ]. Om prakties bruikbaar te wees vir huidige wêreldwye toepassings, moet 3D-generatiewe modelle egter ideaal gesproke aan die volgende vereistes voldoen: Hulle moet die vermoë hê om vorms met gedetailleerde geometrie en arbitrêre topologie te genereer, Die uitset moet 'n getekstureerde maaswerk wees, wat 'n primêre voorstelling is wat deur standaard grafiese sagtewarepakkette soos Blender [ ] en Maya [ ] gebruik word, en Ons moet 2D-beelde vir toesig kan benut, aangesien dit meer wyd beskikbaar is as eksplisiete 3D-vorms. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) Vorige werk oor 3D-generatiewe modellering het gefokus op subset van bogenoemde vereistes, maar geen metode tot op hede voldoen aan almal daarvan nie (Tabel ). Metodes wat 3D-puntwolke genereer [ , 68, 75] genereer byvoorbeeld tipies nie teksture nie en moet in post-prosessering na 'n maaswerk omskep word. 1 5 Metodes wat voksel genereer, kort dikwels geometriese besonderhede en genereer nie tekstuur nie [ , , , ]. Generatiewe modelle gebaseer op neurale velde [ , ] fokus op die onttrekking van geometrie maar ignoreer tekstuur. Die meeste van hierdie benodig ook eksplisiete 3D-toesig. Laastens, metodes wat direk getekstureerde 3D-maaswerk uitvoer [ , ] benodig tipies vooraf-gedefinieerde vormsjablone en kan nie vorms met komplekse topologie en variërende genus genereer nie. 66 20 27 40 43 14 54 53 Onlangs het vinnige vordering in neurale volume rendering [ ] en 2D Generative Adversarial Networks (GANs) [ , , , , ] gelei tot die opkoms van 3D-bewuste beeld sintese [ , , , , , ]. Hierdie lyn van werk beoog egter om multi-aansig konsekwente beelde te sintetiseer met behulp van neurale rendering in die sinteseproses en waarborg nie dat betekenisvolle 3D-vorms gegenereer kan word nie. Alhoewel 'n maaswerk moontlik uit die onderliggende neurale veldvoorstelling verkry kan word met behulp van die marching cube algoritme [ ], is die onttrekking van die ooreenstemmende tekstuur nie-triviaal. 45 34 35 33 29 52 7 57 8 49 51 25 39 In hierdie werk stel ons 'n nuwe benadering bekend wat daarop gemik is om al die vereistes van 'n prakties nuttige 3D-generatiewe model aan te spreek. Spesifiek stel ons GET3D voor, 'n eneratiewe model vir 3D-vorms wat direk ksplisiete ekstuur maaswerk met hoë geometriese en tekstuur detail en arbitrêre maas topologie uitvoer. In die hart van ons benadering is 'n generatiewe proses wat 'n differensieerbare oppervlakonttrekkingsmetode [ ] en 'n differensieerbare renderingtegniek [ , ] benut. Die eersgenoemde stel ons in staat om direk getekstureerde 3D-maaswerk met arbitrêre topologie te optimaliseer en uit te voer, terwyl laasgenoemde ons in staat stel om ons model met 2D-beelde te oefen, en sodoende kragtige en volwasse diskriminators te benut wat vir 2D-beeld sintese ontwikkel is. Aangesien ons model direk maaswerk genereer en 'n hoogs doeltreffende (differensieerbare) grafiese renderer gebruik, kan ons ons model maklik opskaal om met beeld te oefen G E T 3D eksplisiete 60 47 37 resolusie so hoog as 1024 × 1024, wat ons in staat stel om hoë-gehalte geometriese en tekstuur besonderhede te leer. Ons demonstreer die nuutste prestasie vir onvoorwaardelike 3D-vormgenerering op veelvuldige kategorieë met komplekse geometrie van ShapeNet [ ], Turbosquid [ ] en Renderpeople [ ], soos motors, stoele, motorfietse, menslike karakters en geboue. Met eksplisiete maaswerk as uitvoer voorstelling, is GET3D ook baie buigsaam en kan maklik aangepas word vir ander take, insluitend: leer om ontbinde materiaal en aansig-afhanklike beligtingseffekte te genereer met behulp van gevorderde differensieerbare rendering [ ], sonder toesig, teks-geleide 3D-vormgenerering met behulp van CLIP [ ] inbedding. 9 4 2 (a) 12 (b) 56 2 Verwante Werk Ons hersien onlangse vordering in 3D-generatiewe modelle vir geometrie en voorkoms, asook 3D-bewuste generatiewe beeld sintese. In onlangse jare het 2D-generatiewe modelle fotorealistiese gehalte bereik in hoë-resolusie beeld sintese [ , , , , , , ]. Hierdie vordering het ook navorsing in 3D-inhoud generering geïnspireer. Vroeë benaderings het daarop gemik om 2D CNN-generators direk na 3D vokselroosters uit te brei [ , , , , ], maar die hoë geheuevoetspoor en berekeningskompleksiteit van 3D-konvolusies belemmer die generasieproses by hoë resolusie. As 'n alternatief het ander werke puntwolke [ , , , ], implisiete [ , ], of oktaeder [ ] voorstellings ondersoek. Hierdie werke fokus egter hoofsaaklik op die generering van geometrie en ignoreer voorkoms. Hul uitvoer voorstellings moet ook na die tyd verwerk word om dit versoenbaar te maak met standaard grafiese enjins. 3D Generatiewe Modelle 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Meer soortgelyk aan ons werk, genereer Textured3DGAN [ , ] en DIBR [ ] getekstureerde 3D-maaswerk, maar hulle formuleer die generering as 'n vervorming van 'n sjabloon maaswerk, wat hulle verhoed om komplekse topologie of vorms met variërende genus te genereer, wat ons metode kan doen. PolyGen [ ] en SurfGen [ ] kan maaswerke met arbitrêre topologie produseer, maar genereer nie teksture nie. 54 53 11 48 41 Geïnspireer deur die sukses van neurale volume rendering [ ] en implisiete voorstellings [ , ], het onlangse werk begin om die probleem van 3D-bewuste beeld sintese aan te pak [ , , , , , , , , , ]. Neurale volume rendering netwerke is egter tipies stadig om te navraag, wat lei tot lang opleidingstye [ , ], en beelde van beperkte resolusie genereer. GIRAFFE [ ] en StyleNerf [ ] verbeter die opleiding- en renderingdoeltreffendheid deur neurale rendering teen 'n laer resolusie uit te voer en dan die resultate met 'n 2D CNN op te skaal. Die prestasiegroei kom egter teen die koste van verminderde multi-aansig konsekwentheid. Deur 'n dubbele discriminator te gebruik, kan EG3D [ ] gedeeltelik hierdie probleem versag. Nietemin is die onttrekking van 'n getekstureerde oppervlak uit metodes wat op neurale rendering gebaseer is, 'n nie-triviale onderneming. In kontras, GET3D voer direk getekstureerde 3D-maaswerk uit wat gereed gebruik kan word in standaard grafiese enjins. 3D-Bewuste Generatiewe Beeld Sintese 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Metode Ons bied nou ons GET3D raamwerk vir die sintese van getekstureerde 3D-vorms aan. Ons generasieproses is in twee dele verdeel: 'n geometrie tak, wat differensieerbaar 'n oppervlak maaswerk van arbitrêre topologie uitvoer, en 'n tekstuur tak wat 'n tekstuurveld produseer wat op die oppervlakpunte gevra kan word om kleure te produseer. Laasgenoemde kan uitgebrei word na ander oppervlak eienskappe soos byvoorbeeld materiale (Seks. ). Gedurende opleiding word 'n doeltreffende differensieerbare rasteriseerder gebruik om die resulterende getekstureerde maaswerk in 2D hoë-resolusie beelde te render. Die hele proses is differensieerbaar, wat voorsiening maak vir teenstrydige opleiding vanuit beelde (met maskers wat 'n voorwerp van belang aandui) deur die gradiënte van die 2D-diskriminator na beide generator takke te versprei. Ons model word geïllustreer in Fig. . In die volgende, stel ons eers ons 3D-generator bekend in Seks , voordat ons voortgaan na die differensieerbare rendering en verliesfunksies in Seks . 4.3.1 2 3.1 3.2 3.1 Generatiewe Model van 3D Getekstureerde Maaswerk Ons beoog om 'n 3D-generator = ( ) te leer om 'n steekproef uit 'n Gaussiese distribusie M, E G z ∈ N (0*,* ) na 'n maaswerk met tekstuur te karteer. z I M E Aangesien dieselfde geometrie verskillende teksture kan hê, en dieselfde tekstuur op verskillende geometries toegepas kan word, monster ons twee ewekansige insetvektore 1 ∈ R512 en 2 ∈ R512. Volgens StyleGAN [ , , ], gebruik ons dan nie-lineêre karteringsnetwerke geo en tex om 1 en 2 na intermediêre latente vektore 1 = geo( 1) en 2 = tex( 2) te karteer, wat verder gebruik word om te produseer wat die generering van 3D-vorms en tekstuur onderskeidelik beheer. Ons stel formeel die generator vir geometrie bekend in Seks. en die tekstuur generator in Seks. . z z 34 35 33 f f z z w f z w f z style 3.1.1 3.1.2 3.1.1 Geometrie Generator Ons ontwerp ons geometrie generator om DMTet [ ] in te sluit, 'n onlangs voorgestelde differensieerbare oppervlak voorstelling. DMTet verteenwoordig geometrie as 'n tekengestelde afstandveld (SDF) gedefinieer op 'n vervormbare tetraëdriese rooster [ , ], waaruit die oppervlak differensieerbaar herwin kan word deur maaswerk tetraëders [ ]. Die vervorming van die rooster deur sy hoekpunte te skuif, lei tot 'n beter benutting van sy resolusie. Deur DMTet vir oppervlakonttrekking aan te neem, kan ons eksplisiete maaswerk met arbitrêre topologie en genus produseer. Ons verskaf vervolgens 'n kort opsomming van DMTet en verwys die leser na die oorspronklike artikel vir verdere besonderhede. 60 22 24 17 Laat ( ) die volle 3D-ruimte aandui waarin die voorwerp lê, waar die hoekpunte in die tetraëdriese rooster is. Elke tetraëder ∈ word gedefinieer met vier hoekpunte { }, met ∈ {1*, . . . , K*}, waar die totale aantal tetraëders is, en ∈ ∈ R3. Benewens sy 3D-koördinate, bevat elke hoekpunt die SDF-waarde ∈ R en die vervorming ∆ ∈ R3 van die hoekpunt vanaf sy aanvanklike kanonieke koördinaat. Hierdie voorstelling maak voorsiening vir die herwinning van die eksplisiete maaswerk deur differensieerbare maaswerk tetraëders [ ], waar SDF-waardes in deurlopende ruimte bereken word deur barysentriese interpolasie van hul waarde op die vervormde hoekpunte ′ = + ∆ . 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 Ons karteer 1 ∈ R512 na SDF-waardes en vervormings by elke hoekpunt deur 'n reeks voorwaardelike 3D-konvolusionele en volledig gekoppelde lae. Spesifiek, ons gebruik eers 3D-konvolusionele lae om 'n funksie volume te genereer wat voorwaardelik is op 1. Ons bevraagteken dan die funksie by elke hoekpunt ∈ met behulp van trilineêre interpolasie en voed dit in MLPs wat die SDF-waarde en die vervorming ∆ uitvoer. In gevalle waar modellering teen 'n hoë resolusie vereis word (bv. motorfiets met dun strukture in die wiele), gebruik ons verder volume onderverdeling volgens [ ]. Netwerk Argitektuur w v i w v i VT si v i 60 Na die verkryging van en ∆ vir al die hoekpunte, gebruik ons die differensieerbare maaswerk tetraëder algoritme om die eksplisiete maaswerk te onttrek. Maaswerk tetraëders bepaal die oppervlak topologie binne elke tetraëder gebaseer op die tekens van . In besonder, 'n maaswerk vlak word onttrek wanneer sign( ) /= sign( ), waar die indekse van hoekpunte in die rand van die tetraëder aandui, en die hoekpunte van daardie vlak word bepaal deur lineêre interpolasie as mi,j = v 0 i sj−v 0 j si sj−si . Let op dat die bogenoemde vergelyking slegs geëvalueer word wanneer si 6= sj , dus is dit differensieerbaar, en die gradiënt van mi,j kan teruggepropageer word na die SDF-waardes si en vervormings ∆vi . Met hierdie voorstelling kan vorms met arbitrêre topologie maklik gegenereer word deur verskillende tekens van si te voorspel. Differensieerbare Maaswerk Onttrekking si v i si si sj i, j m i,j 3.1.2 Tekstuur Generator Die direkte generering van 'n tekstuurkaart wat konsekwent is met die uitset maaswerk is nie triviaal nie, aangesien die gegenereerde vorm 'n arbitrêre genus en topologie kan hê. Ons parametriseer dus die tekstuur as 'n tekstuurveld [ ]. 50 Spesifiek, ons modelleer die tekstuurveld met 'n funksie wat die 3D-ligging van 'n oppervlakpunt ∈ R3, voorwaardelik op die 2, na die RGB-kleur ∈ R3 op daardie ligging karteer. Aangesien die tekstuurveld van geometrie afhang, kondisioneer ons hierdie kartering verder op die geometrie latente kode 1, sodat = ( *,* 1 ⊕ 2), waar ⊕ konkatenasie aandui. ft p w c w c ft p w w Ons verteenwoordig ons tekstuurveld met behulp van 'n drievlak voorstelling, wat doeltreffend en uitdruklik is in die rekonstruksie van 3D-voorwerpe [ ] en die generering van 3D-bewuste beelde [ ]. Spesifiek, ons volg [ , ] en gebruik 'n voorwaardelike 2D konvolusionele neurale netwerk om die latente kode 1 ⊕ 2 te karteer na drie as-georiënteerde ortogonale funksie vlakke van grootte × × ( × 3), waar = 256 die ruimtelike resolusie aandui en = 32 die aantal kanale. Netwerk Argitektuur 55 8 8 35 w w N N C N C Gegee die funksie vlakke, kan die funksie vektor f t ∈ R 32 van 'n oppervlakpunt p verkry word as f t = P e ρ(πe(p)), waar πe(p) die projeksie van die punt p na die funksie vlak e is en ρ(·) bi-lineêre interpolasie van die funksies aandui. 'n Bykomende volledig gekoppelde laag word dan gebruik om die versamelde funksie vektor f t na die RGB-kleur c te karteer. Let op dat, anders as ander werke oor 3D-bewuste beeld sintese [8, 25, 7, 57] wat ook 'n neurale veld voorstelling gebruik, ons slegs die tekstuurveld by die liggings van die oppervlakpunte hoef te monster (in teenstelling met digte monsters langs 'n straal). Dit verminder die berekeningskompleksiteit vir die rendering van hoë-resolusie beelde aansienlik en waarborg om multi-aansig konsekwente beelde volgens konstruksie te genereer. 3.2 Differensieerbare Rendering en Opleiding Om ons model tydens opleiding te superviseer, put ons inspirasie uit Nvdiffrec [ ] wat multi-aansig 3D-voorwerp rekonstruksie uitvoer deur 'n differensieerbare renderer te benut. Spesifiek, ons render die onttrekte 3D-maaswerk en die tekstuurveld na 2D-beelde met behulp van 'n differensieerbare renderer [ ], en superviseer ons netwerk met 'n 2D-diskriminator, wat probeer om die beeld van 'n werklike voorwerp of gerenderde van die gegenereerde voorwerp te onderskei. 47 37 Ons neem aan dat die kameradistribusie C wat gebruik is om die beelde in die dataset te verkry, bekend is. Om die gegenereerde vorms te render, monster ons ewekansig 'n kamera uit C, en benut 'n hoogs-geoptimaliseerde differensieerbare rasteriseerder Nvdiffrast [ ] om die 3D-maaswerk na 'n 2D-silhoeët sowel as 'n beeld te render waar elke pixel die koördinate van die ooreenstemmende 3D Differensieerbare Rendering c 37 punt op die maaswerk oppervlak bevat. Hierdie koördinate word verder gebruik om die tekstuurveld te bevraagteken om die RGB-waardes te verkry. Aangesien ons direk op die onttrekte maaswerk opereer, kan ons hoë-resolusie beelde met hoë doeltreffendheid render, wat ons model in staat stel om met beeldresolusie so hoog as 1024×1024 opgelei te word. Ons oefen ons model met 'n teenstrydige doel. Ons neem die diskriminator argitektuur van StyleGAN [ ] aan, en gebruik dieselfde nie-saturerende GAN-doel met R1-regulasie [ ]. Ons vind empiries dat die gebruik van twee aparte diskriminators, een vir RGB-beelde en nog een vir silhoeëtte, beter resultate lewer as 'n enkele diskriminator wat op albei werk. Laat die diskriminator aandui, waar óf 'n RGB-beeld óf 'n silhoeët kan wees. Die teenstrydige doel sal dan as volg gedefinieer word: Diskriminator & Doel 34 42 Dx x waar ( ) gedefinieer word as ( ) = − log(1 +exp(− )), is die distribusie van werklike beelde, rendering aandui, en 'n hiperparameter is. Aangesien differensieerbaar is, kan die gradiënte van 2D-beelde na ons 3D-generators teruggepropageer word. g u g u u px R λ R Om interne drywende vlakke wat nie in enige van die aansigte sigbaar is nie, te verwyder, reguleer ons verder die geometrie generator met 'n kruis-entropie verlies gedefinieer tussen die SDF-waardes van die aangrensende hoekpunte [ ]: Regulasie 47