Автори: Џун Гао, 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) Зан Гојчич, NVIDIA (zgojcic@nvidia.com) Сања Фидлер, 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 (а) (б) 15 1 (в) Претходните работи на 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 (а) 12 (б) 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-свесна синтеза на слики кои исто така користат невронска претстава на полето, ние треба само да ја повикаме текстурната претстава на локациите на точките на површината (наспроти густи примероци по зрак). Ова значително ја намалува пресметковната сложеност за рендерирање на слики со висока резолуција и гарантира генерирање на мулти-поглед конзистентни слики по конструкција. 3.2 Диференцијабилно рендерирање и обука За да го надгледуваме нашиот модел за време на обука, црпиме инспирација од Nvdiffrec [ ] што врши мулти-поглед 3D реконструкција на објекти користејќи диференцијабилен рендерирач. Конкретно, ја рендерираме извлечената 3D мрежа и текстурната претстава во 2D слики користејќи диференцијабилен рендерирач [ ], и го надгледуваме нашиот мрежен со 2D дискриминатор, кој се обидува да ја разликува сликата од вистински објект или рендерирана од генерираниот објект. 47 37 Претпоставуваме дека дистрибуцијата на камери C што беше искористена за стекнување на сликите во Диференцијабилно рендерирање