```html Автори: Џун Гао, NVIDIA, Универзитет во Торонто, Институт Вектор (jung@nvidia.com) Тјанчанг Шен, NVIDIA, Универзитет во Торонто, Институт Вектор (frshen@nvidia.com) Zian Wang, NVIDIA, Универзитет во Торонто, Институт Вектор (zianw@nvidia.com) Wenzheng Chen, NVIDIA, Универзитет во Торонто, Институт Вектор (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, Универзитет во Торонто, Институт Вектор (sfidler@nvidia.com) Апстракт Како што неколку индустрии се движат кон моделирање на масивни 3D виртуелни светови, потребата од алатки за креирање содржина што можат да се прилагодат во однос на количината, квалитетот и разновидноста на 3D содржината станува очигледна. Во нашата работа, имаме за цел да тренираме 3D генеративни модели со високи перформанси што синтетизираат текстурирани мрежи што може директно да се консумираат од 3D рендер машини, со што веднаш ќе бидат употребливи во следните апликации. Претходните работи на 3D генеративно моделирање или им недостасуваат геометриски детали, или се ограничени во топологијата на мрежата што можат да ја произведат, обично не поддржуваат текстури, или користат невронски рендерирачи во процесот на синтеза, што ги прави нивната употреба во обичен 3D софтвер нетривијална. Во оваа работа, го воведуваме GET3D, енеративен модел што директно генерира ксплицитни екстурирани мрежи со сложена топологија, богати геометриски детали и висококвалитетни текстури. Ние ги поврзуваме неодамнешните успеси во диференцијабилното моделирање на површини, диференцијабилното рендерирање, како и 2D Генеративните Контраверзни Мрежи (GANs) за да го тренираме нашиот модел од 2D колекции на слики. GET3D е способен да генерира висококвалитетни 3D текстурирани мрежи, кои се движат од автомобили, столици, животни, мотори и човечки ликови до згради, постигнувајќи значителни подобрувања во однос на претходните методи. Нашата проектна страница: G E T 3D https://nv-tlabs.github.io/GET3D 1 Вовед Разновидна, висококвалитетна 3D содржина станува сè поважна за неколку индустрии, вклучувајќи игри, роботика, архитектура и социјални платформи. Сепак, рачното креирање на 3D ресурси одзема многу време и бара специфично техничко знаење, како и вештини за уметничко моделирање. Еден од главните предизвицици е скалата – додека може да се најдат 3D модели на 3D пазари како Turbosquid [ ] или Sketchfab [ ], креирањето многу 3D модели за, да речеме, пополнување на игра или филм со толпа од различни ликови, сепак одзема значително време од уметникот. 4 3 За да се олесни процесот на креирање содржина и да се направи достапен за различни (почетни) корисници, генеративните 3D мрежи што можат да произведат висококвалитетни и разновидни 3D ресурси неодамна станаа активна област на истражување [ , , , , , , , , , , ]. Сепак, за да бидат практично корисни за тековните апликации во реалниот свет, 3D генеративните модели идеално треба да ги исполнуваат следниве барања: Тие треба да имаат капацитет да генерираат облици со детална геометрија и произволна топологија, Резултатот треба да биде текстурирана мрежа, што е примарна претстава што се користи од стандардни графички софтверски пакети како Blender [ ] и Maya [ ], и Треба да можеме да ги искористиме 2D слики за надзор, бидејќи тие се пошироко достапни од експлицитни 3D облици. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) Претходната работа на 3D генеративно моделирање се фокусираше на подгрупи од горенаведените барања, но досега ниту еден метод не ги исполнува сите (Таб. ). На пример, методите што генерираат 3D облаци од точки [ , 68, 75] обично не произведуваат текстури и мора да се претворат во мрежа во пост-процесирање. 1 5 Методите што генерираат воксели честопати немаат геометриски детали и не произведуваат текстура [ , , , ]. Генеративните модели базирани на невронски полиња [ , ] се фокусираат на извлекување геометрија, но ја занемаруваат текстурата. Повеќето од нив исто така бараат експлицитен 3D надзор. Конечно, методите што директно произведуваат текстурирани 3D мрежи [ , ] обично бараат однапред дефинирани шаблони за облици и не можат да генерираат облици со сложена топологија и променлива генотип. 66 20 27 40 43 14 54 53 Неодамна, брзиот напредок во невронско волуменско рендерирање [ ] и 2D Генеративните Контраверзни Мрежи (GANs) [ , , , , ] доведе до пораст на 3D-свесна синтеза на слики [ , , , , , ]. Сепак, оваа линија на работа има за цел да синтетизира слики со повеќекратна конзистентност користејќи невронско рендерирање во процесот на синтеза и не гарантира дека може да се генерираат значајни 3D облици. Иако мрежа може потенцијално да се добие од основната невронска претстава на полето користејќи го алгоритмот за марширање коцки [ ], извлекувањето на соодветната текстура е нетривијален потфат. 45 34 35 33 29 52 7 57 8 49 51 25 39 Во оваа работа, воведуваме нов пристап што има за цел да ги реши сите барања за практично корисен 3D генеративен модел. Конкретно, го предлагаме GET3D, енеративен модел за 3D облици што директно произведува ксплицитни екстурирани мрежи со високи геометриски и текстурни детали и произволна топологија на мрежата. Во сржта на нашиот пристап е генеративен процес што користи диференцијабилен метод за екстракција на површина [ ] и техника за диференцијабилно рендерирање [ , ]. Првиот ни овозможува директно да оптимизираме и произведуваме текстурирани 3D мрежи со произволна топологија, додека вториот ни овозможува да го тренираме нашиот модел со 2D слики, со што ги искористуваме моќните и зрели дискриминатори развиени за синтеза на 2D слики. Бидејќи нашиот модел директно генерира мрежи и користи високо ефикасен (диференцијабилен) графички рендерирач, можеме лесно да го зголемиме нашиот модел за да тренираме со слики G E T 3D експлицитна 60 47 37 со резолуција до 1024 × 1024, што ни овозможува да научиме висококвалитетни геометриски и текстурни детали. Демонстрираме врвни перформанси за безусловно генерирање 3D облици на повеќе категории со сложена геометрија од ShapeNet [ ], Turbosquid [ ] и Renderpeople [ ], како што се автомобили, столици, мотори, човечки ликови и згради. Со експлицитна мрежа како излезна претстава, GET3D е исто така многу флексибилен и може лесно да се адаптира на други задачи, вклучувајќи: учење да се генерираат декомпонирани материјали и ефекти на осветлување зависни од гледачот користејќи напредно диференцијабилно рендерирање [ ], без надзор, синтеза на 3D облици водена од текст користејќи CLIP [ ] вградување. 9 4 2 (a) 12 (b) 56 2 Сродна работа Прегледуваме неодамнешни напредоци во 3D генеративните модели за геометрија и изглед, како и 3D-свесна генеративна синтеза на слики. Во последниве години, 2D генеративните модели постигнаа фотореалистичен квалитет во синтезата на слики со висока резолуција [ , , , , , , ]. Овој напредок исто така инспирираше истражување во генерација на 3D содржини. Раните пристапи имаа за цел директно да ги прошират 2D CNN генераторите на 3D воксел решетки [ , , , , ], но високиот мемориски отпечаток и пресметковната сложеност на 3D конволуциите го попречуваат процесот на генерација на висока резолуција. Како алтернатива, други дела истражуваа претстави на облак од точки [ , , , ], имплицитни [ , ], или окта дрво [ ] претстави. Сепак, овие работи се фокусираат главно на генерирање геометрија и ја занемаруваат појавата. Нивните излезни претстави исто така треба да се пост-процесираат за да станат компатибилни со стандардни графички машини. 3D Генеративни Модели 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Послични на нашата работа, Textured3DGAN [ , ] и DIBR [ ] генерираат текстурирани 3D мрежи, но тие ја формулираат генерацијата како деформација на шаблонска мрежа, што ги спречува да генерираат сложена топологија или облици со променлив генотип, што нашиот метод може да го направи. PolyGen [ ] и SurfGen [ ] можат да произведат мрежи со произволна топологија, но не синтетизираат текстури. 54 53 11 48 41 Инспирирани од успехот на невронско волуменско рендерирање [ ] и имплицитни претстави [ , ], неодамнешната работа започна да го решава проблемот со 3D-свесна синтеза на слики [ , , , , , , , , , ]. Сепак, невронските волуменски рендерирачки мрежи се типично бавни за прашување, што доведува до долго време на тренирање [ , ], и генерираат слики со ограничена резолуција. GIRAFFE [ ] и StyleNerf [ ] ја подобруваат ефикасноста на тренирањето и рендерирањето со изведување невронско рендерирање на пониска резолуција, а потоа зголемување на резултатите со 2D CNN. Сепак, добивката во перформансите доаѓа со цена на намалена повеќекратна конзистентност. Со користење двоен дискриминатор, EG3D [ ] може делумно да го ублажи овој проблем. Сепак, извлекувањето текстурирана површина од методи што се базирани на невронско рендерирање е нетривијален потфат. Спротивно на тоа, GET3D директно произведува текстурирани 3D мрежи што можат веднаш да се користат во стандардни графички машини. 3D-свесна Генеративна Синтеза на Слики 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Метод Сега го презентираме нашиот GET3D систем за синтеза на текстурирани 3D облици. Нашиот процес на генерација е поделен на два дела: геометриска гранка, која диференцијабилно произведува мрежа на површина со произволна топологија, и текстурна гранка што произведува текстурно поле што може да се прашува на точките на површината за да произведе бои. Вториот може да се прошири на други својства на површината, како што се, на пример, материјали (Сек. ). За време на тренирањето, се користи ефикасен диференцијабилен растеризатор за рендерирање на добиената текстурирана мрежа во 2D слики со висока резолуција. Целиот процес е диференцијабилен, што овозможуваадеверзијално тренирање од слики (со маски што укажуваат на објект од интерес) со пропагирање на градиенти од 2D дискриминаторот до двете генераторски гранки. Нашиот модел е илустриран на Сл. . Во следниот дел, прво го претставуваме нашиот 3D генератор во Сек. , пред да продолжиме со диференцијабилното рендерирање и функциите на загуба во Сек. . 4.3.1 2 3.1 3.2 3.1 Генеративен Модел на 3D Текстурирани Мрежи Целта ни е да научиме 3D генератор = ( ) што ќе го мапира примерокот од Гаусова дистрибуција M, E G z ∈ N (0*,* ) до мрежа со текстура . z I M E Бидејќи истата геометрија може да има различни текстури, и истата текстура може да се примени на различни геометри, земаме два случајни влезови вектори 1 ∈ R512 и 2 ∈ R512. Следејќи го StyleGAN [ , , ], потоа користиме нелинеарни мапирачки мрежи geo и tex за да ги мапираме 1 и 2 до меѓусебни латентни вектори 1 = geo( 1) и 2 = tex( 2) кои понатаму се користат за произведување што ги контролираат генерацијата на 3D облици и текстура, соодветно. Формално ја воведуваме генерацијата за геометрија во Сек. и текстурната генерација во Сек. . z z 34 35 33 f f z z w f z w f z стилови 3.1.1 3.1.2 3.1.1 Генератор на Геометрија Дизајнираме нашата генерација на геометрија да го вклучи DMTet [ ], неодамна предложен диференцијабилен претставување на површината. DMTet ја претставува геометријата како поле на знакот на растојанието (SDF) дефинирано на деформбилна тетраедарска решетка [ , ], од кое површината може диференцијабилно да се обнови преку марширање тетраедри [ ]. Деформирањето на решетката со поместување на нејзините врвови резултира со подобра употреба на нејзината резолуција. Со усвојување на DMTet за екстракција на површината, можеме да произведеме експлицитни мрежи со произволна топологија и генотип. Следно даваме краток преглед на DMTet и читателот го упатуваме на оригиналната статија за понатамошни детали. 60 22 24 17 Нека ( ) ја означува целосната 3D простор каде што се наоѓа објектот, каде што се врвовите во тетраедарската решетка . Секој тетраедар ∈ е дефиниран користејќи четири врвови { }, со ∈ {1*, . . . , K*}, каде што е вкупниот број на тетраедри, и ∈ ∈ R3. Во прилог на неговите 3D координати, секој врв содржи вредност SDF ∈ R и деформација ∆ ∈ R3 на врвот од неговата почетна канонска координата. Оваа претстава овозможува обновување на експлицитната мрежа преку диференцијабилно марширање тетраедри [ ], каде што SDF вредностите во континуирана простор се пресметуваат со барицентрична интерполација на нивната вредност на деформираните врвови ′ = + ∆ . 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 Го мапираме 1 ∈ R512 до SDF вредности и деформации на секој врв преку серија од кондиционирани 3D конволуциски и целосно поврзани слоеви. Конкретно, прво користиме 3D конволуциски слоеви за да генерираме волумен на карактеристики условен од 1. Потоа ги прашуваме карактеристиките на секој врв ∈ користејќи трилинеарна интерполација и ги внесуваме во MLPs што произведуваат SDF вредност и деформација ∆ . Во случаи каде е потребно моделирање на висока резолуција (на пр. мотор со тенки структури на тркалата), дополнително користиме волуменска поделба следејќи го [ ]. Архитектура на Мрежата w v i w v i VT si v i 60 По добивањето на и ∆ за сите врвови, ја користиме диференцијабилната алгоритма за марширање тетраедри за да ја извлечеме експлицитната мрежа. Марширањето тетраедри ја одредува топологијата на површината во секој тетраедар врз основа на знаците на . Конкретно, мрежата се извлекува кога sign( ) /= sign( ), каде ги означуваат индексите на врвовите во работ на тетраедарот, а врвовите на таа мрежа се одредуваат со линеарна интерполација како mi,j = v 0 i sj−v 0 j si sj−si . Забележете дека горната равенка се проценува само кога si 6= sj , така што е диференцијабилна, и градиентот од mi,j може да се врати назад во SDF вредностите si и деформациите ∆vi . Со оваа претстава, облиците со произволна топологија лесно можат да се генерираат со предвидување на различни знаци на si . Диференцијабилно Извлекување на Мрежа si v i si si sj i, j m i,j 3.1.2 Генератор на Текстура Директно генерирање текстурна мапа конзистентна со излезната мрежа не е тривијално, бидејќи генерираната форма може да има произволен генотип и топологија. Затоа, текстурата ја параметризираме како текстурно поле [ ]. 50 Конкретно, текстурното поле го моделираме со функција што ја мапира 3D локацијата на точка на површината ∈ R3, условена од 2, до RGB бојата ∈ R3 на таа локација. Бидејќи текстурното поле зависи од геометријата, дополнително го условуваме ова мапирање со латентниот код на геометријата 1, така што = ( *,* 1 ⊕ 2), каде ⊕ означува конкатенација. ft p w c w c ft p w w Нашето текстурно поле го претставуваме со помош на три-рамна претстава, која е ефикасна и експресивна во реконструкција на 3D објекти [ ] и генерација на 3D-свесни слики [ ]. Конкретно, ги следиме [ , ] и користиме кондиционирана 2D конволуциска невронска мрежа за да го мапираме латентниот код 1 ⊕ 2 до три ортогонални рамни карактеристики порамнети по оски со големина × × ( × 3), каде = 256 ја означува просторната резолуција и = 32 бројот на канали. Архитектура на Мрежата 55 8 8 35 w w N N C N C Дадени рамните карактеристики, векторката на карактеристики f t ∈ R 32 на точка на површината p може да се добие како f t = P e ρ(πe(p)), каде πe(p) е проекцијата на точката p на рамката на карактеристики e и ρ(·) означува билинеарна интерполација на карактеристиките. Дополнителен целосно поврзан слој потоа се користи за да се мапира агрегираниот вектор на карактеристики f t до RGB бојата c. Забележете дека, за разлика од другите работи за 3D-свесна синтеза на слики [8, 25, 7, 57] што исто така користат претстава на невронско поле, ние само треба да го прашуваме текстурното поле на локациите на точките на површината (спротивно на густи прашувања долж зрак). Ова значително ја намалува пресметковната сложеност за рендерирање слики со висока резолуција и гарантира генерирање на повеќекратни конзистентни слики по конструкција. 3.2 Диференцијабилно Рендерирање и Тренирање За да го надгледуваме нашиот модел за време на тренирањето, црпиме инспирација од Nvdiffrec [ ] што врши реконструкција на 3D објекти со повеќе погледи користејќи диференцијабилен рендерирач. Конкретно, ја рендерираме извлечената 3D мрежа и текстурното поле во 2D слики користејќи диференцијабилен рендерирач [ ], и го надгледуваме нашиот мрежа со 2D дискриминатор, кој се обидува да ја разликува сликата од вистински објект или рендериран од генериран објект. 47 37 Претпоставуваме дека дистрибуцијата на Диференцијабилно Рендерирање