Tekijä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) Tiivistelmä Kun useat teollisuudenalat siirtyvät massiivisten 3D-virtuaalimaailmojen mallintamiseen, tarve sisältöluontityökaluille, jotka pystyvät skaalautumaan 3D-sisällön määrän, laadun ja monimuotoisuuden suhteen, tulee ilmeiseksi. Työssämme pyrimme kouluttamaan suorituskykyisiä 3D-generatiivisia malleja, jotka syntetisoivat teksturoituja verkkoja, jotka 3D-renderöintimoottorit voivat suoraan kuluttaa, ja ovat siten välittömästi käyttökelpoisia jatkossovelluksissa. Aiempien 3D-generatiivisten mallien töistä joko puuttuu geometrisia yksityiskohtia, ne ovat rajoittuneita tuottamansa verkkotopologian suhteen, eivät yleensä tue tekstuureja tai käyttävät synteesiprosessissa neuroverkkopohjaisia renderöijiä, mikä tekee niiden käytöstä yleisissä 3D-ohjelmistoissa ei-triviaalia. Tässä työssä esittelemme GET3D:n, eneratiivisen mallin, joka suoraan tuottaa ksplisiittisiä eksturoituja -verkkoja, joilla on monimutkainen topologia, rikkaat geometriset yksityiskohdat ja korkealaatuiset tekstuurit. Yhdistämme viimeaikaiset onnistumiset differentioituvassa pintamallinnuksessa, differentioituvassa renderöinnissä sekä 2D-generatiivisissa vastakkaisverkoissa (GAN) mallimme kouluttamiseksi 2D-kuvakokoelmista. GET3D pystyy tuottamaan korkealaatuisia 3D-teksturoituja verkkoja, jotka vaihtelevat autoista, tuoleista, eläimistä, moottoripyöristä ja ihmishahmoista rakennuksiin, saavuttaen merkittäviä parannuksia verrattuna aiempiin menetelmiin. Projektisivumme: G E T 3D https://nv-tlabs.github.io/GET3D 1 Johdanto Monimuotoinen, korkealaatuinen 3D-sisältö on tulossa yhä tärkeämmäksi useilla teollisuudenaloilla, mukaan lukien peliala, robotiikka, arkkitehtuuri ja sosiaaliset alustat. 3D-resurssien manuaalinen luominen on kuitenkin erittäin aikaa vievää ja vaatii erityisiä teknisiä tietoja sekä taiteellisia mallinnustaitoja. Yksi suurimmista haasteista on siis mittakaava – vaikka 3D-malleja löytyy 3D-markkinapaikoilta, kuten Turbosquid [ ] tai Sketchfab [ ], monien 3D-mallien luominen, esimerkiksi pelin tai elokuvan väestöksi eri näköisiä hahmoja, vie edelleen huomattavan paljon taiteilijan aikaa. 4 3 Sisällöntuotantoprosessin helpottamiseksi ja sen tekemiseksi saataville monenlaisille (aloitteleville) käyttäjille generatiivisista 3D-verkoista, jotka voivat tuottaa korkealaatuisia ja monipuolisia 3D-resursseja, on viime aikoina tullut aktiivinen tutkimusalue [ , , , , , , , , , , ]. Jotta 3D-generatiiviset mallit olisivat käytännöllisesti hyödyllisiä nykyisissä todellisen maailman sovelluksissa, niiden tulisi ihanteellisesti täyttää seuraavat vaatimukset: Niiden tulisi pystyä tuottamaan muotoja yksityiskohtaisella geometrialtaan ja mielivaltaisella topologialtaan, Tuotoksen tulisi olla teksturoitu verkko, joka on ensisijainen esitysmuoto, jota standardit grafiikkaohjelmistopaketit, kuten Blender [ ] ja Maya [ ], käyttävät, ja Meidän tulisi pystyä hyödyntämään 2D-kuvia valvontana, koska ne ovat helpommin saatavilla kuin eksplisiittiset 3D-muodot. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) Aiempi työ 3D-generatiivisen mallinnuksen parissa on keskittynyt osajoukkoihin edellä mainituista vaatimuksista, mutta mikään menetelmä ei toistaiseksi täytä niitä kaikkia (Taulukko ). Esimerkiksi menetelmät, jotka tuottavat 3D-pistepilviä [ , 68, 75], eivät yleensä tuota tekstuureja ja ne on muunnettava verkoksi jälkikäsittelyssä. 1 5 Vokseleitä generoivat menetelmät usein puuttuvat geometriset yksityiskohdat eivätkä tuota tekstuureja [ , , , ]. Neuroverkkopohjaiset generatiiviset mallit [ , ] keskittyvät geometrian poimimiseen, mutta jättävät tekstuurin huomiotta. Useimmat näistä vaativat myös eksplisiittistä 3D-valvontaa. Lopuksi menetelmät, jotka tuottavat suoraan teksturoituja 3D-verkkoja [ , ], vaativat yleensä ennalta määritellyt muoto Mallit, eivätkä ne pysty tuottamaan muotoja monimutkaisella topologialla ja vaihtelevalla sukupuolilla. 66 20 27 40 43 14 54 53 Viimeaikainen nopea kehitys neurovolyymirenderöinnissä [ ] ja 2D-generatiivisissa vastakkaisverkoissa (GAN) [ , , , , ] on johtanut 3D-tietoisen kuvien synteesin nousuun [ , , , , , ]. Kuitenkin tämä työ pyrkii syntetisoimaan moninäköisiä johdonmukaisia kuvia neurorenderöinnin avulla synteesiprosessissa, eikä takaa, että mielekkäitä 3D-muotoja voidaan tuottaa. Vaikka verkko voitaisiin mahdollisesti saada alla olevasta neurokentän esityksestä käyttämällä martiointikuutioalgoritmia [ ], vastaavan tekstuurin poimiminen on ei-triviaali tehtävä. 45 34 35 33 29 52 7 57 8 49 51 25 39 Tässä työssä esittelemme uuden lähestymistavan, joka pyrkii täyttämään kaikki käytännöllisesti hyödyllisen 3D-generatiivisen mallin vaatimukset. Erityisesti ehdotamme GET3D:tä, eneratiivista mallia 3D-muodoille, joka tuottaa suoraan ksplisiittisiä eksturoituja -verkkoja, joilla on korkeat geometriset ja tekstuurin yksityiskohdat sekä mielivaltainen verkkotopologia. Lähestymistapamme ytimessä on generatiivinen prosessi, joka hyödyntää differentioituvaa pintojen poimintamenetelmää [ ] ja differentioituvaa renderöintitekniikkaa [ , ]. Edellinen mahdollistaa differentioituvien eksplisiittisten teksturoitujen 3D-verkkojen suoran optimoinnin ja tuottamisen mielivaltaisella topologialla, kun taas jälkimmäinen mahdollistaa mallimme kouluttamisen 2D-kuvilla, hyödyntäen siten tehokkaita ja kypsiä 2D-kuvien synteesiin kehitettyjä diskriminaattoreita. Koska mallimme tuottaa suoraan verkkoja ja käyttää erittäin tehokasta (differentioituvaa) grafiikkarenderöijää, voimme helposti skaalata mallimme kouluttamaan kuvilla G E T 3D eksplisiittistä 60 47 37 1024 × 1024:een saakka, mikä mahdollistaa korkealaatuisten geometristen ja tekstuurin yksityiskohtien oppimisen. Osoitamme huippuluokan suorituskykyä ehdottomassa 3D-muotosynteesissä useissa kategorioissa, joilla on monimutkainen geometria ShapeNet [ ], Turbosquid [ ] ja Renderpeople [ ] -aineistoista, kuten tuolit, moottoripyörät, autot, ihmishahmot ja rakennukset. Eksplisiittisen verkon tulostusmuodolla GET3D on myös erittäin joustava ja sitä voidaan helposti mukauttaa muihin tehtäviin, mukaan lukien: oppiminen tuottamaan hajotettua materiaalia ja katselukulmasta riippuvaisia valaistustehosteita edistyneellä differentioituvalla renderöinnillä [ ], ilman valvontaa, tekstiohjattu 3D-muotosynteesi CLIP [ ] -upotusta käyttäen. 9 4 2 (a) 12 (b) 56 2 Aiheeseen liittyvä työ Käymme läpi viimeaikaisia edistysaskelia 3D-generatiivisissa malleissa geometrialle ja ulkoasulle sekä 3D-tietoisessa generatiivisessa kuvien synteesissä. Viime vuosina 2D-generatiiviset mallit ovat saavuttaneet fotorealistisen laadun korkearesoluutioisten kuvien synteesissä [ , , , , , , ]. Tämä edistys on myös inspiroinut tutkimusta 3D-sisällön generoinnissa. Varhaiset lähestymistavat pyrkivät suoraan laajentamaan 2D CNN -generaattoreita 3D-vokseliruudukoille [ , , , , ], mutta 3D-konvoluutioiden korkea muistijalanjälki ja laskennallinen monimutkaisuus hidastavat generointiprosessia korkealla resoluutiolla. Vaihtoehtoisesti muut työt ovat tutkineet pistepilvi [ , , , ], implisiittisiä [ , ] tai oktaalipuu [ ] esitysmuotoja. Nämä työt keskittyvät kuitenkin pääasiassa geometrian generointiin ja jättävät ulkoasun huomiotta. Niiden tulostusmuodot vaativat myös jälkikäsittelyä, jotta ne olisivat yhteensopivia standardien grafiikkamoottoreiden kanssa. 3D-generatiiviset mallit 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Työmme kannalta samankaltaisempia ovat Textured3DGAN [ , ] ja DIBR [ ], jotka generoivat teksturoituja 3D-verkkoja, mutta ne muotoilevat generoinnin malliverkon vääristymäksi, mikä estää niitä tuottamasta monimutkaista topologiaa tai muotoja, joilla on vaihteleva sukupuoli, mitä menetelmämme pystyy tekemään. PolyGen [ ] ja SurfGen [ ] pystyvät tuottamaan verkkoja mielivaltaisella topologialla, mutta eivät syntetisoi tekstuureja. 54 53 11 48 41 Neurovolyymirenderöinnin [ ] ja implisiittisten esitysmuotojen [ , ] menestyksen innoittamana viimeaikainen työ on alkanut käsitellä 3D-tietoista kuvien synteesiä [ , , , , , , , , , ]. Neurovolyymirenderöintiverkot ovat kuitenkin tyypillisesti hitaita kyselyyn, mikä johtaa pitkiin koulutusaikoihin [ , ] ja tuottaa rajallisen resoluution kuvia. GIRAFFE [ ] ja StyleNerf [ ] parantavat koulutus- ja renderöintitehokkuutta suorittamalla neurorenderöinnin matalammalla resoluutiolla ja skaalaamalla sitten tulokset ylöspäin 2D CNN:llä. Suorituskyvyn kasvu tapahtuu kuitenkin moninäköisen johdonmukaisuuden heikkenemisen kustannuksella. Käyttämällä kaksoisdiskriminaattoria, EG3D [ ] voi osittain lieventää tätä ongelmaa. Siitä huolimatta teksturoitujen pintojen poimiminen neurorenderöintiin perustuvista menetelmistä on ei-triviaali tehtävä. Sen sijaan GET3D tuottaa suoraan teksturoituja 3D-verkkoja, jotka voidaan helposti käyttää standardigrafiikkamoottoreissa. 3D-tietoinen generatiivinen kuvien synteesi 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Menetelmä Esittelemme nyt GET3D-kehyksemme teksturoitujen 3D-muotojen syntetisointiin. Generointiprosessimme on jaettu kahteen osaan: geometriahaara, joka differentioituvasti tuottaa pintaverkon mielivaltaisella topologialla, ja tekstuurihaara, joka tuottaa tekstuurikentän, josta voidaan kysyä pintapisteistä värien tuottamiseksi. Jälkimmäistä voidaan laajentaa muihin pintakysymyksiin, kuten esimerkiksi materiaaleihin (osio ). Koulutuksen aikana tehokasta differentioitavaa rasteroijaa käytetään tuloksena olevan teksturoituneen verkon renderöintiin 2D-korkearesoluutioisiksi kuviksi. Koko prosessi on differentioituva, mikä mahdollistaa vastakkaiskoulutuksen kuvista (objektia osoittavilla maskeilla) välittämällä gradientit 2D-diskriminaattorista molempiin generaattorahaaroihin. Mallimme on kuvattu kuviossa . Seuraavaksi esittelemme ensin 3D-generaattorimme osiossa , ennen kuin jatkamme differentioituvien renderöintien ja häviöfunktioiden pariin osiossa . 4.3.1 2 3.1 3.2 3.1 3D-teksturoitujen verkkojen generatiivinen malli Pyrimme oppimaan 3D-generaattorin = ( ), joka kuvaa satunnaisen otoksen Gaussin jakaumasta M, E G z ∈ N (0*,* ) verkoksi ja tekstuuriksi . z I M E Koska samalla geometrialle voi olla erilaisia tekstuureja, ja samaa tekstuuria voidaan soveltaa eri geometrioihin, otamme kaksi satunnaista syöttövektoria 1 ∈ R512 ja 2 ∈ R512. Seuraamalla StyleGANia [ , , ], käytämme epälineaarisia kuvausverkkoja geo ja tex kuvaamaan 1 ja 2 väliarvoisiin piilovektoreihin 1 = geo( 1) ja 2 = tex( 2), joita käytetään edelleen tuottamaan , jotka hallitsevat 3D-muotojen ja tekstuurin generointia. Esittelemme muodollisesti generaattorin geometrialle osiossa. ja tekstuurigeneraattorin osiossa . z z 34 35 33 f f z z w f z w f z tyylejä 3.1.1 3.1.2 3.1.1 Geometriageneraattori Suunnittelemme geometriageneraattorimme sisältämään DMTet:n [ ], äskettäin ehdotetun differentioituvan pintaesitysmuodon. DMTet esittää geometriaa etäisyysmerkki-kenttänä (SDF), joka on määritelty muokkautuvassa tetrahedraalisessa ruudukossa [ , ], josta pinta voidaan differentioituvasti palauttaa martiointitetraedrien avulla [ ]. Ruudukon muokkaaminen siirtämällä sen pisteitä mahdollistaa sen resoluution paremman hyödyntämisen. Ottamalla DMTet käyttöön pintojen poimintaan voimme tuottaa eksplisiittisiä verkkoja mielivaltaisella topologialla ja sukupuolella. Seuraavaksi tarjoamme lyhyen yhteenvedon DMTet:stä ja ohjaamme lukijaa alkuperäiseen paperiin lisätietojen saamiseksi. 60 22 24 17 Oletetaan, että ( ) edustaa koko 3D-tilaa, jossa objekti sijaitsee, missä ovat tetrahedraalisen ruudukon pisteitä. Jokainen tetraedri ∈ määritellään neljällä pisteellä { }, jossa ∈ {1*, . . . , K*}, missä on tetraedrien kokonaismäärä, ja ∈ ∈ R3. Sen 3D-koordinaattien lisäksi jokainen piste sisältää etäisyysmerkki-arvon ∈ R ja pisteen deformaation ∆ ∈ R3 sen alkuperäisestä kanonisesta koordinaatista. Tämä esitysmuoto mahdollistaa eksplisiittisen verkon palauttamisen differentioituvalla martiointitetraedrimenetelmällä [ ], jossa jatkuvan tilan SDF-arvot lasketaan interpoloimalla niiden arvo muokatuilla pisteillä ′ = + ∆ . 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 v i 60 si v v i v i Kuvaamme 1 ∈ R512 SDF-arvoiksi ja deformaatioiksi jokaisessa pisteessä sarjan ehdollisten 3D-konvoluutio- ja täysin kytkettyjen kerrosten kautta. Erityisesti käytämme ensin 3D-konvoluutiokerroksia luodaksemme ominaisuusvolyymin, joka on ehdollistettu 1:llä. Kysymme sitten ominaisuutta jokaisesta pisteestä ∈ käyttämällä trilinearista interpolointia ja syötämme sen MLP:ihin, jotka tuottavat SDF-arvon ja deformaation ∆ . Kun mallinnus korkealla resoluutiolla on tarpeen (esim. moottoripyörä, jossa on ohuita rakenteita pyörissä), käytämme lisäksi tilavuuden alijakoa [ ] mukaisesti. Verkkoarkkitehtuuri w v i w v i VT si v i 60 Kun ja ∆ on saatu kaikille pisteille, käytämme differentioituvaa martiointitetraedrialgoritmia eksplisiittisen verkon poimimiseksi. Martiointitetraedrit määrittävät pinnan topologian kussakin tetraedrissä -merkkien perusteella. Erityisesti verkkopinta poimitaan, kun sign( ) /= sign( ), missä osoittavat reunan pisteiden indeksejä tetraedrissä, ja kyseisen pinnan pisteet määritetään lineaarisella interpoloinnilla muodossa mi,j = v 0 i sj−v 0 j si sj−si . Huomaa, että yllä oleva yhtälö evaluoidaan vain, kun si 6= sj , joten se on differentioituva, ja gradientti mi,j:stä voidaan takaisinsyöttää SDF-arvoihin si ja deformaatioihin ∆vi . Tällä esitysmuodolla voidaan helposti generoida muotoja mielivaltaisella topologialla ennustamalla erilaisia si-merkkejä. Differentioituva verkon poiminta si v i si si sj i, j m i,j 3.1.2 Tekstuurigeneraattori Tekstuurikartan suora tuottaminen, joka on johdonmukainen tulosverkon kanssa, ei ole triviaalia, sillä generoitu muoto voi olla mielivaltaisella sukupuolella ja topologialla. Siksi parametrisoimme tekstuurin tekstuurikentäksi [ ]. 50 Erityisesti mallinnamme tekstuurikentän funktiolla , joka kuvaa pintapisteen 3D-sijainnin ∈ R3 ehdollistettuna 2:lla RGB-väriin ∈ R3 kyseisessä sijainnissa. Koska tekstuurikenttä riippuu geometriasta, ehdollistamme tämän kuvauksen lisäksi geometriapiilokoodilla 1, siten että = ( *,* 1 ⊕ 2), missä ⊕ tarkoittaa yhdistämistä. ft p w c w c ft p w w Esitämme tekstuurikenttämme tri-tasoisella esityksellä, joka on tehokas ja ilmeikäs 3D-objektien rekonstruktiossa [ ] ja 3D-tietoisten kuvien generoinnissa [ ]. Erityisesti noudatamme [ , ] ja käytämme ehdollista 2D-konvoluutio-neuroverkkoa kuvaamaan piilokoodin 1 ⊕ 2 kolmeen akselitasoiseen ortogonaaliseen ominaisuustasoon, joiden koko on × × ( × 3), missä = 256 edustaa spatiaalista resoluutiota ja = 32 kanavien määrää. Verkkoarkkitehtuuri 55 8 8 35 w w N N C N C Ottaen annetut ominaisuustasot, pintapisteen p ominaisuusvektori f t ∈ R 32 saadaan muodossa f t = P e ρ(πe(p)), missä πe(p) on pisteen p projektio ominaisuustasoon e ja ρ(·) tarkoittaa ominaisuuksien bilineaarista interpolointia. Lisäkerrosta käytetään sitten aggregoituvan ominaisuusvektorin f t muuntamiseen RGB-väriksi c. Huomaa, että toisin kuin muissa 3D-tietoisen kuvien synteesiä koskevissa töissä, jotka myös käyttävät neurokentän esitysmuotoa, meidän tarvitsee vain otoskentaa tekstuurikenttää pintapisteiden sijainneissa (sen sijaan, että otoskentää tiheästi säteen suunnassa). Tämä vähentää merkittävästi laskennallista monimutkaisuutta korkearesoluutioisten kuvien renderöinnissä ja takaa moninäköisten johdonmukaisten kuvien generoinnin rakenteellisesti. 3.2 Differentioituva renderöinti ja koulutus Jotta voisimme valvoa malliamme koulutuksen aikana, saamme inspiraatiota Nvdiffreciltä [ ], joka suorittaa moninäköisen 3D-objektin rekonstruktion käyttämällä differentioituvaa renderöijää. Erityisesti renderöimme poimitun 3D-verkon ja tekstuurikentän 2D-kuviksi käyttämällä differentioituvaa renderöijää [ ] ja valvomme verkkoamme 2D-diskriminaattorilla, joka yrittää erottaa todellisen objektin kuvan generoidusta objektista renderöidystä. 47 37 Oletamme, että kamerajakauma C, jota käytettiin aineiston kuvien hankinnassa, tunnetaan. Generoitujen muotojen renderöimiseksi otamme satunnaisesti kameran C:stä ja käytämme erittäin optimoitua differentioituvaa rasteroijaa Nvdiffrast [ ] renderöidäksemme 3D-verkon 2D-siluetiksi sekä kuvaksi, jossa jokainen pikseli sisältää vastaavan 3D-pisteen sijainnin Differentioituva renderöinti c 37 verkon pinnalla. Näitä sijainteja käytetään edelleen tekstuurikentän kysymiseen RGB-arvojen saamiseksi. Koska toimimme suoraan poimitulla verkolla, voimme renderöidä korkearesoluutioisia kuvia suurella tehokkuudella, mikä mahdollistaa mallimme kouluttamisen jopa 1024 × 1024 resoluution kuvilla. Koulutamme malliamme vastakkaisella tavoitteella. Otamme käyttöön StyleGANin [ ] diskriminaattoriarkkitehtuurin ja käytämme samaa ei-saturaatiomallista GAN-tavoitetta R1-regularisoinnilla [ ]. Havaitsemme empiirisesti, että kahden erillisen diskriminaattorin, yhden RGB-kuville ja toisen silueteille, käyttö antaa parempia tuloksia kuin yksi diskriminaattori, joka toimii molemmilla. Olkoon diskriminaattori, missä voi olla joko RGB-kuva tai siluetti. Vastakkainen tavoite määritellään seuraavasti: Diskriminaattori & Tavoite 34 42 Dx x missä ( ) määritellään muodossa ( ) = − log(1 +exp(− )), on todellisten kuvien jakauma, tarkoittaa renderöintiä ja on hyperparametri. Koska on differentioituva, gradientit voidaan takaisinsyöttää 2D-kuvista 3D-generaattoreihimme. g u g u u px R λ R Sisäisten leijuvien pintojen poistamiseksi, jotka eivät näy missään näkymässä, regularisoimme lisäksi geometriageneraattoria ristientropiahviöllä, joka on määritelty vierekkäisten pisteiden SDF-arvojen välillä [ ]: Regularisointi 47 missä tarkoittaa binääristä ristientropiahviötä ja tarkoittaa sigmoidifunktiota. Yhtälön summa määritellään tetrahedraalisen ruudukon uniikkien reunojen S joukon yli, joille sign( ) /= sign( ). H σ 2 e si sj Kokonaiskahviöfunktio määritellään sitten: missä on hyperparametri, joka säätelee regularisoinnin tasoa. µ 4 Kokeet Suoritamme laajoja kokeita mallimme arvioimiseksi. Vertaisimme ensin GET3D:n generoimien 3D-teksturoitujen verkkojen laatua olemassa oleviin menetelmiin ShapeNet [ ] ja Turbosquid [ ] -aineistoja käyttämällä. Seuraavaksi analysoimme suunnittelupäätöksiämme osiossa . Lopuksi osoitamme GET3D:n joustavuuden mukauttamalla sen jatkossovelluksiin osiossa . Lisää kokeellisia tuloksia ja toteutustietoja on liitteessä. 9 4 4.2 4.3 4.1 Kokeet synteettisillä aineistoilla Arvioidaksemme ShapeNet [ ] -aineistoa käytämme kolmea monimutkaista geometriaa sisältävää kategoriaa – , ja , jotka sisältävät 7497, 6778 ja 337 muotoa. Jaamme kunkin kategorian satunnaisesti koulutus- (70 %), validointi- (10 %) ja testijoukkoihin (20 %), ja poistamme testijoukosta muodot, joilla on duplikaatteja koulutusjoukossa. Harjoitusdatan renderöimiseksi otamme satunnaisesti kameran asentoja kustakin muodosta sen yläpuolellisesta pallopinnasta. - ja -kategorioiden osalta käytämme 24 satunnaista näkymää, kun taas -kategoriassa käytämme 100 näkymää johtuen pienemmästä muotojen määrästä. Koska ShapeNetin mallit sisältävät vain yksinkertaisia tekstuureja, arvioimme GET3D:tä myös -aineistolla (442 muotoa), joka on kerätty TurboSquidista [ ], jossa tekstuuri on yksityiskohtaisempaa, ja jaamme sen yllä määriteltyihin koulutus-, validointi- ja testijoukkoihin. Lopuksi osoittaaksemme GET3D:n monipuolisuutta tarjoamme myös kvalitatiivisia tuloksia -aineistosta (kerätty Turbosquidista, 563 muotoa) ja -aineistosta Renderpeoplelta [ ] (500 muotoa). Koulutamme erillisen mallin kullekin kategorialle. Aineistot 9 Auto Tuoli Moottoripyörä Auto Tuoli Moottoripyörä Eläin 4 Talo Ihmisruumis 2 Vertaisimme GET3D:tä kahteen työryhmään: 3D-generatiiviset mallit, jotka perustuvat 3D-valvontaan: PointFlow [ ] ja OccNet [ ]. Huomaa, että nämä menetelmät generoivat vain geometriaa ilman tekstuuria. 3D-tietoiset kuvien generointimenetelmät: GRAF [ ], PiGAN [ ] ja EG3D [ ]. Perustasot 1) 68 43 2) 57 7 8 Synteesimme laadun arvioimiseksi tarkastelemme sekä generoituja muotojen geometriaa että tekstuuria. Geometrian osalta otamme käyttöön mittarit [ ] ja käytämme sekä Chamfer Distance (CD) että Light Field Distance [ ] (LFD) laskemaan peitto-pisteet (Coverage score) ja minimi-vastaavuusetäisyys (Minimum Matching Distance). OccNetin [ ], GRAF:in [ ], PiGANin [ ] ja EG3D:n [ ] osalta käytämme martiointikuutioita poimiaksemme alla olevan geometrian. PointFlow'n [ ] osalta käytämme Poisson-pintarekonstruktiota muuntamaan pistepilven verkoksi LFD-arvioinnissa. Tekstuurin laadun arvioimiseksi otamme käyttöön FID [ ] -mittarin, jota käytetään yleisesti kuvien synteesin arvioinnissa. Erityisesti kutakin kategoriaa varten renderöimme testimuodot 2D-kuviksi ja myös generoimme 3D-muodot kustakin mallista 50 000 kuvan eräksi käyttäen samaa kamerajakaumaa. Laskemme sitten FID:n kahden kuvajoukon välillä. Koska 3D-tietoisista kuvien synteesimenetelmistä [ , , ] peräisin olevat perustasot eivät suoraan tuota teksturoituja verkkoja, laskemme FID-pisteet kahdella tavalla: ( ) käytämme niiden neurovolyymirenderöintiä 2D-kuvien saamiseksi, jota kutsumme FID-Ori:ksi, ja ( ) poimimme verkon niiden neurokentän esityksestä martiointikuutioilla, renderöimme sen ja käytämme sitten kunkin pikselin 3D-sijaintia kysyäksemme verkolta saadaksemme RGB-arvot. Kutsumme tätä pistemäärää, joka on tietoisempi varsinaisesta 3D-muodosta, FID-3D:ksi. Lisätietoja arviointimenetelmistä löytyy liitteestä . Mittarit 5 10 43 57 7 8 68 28 57 7 8 i ii B.3 Tarjoamme kvantitatiivisia tuloksia taulukossa ja kvalitatiivisia esimerkkejä kuvissa ja . Lisää tuloksia on saatavilla lisävideossa. Verrattuna OccNetiin [ ], joka käyttää 3D-valvontaa koulutuksen aikana, GET3D saavuttaa paremman suorituskyvyn sekä monimuotoisuuden (COV) että laadun (MMD) suhteen, ja generoiduilla muodoillamme on enemmän geometrisia yksityiskohtia. Kokeelliset tulokset 2 3 4 43 PointFlow [ ] ylittää GET3D:n MMD-pisteissä CD:llä, kun taas GET3D on parempi MMD:ssä LFG:llä. Oletamme, että tämä johtuu siitä, että PointFlow optimoi suoraan pistesijainneissa, mikä suosii CD:tä. GET3D suoriutuu myös edullisesti verrattuna 3D-tietoisiin kuvien synteesimenetelmiin, saavutamme merkittäviä parannuksia PiGANiin [ ] ja GRAF:iin [ ] verrattuna kaikissa mittareissa kaikilla aineistoilla. Generoidut muotomme sisältävät myös enemmän yksityiskohtaista geometriaa ja tekstuuria. Verrattuna viimeaikaisiin töihin EG3D [ ]. Saavutamme vertailukelpoisen suorituskyvyn 2D-kuvien generoinnissa (FID-ori), samalla kun parannamme merkittävästi 3D-muotosynteesiä FID-3D:n osalta, mikä osoittaa mallimme tehokkuuden varsinaisen 3D-geometrian ja tekstuurin oppimisessa. 68 7 57 8 Koska syntetisoimme teksturoituja verkkoja, voimme viedä muotomme Blendeeriin . Näytämme renderöintitulokset kuvissa ja . GET3D pystyy tuottamaan muotoja, joilla on monipuolinen ja korkealaatuinen geometria ja topologia, erittäin ohuita rakenteita (moottoripyöriä) sekä monimutkaisia tekstuureja autoissa, eläimissä ja taloissa. 1 1 5 GET3D mahdollistaa myös muotojen interpoloinnin, mikä voi olla hyödyllistä muokkaustarkoituksiin. Tutkimme GET3D:n piilevää tilaa kuvassa , jossa interpoloimme piilokoodit jokaisen muodon generoimiseksi vasemmalta oikealle. GET3D pystyy tuottamaan sujuvan ja mielekkään siirtymän yhdestä muodosta toiseen uskottavasti. Tutkimme edelleen paikallista piilevää tilaa häiritsemällä piilokoodeja hieman satunnaiseen suuntaan. GET3D tuottaa uusia ja monipuolisia muotoja, kun paikallista muokkausta tehdään piilevässä tilassa (kuva ). Muotojen interpolointi 6 7 4.2 Ablaatiot Teemme mallillemme ablaatiot kahdella tavalla: tilavuuden alijaolla ja ilman sitä, koulutus eri kuvien resoluutioilla. Lisäablaatiot on annettu liitteessä . 1) 2) C.3 Kuten taulukossa osoitetaan, tilavuuden alijako parantaa merkittävästi suorituskykyä luokissa, joissa on ohuita rakenteita (esim. moottoripyörät), samalla kun se ei tuota parannuksia muissa luokissa. Oletamme, että alkuperäinen tetrahedraalinen resoluutio riittää jo yksityiskohtaisen geometrian vangitsemiseen tuoleissa ja autoissa, joten alijako ei voi tarjota lisäparannuksia. Tilavuuden alijaon ablaatio 2 Eri kuvien resoluutioiden ablaatio Ablaatiota koulutuskuvan resoluution vaikutuksesta tarkastellaan taulukossa . Kuten odotettua, kasvava kuvien resoluutio parantaa suorituskykyä FID:n ja muodon laadun suhteen, koska verkko näkee enemmän yksityiskohtia, joita ei usein ole saatavilla matalaresoluutioisissa kuvissa. Tämä vahvistaa korkeammalla kuvien resoluutiolla kouluttamisen tärkeyttä, jota implisiittisiin malleihin perustuvien menetelmien on usein vaikea hyödyntää. 3 4.3 Sovellukset 4.3.1 Materiaalin generointi katselukulmasta riippuvaisille valaistustehosteille GET3D voidaan helposti laajentaa tuottamaan myös pintamateriaaleja, jotka ovat suoraan käyttökelpoisia moderneissa grafiikkamoottoreissa. Erityisesti noudatamme laajasti käytettyä Disneyn BRDF:ää [ , ] ja kuvaamme materiaaleja perusvärin (R3), metallisuuden (R) ja karheuden (R) ominaisuuksien perusteella. Tämän seurauksena käytämme uudelleen tekstuurigeneraattoriamme tuottamaan 5-kanavaisen heijastuskentän (vain RGB:n sijaan). Materiaalien differentioituvan renderöinnin mahdollistamiseksi otamme käyttöön tehokkaan pallomaisen Gaussin (SG) perustuvan viivästetyn renderöintiputken [ ]. Erityisesti rasteroimme heijastuskentän G-puskuriin ja otamme satunnaisesti HDR-kuvan joukosta todellisia ulkoilma HDR-panoraamoja Slight = { } , missä ∈ R32×7 saadaan sovittamalla 32 SG-lobia kuhunkin panoraamaan. SG-renderöijä [ ] käyttää sitten kameraa renderöimään RGB-kuvan katselukulmasta riippuvaisilla valaistustehosteilla, jonka syötämme diskriminaattoriin koulutuksen aikana. Huomaa, että GET3D ei vaadi materiaalivalvontaa koulutuksen aikana ja oppii generoimaan hajotettuja materiaaleja ilman valvontaa. 6 32 12 LSG K LSG 12 c Tarjoamme kvalitatiivisia tuloksia generoiduista pintamateriaaleista kuvassa . Valvomattakin GET3D havaitsee mielenkiintoisia materiaalihajotelmia, esim. ikkunat ennustetaan oikein pienemmällä karheusarvolla ollakseen kiiltävämpiä kuin auton kori, ja auton kori havaitaan enemmän dielektriseksi, kun taas ikkuna on metallisempi. Generoidut materiaalit mahdollistavat realististen uudelleenvalaistustulosten tuottamisen, jotka voivat ottaa huomioon monimutkaiset heijastustehosteet eri valaistusolosuhteissa. 8 4.3.2 Tekstiohjattu 3D-synteesi Samoin kuin kuvien GAN-mallit, GET3D tukee myös tekstiohjattua 3D-sisällön synteesiä hienosäätämällä esikoulutetun mallin CLIP [ ] -ohjauksella. Huomaa, että lopullinen synteesituloksemme on teksturoitu 3D-verkko. Tähän tarkoitukseen noudatamme styleGAN-NADA:n [ ] kaksoisgeneraattorisuunnittelua, jossa käytetään koulutettavaa kopiota ja jäädytettyä kopiota esikoulutetusta generaattorista. Optimoinnin aikana ja molemmat renderöivät kuvia 16 satunnaisesta kameranäkymästä. Annetun tekstikyselyn perusteella otamme 500 paria kohinavektoreita 1 ja 2. Kutakin otosta varten optimoimme :n parametrit minimoimaan suunnatun CLIP-häviön [ ] (lähdetekstin tunnisteet ovat "auto", "eläin" ja "talo" vastaaville kategorioille) ja valitsemme pienimmän häviön omaavat otokset. Prosessin nopeuttamiseksi suoritamme ensin pienen määrän optimointiaskeleita 500 otokselle, valitsemme sitten 50 parasta otosta pienimmillä häviöillä ja suoritamme optimoinnin 300 askeleen ajan. Tulokset ja vertailu huipputason tekstipohjaista verkon tyylittelymenetelmää, Text2Mesh [ ], vastaan, on esitetty kuvassa . Huomaa, että [ ] vaatii muodon verkon syötteenä menetelmälle. Tarjoamme generoimamme verkot jäädytetystä generaattorista syöttöverkkoina sille. Koska se vaatii verkon pisteiden olevan tiheitä syntetisoidakseen pintayksityiskohtia pisteiden siirtymillä, jaamme syöttöverkot lisäksi keskipisteen alijaolla varmistaaksemme, että jokaisella verkolla on keskimäärin 50k-150k pistettä. 56 21 Gt Gf Gt Gf z z Gt 21 44 9 44 5 Johtopäätös Esittelimme GET3D:n, uuden 3D-generatiivisen mallin, joka pystyy syntetisoimaan korkealaatuisia 3D-teksturoituja verkkoja mielivaltaisella topologialla. GET3D koulutetaan käyttämällä ainoastaan 2D-kuvia valvontana. Osoitimme kokeellisesti merkittäviä parannuksia 3D-muotojen generoinnissa verrattuna aiempien huipputason menetelmien kanssa useissa kategorioissa. Toivomme, että tämä työ vie meitä askeleen lähemmäs 3D-sisällöntuotannon demokratisointia tekoälyn avulla. Vaikka GET3D ottaa merkittävän askeleen kohti käytännöllisesti hyödyllistä 3D-teksturoitujen muotojen 3D-generatiivista mallia, sillä on edelleen joitakin rajoituksia. Erityisesti luotamme edelleen 2D-siluetteihin sekä kamerajakauman tuntemukseen koulutuksen aikana. Tämän seurauksena GET3D:tä on toistaiseksi arvioitu vain synteettisellä datalla. Lupaava laajennus voisi hyödyntää edistysaskelia objektien segmentoinnissa ja kameran asennon estimoinnissa tämän ongelman lieventämiseksi ja GET3D:n laajentamiseksi todellisen maailman dataan. GET3D koulutetaan myös kategoriakohtaisesti; sen laajentaminen tulevaisuudessa useampaan kategoriaan voisi auttaa meitä paremmin edustamaan kategoriat ylittävää monimuotoisuutta. Rajoitukset Ehdotimme uutta 3D-generatiivista mallia, joka tuottaa 3D-teksturoituja verkkoja, jotka voidaan helposti tuoda nykyisiin grafiikkamoottoreihin. Mallimme pystyy tuottamaan muotoja mielivaltaisella topologialla, korkealaatuisilla tekstuureilla ja rikkailla geometrisilla yksityiskohdilla, luoden pohjaa tekoälytyökalujen demokratisoinnille 3D-sisällöntuotannossa. Kuten kaikki koneoppimismallit, GET3D on myös altis koulutusdatan aiheuttamille vinoutumille. Siksi on syytä olla varovainen käsiteltäessä herkkiä sovelluksia, kuten 3D-ihmiskehjen generointia, sillä GET3D ei ole räätälöity näihin sovelluksiin. Emme suosittele GET3D:n käyttöä, jos yksityisyys tai virheellinen tunnistus voi johtaa mahdolliseen väärinkäyttöön tai muihin haitallisiin sovelluksiin. Sen sijaan rohkaistaan harjoittajia tarkastelemaan huolellisesti ja poistamaan vinoutumia aineistoista ennen mallimme kouluttamista kuvaamaan reilua ja laajaa jakaumaa mahdollisista ihonsävyistä, rodusta tai sukupuoli-identiteetistä. Laajemmat vaikutukset 6 Rahoituksen julkistaminen Tämän työn rahoitti NVIDIA. Jun Gao, Tianchang Shen, Zian Wang ja Wenzheng Chen saivat lisätuloja Toronton yliopiston ja Vector Instituten stipendiaattina, jotka eivät suoraan tukeneet tätä työtä. Viitteet Autodesk Maya, . Käytetty: 2022-05-19. https://www.autodesk.com/products/maya/overview Renderpeople, . Käytetty: 2022-05-19. http://https://renderpeople.com/ Sketchfab, . Käytetty: 2022-05-19. https://sketchfab.com/ Turbosquid by Shutterstock, . Käytetty: 2022-05-19. https://www.turbosquid.com/ Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, ja Leonidas Guibas. Learning representations and generative models for 3d point clouds. In , sivut 40–49. PMLR, 2018. International conference on machine learning Brent Burley ja Walt Disney Animation Studios. Physically-based shading at disney. In , vol. 2012, sivut 1–7. vol. 2012, 2012. ACM SIGGRAPH Eric Chan, Marco Monteiro, Petr Kellnhofer, Jiajun Wu, ja Gordon Wetzstein. pi-gan: Periodic implicit generative adversarial networks for 3d-aware image synthesis. In , 2021. Proc. CVPR Eric R Chan, Connor Z Lin, Matthew A Chan, Koki Nagano, Boxiao Pan, Shalini De Mello, Orazio Gallo, Leonidas J Guibas, Jonathan Tremblay, Sameh Khamis, et al. Efficient geometry-aware 3d generative adversarial networks. In , sivut 16123–16133, 2022. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Angel X Chang, Thomas Funkhouser, Leonidas Guibas, Pat Hanrahan, Qixing Huang, Zimo Li, Silvio Savarese, Manolis Savva, Shuran Song, Hao Su, et al. Shapenet: An information-rich 3d model repository. , 2015. arXiv preprint arXiv:1512.03012 Ding-Yun Chen, Xiao-Pei Tian, Yu-Te Shen, ja Ming Ouhyoung. On visual similarity based 3d model retrieval. In , vol. 22, sivut 223–232. Wiley Online Library, 2003. Computer graphics forum Wenzheng Chen, Jun Gao, Huan Ling, Edward Smith, Jaakko Lehtinen, Alec Jacobson, ja Sanja Fidler. Learning to predict 3d objects with an interpolation-based differentiable renderer. In , 2019. Advances In Neural Information Processing Systems Wenzheng Chen, Joey Litalien, Jun Gao, Zian Wang, Clement Fuji Tsang, Sameh Khalis, Or Litany, ja Sanja Fidler. DIB-R++: Learning to predict lighting and material with a hybrid differentiable renderer. In , 2021. Advances in Neural Information Processing Systems (NeurIPS) Yanqin Chen, Xin Jin, ja Qionghai Dai. Distance measurement based on light field geometry and ray tracing. , 25(1):59–76, 2017. Optics Express Zhiqin Chen ja Hao Zhang. Learning implicit fields for generative shape modeling. , 2019. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Blender Online Community. . Blender Foundation, Stichting Blender Foundation, Amsterdam, 2018. Blender - a 3D modelling and rendering package Prafulla Dhariwal ja Alexander Nichol. Diffusion models beat gans on image synthesis. , 34, 2021. Advances in Neural Information Processing Systems Akio Doi ja Akio Koide. An efficient method of triangulating equi-valued surfaces by using tetrahedral cells. , 74(1):214–224, 1991. IEICE TRANSACTIONS on Information and Systems Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. , 2020. arXiv preprint arXiv:2010.11929