Назад
34

Прекрасное далёко. Где мы на пути к Метавёрсу

34

Введение

В этой статье мы разберём историю и перспективы такого волнующего явления, как Метавёрс. Обсудим, какие технологии нужны для его появления, а также их текущий уровень развития. В частности рассмотрим недавние статьи с топовых конференций из области 3D Computer Vision, где были предложены алгоритмы и методы, приближающие Метавёрс.

Статья состоит из трёх блоков. Их можно читать по отдельности в зависимости от вашего интереса к каждому из них:

  • философский блок — рассуждения о том, что можем считать Метавёрсом, откуда он берёт начало и куда движется;
  • технический блок — обсуждение задач для разработчиков Метавёрса, разбор последних и самых интересных статей, предлагающих их решения;
  • заключительный блок — мысли о том, чего сейчас не хватает для появления Метавёрса, и в каком направлении мы должны сосредоточить наши усилия.

Философский блок

Само понятие “Метавселенная” довольно размыто — это всё, что можно описать как “расширенная вселенная”. А дальше каждый имеет в виду здесь что-то своё в зависимости от того, чем он торгует. У одного это такая социальная сеть, у другого — дополненная реальность, у третьего — что-то вроде игры. Мне больше всего нравится её интерпретация как социальной сети. В любом случае “Метавселенная” — такой новый мир, где люди могут взаимодействовать, сидя на диване.

Сама идея существовала довольно долго в виде фантастических романов и абстрактных концепций виртуального мира. Но, скорее всего, уже нашему поколению удастся прикоснуться к Метавёрсу. Да, можно долго спорить, построит ли Цукерберг новый Метафейсбук, но Метавёрс в каком-то “народном” формате (Метавёрс от Фортнайт, прости господи) мы точно застанем. Это тоже своего рода Метавёрс — сейчас школьники накупят VR очков, и можно будет считать, что он случился 🙂

Рисунок 1. Выступление модного молодёжного музыкального исполнителя в Метавёрсе от Epic Games, также широко известной, как Fortnite

Конечно, концертами реперов в Фортнайте Метавёрс не ограничится. Хотя и это очень важный аспект социальной жизни, без которого никак нельзя. Ещё есть мнение, что такой новый способ взаимодействия людей поможет развить другие области нашей жизни. Сделать образование нагляднее и интереснее. Открыть мир более доступным образом. Создать смелые шедевры, если ты художник.

Отдельно выделяется задача telepresence — возможность виртуального участия в важном совещании, на съезде гаражного кооператива или свидании. При этом вы в большей степени будете вовлечены в процесс в сравнении с разглядыванием собеседника в окошке зума. Если собеседников несколько — это особенно удобно. Тогда мы легко переключаем своё внимание между ними, с одной стороны, они помогают себе более раскованной жестикуляцией — с другой. Добавим сюда тот факт, что сейчас активно ведётся работа над всевозможными костюмами обратной связи и другими устройствами. Поэтому в прекрасном будущем для получения ободряющего похлопывания по плечу от боса не обязательно нужно будет выходить из дома.

Для наступления прекрасного будущего сначала нужно подготовить технологический фундамент. С целью появления Метавёрса уже проделана серьезная работа в области 3DCV и компьютерной графики, но впереди ещё больше новых и интересных задач. Об этом мы подробно поговорим в следующем блоке. Не будем забывать о полезном вкладе наших коллег — сетевых инженеров, электронщиков, сисадминов и даже блокчейн-инженеров (деньги нам в Метавёрсе нужны). В нашей статье мы обсудим исключительно 3DCV-шную часть, а перед остальными снимаем шляпу 😊

Технический блок

Про окружение

Мы не будем погружаться глубоко в историю компьютерной графики, но отметим, что до недавнего времени картинку в играх и фильмах представляли как набор трёхмерных полигонов с текстурами. Да, этот метод позволил Кемерону нарисовать Аватара, но он очень дорогой и времязатратный. И если речь идёт про отрисовку в реальном времени — здесь мы ограничены в фотореализме, который можем выжать из такого представления.

Рисунок 2. Слева: рендеринг одного кадра в течение 2 месяцев. Справа: 15 FPS

NeRF

Выходом из наклёвывающегося тупика стали неявные представления в графике. Основная идея: описать сцену или объект некоторыми векторами признаков / запечь в весах нейронки. Затем такую нейронку можно использовать для фотореалистичной отрисовки объектов с новых ракурсов или с новой анимацией.

Самый известный метод неявных представлений — Neural Radiance Fields (NeRF). Он позволяет по нескольким снимкам сохранять сцену в весах нейронной сети и делать рендеринг с новых ракурсов:

Несмотря на ошеломительный успех этой технологии, на первых парах она имела ряд существенных недоработок, ограничивающих её применимость:

  • Не особо впечатляющая скорость рендеринга и обучения. Для фотореализма это уже очень быстро и круто, но всё ещё мало оборотов для применения на практике. Переломной точкой стала статья InstantNGP, где использовалось хеширование векторов признаков в пространстве для быстрого доступа к ним. Это позволило делать рендеринг 1920 × 1080 изображений со скоростью 130 FPS. Мы подробно обсуждали InstantNGP в этом видео.
  • Требования к количеству обучающих данных. Когда я ранее говорил “по нескольким снимкам”, я намеренно не сообщал по скольким конкретно. На практике выходит несколько сотен снимков для базовых подходов. К счастью, на сегодняшний день это значение можно снизить и до одного снимка. Понятно, что останется вопрос баланса между качеством рендера и объёмом входных данных, но уже были сделаны большие шаги в сторону его разрешения. Вот лишь немногие из работ в этом направлении: Vip-NeRF, pixelNeRF и обучаемая инициализация.
  • Фишки из классической графики. Недостаток NeRF’ов — они не позволяют добиваться дополнительных эффектов сцены. В качестве самого очевидного факта здесь можно выделить смену освещения. Другой характерный пример — использование mipmapping’а для снижения артефактов рендеринга. Однако более поздние работы предложили решения и этим недостаткам. Так, mipmapping реализуется в работе mip-NeRF. А изменение освещения в сцене — в NeRV. Подробное устройство NeRV мы разбирали в этом посте.

Gaussian Splatting

Не успели все толком начать внедрять NeRF’ы — грянула очередная революция в методах рендеринга: Gaussian Splatting. Основная идея: сделать шаг в сторону явного представления сцены и описать её как набор обучаемых цветных гауссовых примитивов.

Рисунок 3. Полупрозрачные эллипсоиды, затухающие к краю, наслаиваются друг на друга и формируют сцену

В одной из статей нашего канала мы подробно обсудили механизмы обучения положения таких примитивов по входным фотографиям, а также их рендеринг. Этот метод позволяет при том же размере изображения и на том же устройстве получать частоту кадров в секунду в 10 раз выше, чем у InstantNGP (его мы рассматривали выше):

Рисунок 4. Скорость рендеренга различных методов. InstantNGP — самый быстрый вариант метода NeRF. Обозначением Our помечен 3D Gaussian splatting, так как изображение взято из посвящённой ему статьи.

Такой результат сам по себе уже выглядит как большой рывок в сторону Метавёрса, но научно-технический прогресс не остановился на 90 fps. Сегодня рекордная скорость рендеринга для метода с основой Gaussian splatting’ом — 900 кадров в секунду!

Метод RadSplat объединил в себе лучшее от NeRF (качество на сложных сценах) и Gaussian splatting (скорость рендеринга). Таким образом, у нас получился инструмент для фотореалистичного рендеринга целых локаций.

Но Метавёрс не ограничивается пределами одного дома и заднего двора. Что насчёт представления и рендеринга целых улиц и городов? В рамках Gaussian splatting (и NeRF) активно решается задача Level-of-Detail (LOD): CityGaussian и Octree-GS. В алгоритм рендеринга добавляется механизм, позволяющий регулировать детализацию (число гауссиан в объекте) в зависимости от его удалённости от камеры:

Также по аналогии с NeRF’ами в гауссианы добавляются фишки из классической компьютерной графики. В частности механизм шейдеров (подпрограмм, вычисляющих цвет в каждой точке поверхности). Он в GaussianShader помогает отрисовывать сложные физические эффекты, например, отражения.

Последняя по порядку (но не по важности) фишка Gaussian splatting’а — комбинирование объектов в сцене. У NeRF’а, который описывал сцену весами нейронки, были определённые сложности с комбинацией этих сцен-весов. А вот Gaussian Splatting со своим явным представлением в виде гауссиан, напротив, справляется с этой задачей с чрезвычайной лёгкостью:

Одна из последних и моих любимых работ (из-за их уморительных визуализаций) — Gaussian Frosting. Авторы статьи закрепляют гауссианы на поверхности меша, что позволяет им деформировать и комбинировать объекты в обычных 3D редакторах, таких как Blender.

Рисунок 5. Комбинация разных объектов, отсканированных с помощью варианта 3D Gaussian Splatting — Gaussian Frosting

Про аватаров 👯

Итак, мы начали обсуждать аминирование персонажей в сцене, поэтому предлагаю сейчас подробнее поговорить о задаче аватаров.

Рисунок 6. Аватар Марка Цукерберга наслаждается видами в Метавёрсе, созданным его компанией. Можно заметить: такой вариант аватара и его окружения не обременён детализацией. Это любопытно, ведь у Меты много отличных работ по фотореалистичной реконструкции

Аватары — краеугольный камень Метавёрса. Без них все красивые рендеры городов, котов и домиков не имеют смысла. Аватары — самая сложная задача из всех задач в рамках построения Метавёрса. Им необходимо не только хорошо выглядеть, но и не разваливаться при движении. Анимации не стоит пестрить артефактами, а лица должны быть похожи на реальных прототипов и органично вписываться в окружающий мир. Это всё звучит, конечно, как колоссальная работа. Давайте сейчас обсудим основные разработки в этой области.

Задачу построения аватаров исторически решают в двух альтернативных постановках: аватары головы и аватары всего тела. У каждой из них есть свои сложности. Аватары головы требуют большей схожести с оригиналом, так как человек чувствителен к мельчайшим отличиям в лицах. Аватары всего тела сложнее анимировать из-за множества движущихся конечностей и одежды свободного покроя (одежда также дает разнообразие).

Самый известный метод генерации голов — Codec Avatars от компании Meta. Если вы вдруг пропустили интервью с Цукербергом — вот так выглядит Codec Avatar:

В этом подходе аватар представляется как меш со специальными обучаемыми текстурами. С помощью легковесной MLP они превращаются в соответствующие цвета и позволяют получить фотореалистичную картинку. Но тут есть одна хитрость — для получения такого аватара нужно быть другом Цукерберга… Чтобы сканировать человека, они используют специальные установки из камер, перед которыми нужно в течение часа записывать разные выражения лица:

Рисунок 7. Установка для сканирования лиц из множества камер. Чтобы с её помощью добавить человека в Метавёрс, его нужно доставить в офис компании и отсканировать

Такой путь развития Метавёрса выбрала компания Мета: сначала делаем очень красиво, а потом думаем, как упростить схему генерации аватара. И придумали! И разработали Authentic Volumetric Avatars from a Phone Scan, чтобы сканировать себя на камеру телефона и генерировать аватара:

Рисунок 8. Элегантное решение — приложение на телефоне с возможностью отсканировать себя самому

При этом Мета не забывает внедрять новые технологии в своих аватаров. Например, они добавили Gaussian Splatting (из предыдущего раздела) в Codec Avatars и получили Relightable Gaussian Codec Avatars с лучшим качеством рендера и изменяемым освещением. Вообще, Мета под развитие технологии Codec Avatars целую лабу организовала, так что будет ждать от них дальнейших прорывов.

Что же касается аватаров в полный рост — здесь интересно оценить качество результатов в контексте красиво развивающейся на ветру одежды. Та же Мета работает и над Codec Avatars для представления людей в полный рост, и над отдельным моделированием физики движения одежды, как в Dressing Avatars:

Рисунок 9. Аватар человека в полный рост и его фотографии во время сканирования

Интересные решения вновь позволяет найти Gaussian Splatting. Animatable Gaussians используют представление в виде гауссиан + multi-view видео в качестве входа, рисуют очень красивую анимацию платьев без явного симулирования физики:

Данный метод требует “миллиона” камер в качестве входа, но по этому поводу сейчас тоже активно ведётся работа. Так, исследователи из Samsung предложили метод MoRF, который по одному входному видео генерирует, на мой взгляд, очень красивых аватаров:

Про игровые движки и 3D редакторы 🏗️

Еще один важный аспект развития Метавёрса — внедрение технологий, разработанных исследователями, в прикладные инструменты. Ведь никому не хочется разбираться в репозитории с кодом к очередной статье, а хочется сразу начинать творить.

При этом интересно, хотя для NeRF’ов и были специальные инструменты типа Nerfstudio, по-настоящему народной стала его технология-преемница — Gaussian splatting. Сегодня помимо вязанки специализированных инструментов для работы со сплаттингом его можно найти и в популярных игровых движках и редакторах:

Unity

Unreal Engine

Blender

Такой бурный рост технологий, доступных каждому, внушает светлую надежду на развитие Метавёрса вне рамок крупных корпораций. Возможно, нас ждут времена, когда Метавёрсы станут похожими на сервера Minecraft: у каждого школьника будет свой, а еще мы сможем выбирать себе вселенную по вкусу.

Заключительный блок

Резюмируя всё выше сказанное, отметим: Метавёрс, каким его рисует компания Мета, уже не за горами. А Метавёрс в более раннем своём варианте практически наступил. Теперь вопрос скорее в том, как он выглядит и что в нём можно делать. Не всем по душе цветастая палитра Фортнайта, поэтому, возможно, прилагаемые усилия для достижения фотореализма делаются в верном направлении. К тому же фотореалистичная графика открывает более широкий диапазон возможностей для Метавёрса: от онлайн-знакомств, где можно сходить в виртуальное кафе с фотореалистичным Брэдом Питтом, до прочих мелких радостей жизни.

В этой статье мы рассмотрели далеко не все задачи 3DCV, решение которых понадобится в Метавёрсе. Конечно, аватары и окружение — наиболее важные аспекты такой вселенной. Но для разнообразия мира будут популярны технологии генерации 3D по текстовому описанию: например, выбор причёски для вашего аватара или милых предметов для интерьера.

Еще одно интересное направление работы — оптимизация. Особенно, если мы собираемся переселить весь мир в такой Метавёрс. Тогда у нас остро встанет вопрос об эффективном хранении миллиардов аватаров / рендеринге на разных устройствах.

В заключение хочу отметить, хоть фантазия и рисует нам “дизайнера вселенных” как профессию будущего, кто-то должен вложить в руки этого дизайнера нужные инструменты. И, как известно, “во время золотой лихорадки больше всех зарабатывает продавец лопат”. Поэтому, коллеги, свой кусок хлеба с чёрной икрой у нас на столе будет всегда 🙂

Телеграм-канал

DeepSchool

Короткие посты по теории ML/DL, полезные
библиотеки и фреймворки, вопросы с собеседований
и советы, которые помогут в работе

Открыть Телеграм

Увидели ошибку?

Напишите нам в Telegram!