```html Автори: Јун Гао, NVIDIA, Универзитет во Торонто, Институт Вектор (jung@nvidia.com) Тианчанг Шен, NVIDIA, Универзитет во Торонто, Институт Вектор (frshen@nvidia.com) Зиан Ванг, NVIDIA, Универзитет во Торонто, Институт Вектор (zianw@nvidia.com) Венженг Чен, NVIDIA, Универзитет во Торонто, Институт Вектор (wenzchen@nvidia.com) Кангсуе Јин, NVIDIA (kangxuey@nvidia.com) Даикинг Ли, NVIDIA (daiqingl@nvidia.com) Ор Литани, NVIDIA (olitany@nvidia.com) Zan Gojcic, NVIDIA (zgojcic@nvidia.com) Sanja Fidler, NVIDIA, Универзитет во Торонто, Институт Вектор (sfidler@nvidia.com) Апстракт Како што неколку индустрии се движат кон моделирање на масивни 3D виртуелни светови, потребата од алатки за создавање содржина што можат да се прилагодат во однос на квантитетот, квалитетот и разновидноста на 3D содржината станува очигледна. Во нашата работа, ние имаме за цел да обучиме високопродуктивни 3D генеративни модели што синтетизираат текстурирани мрежи што може директно да ги консумираат 3D рендеринг моторите, со што веднаш ќе бидат употребливи во downstream апликации. Претходните работи за 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 синтеза на слики. Бидејќи нашиот модел директно генерира мрежи и користи високо ефикасен (диференцијабилен) графички рендерирач, лесно можеме да го зголемиме нашиот модел за да обучуваме со резолуција на слика висока до 1024 × 1024, што ни овозможува да научиме висококвалитетни геометриски и текстурни детали. G E T 3D експлицитна 60 47 37 Ние демонстрираме најсовремени перформанси за безусловно генерирање 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 Претпоставуваме дека ди Диференцијабилно рендерирање