что такое нейросеть в арт
Нейросети уже рисуют картины и пишут сценарии. Где ещё они догоняют человека
По данным Всемирного Экономического Форума, к 2025 году искусственный интеллект заменит 85 миллионов рабочих мест, в том числе — творческих. Нейронные сети уже умеют рисовать картины, писать сценарии и создавать музыку, а их произведения продают на аукционах за огромные деньги.
В этой статье разберёмся, на что ещё способны нейросети, как у них получается так хорошо подражать людям и где они смогут заменить человека. И обязательно попробуем сгенерировать что-нибудь сами.
Живопись
Васнецов писал «Спящую царевну» 40 лет, Да Винчи рисовал губы Джоконды 12 лет, а нейросети генерируют десятки образов за несколько секунд. Посмотрим, как им это удаётся и как выглядит их «творчество».
Нейросеть Google
Google был одним из первых, кто научил нейронные сети создавать картины. Ещё в 2015 году команда инженеров, среди которых был россиянин Александр Мордвинцев, разработала алгоритм компьютерного зрения Deep Dream. Он использует свёрточные нейронные сети, которые хорошо распознают образы.
DeepDream не умеет полноценно писать картины, он лишь может генерировать новые изображения на основе полученного. Но работы нейросети всё равно пользуются спросом. Например, на аукционе Christie’s картину искусственного интеллекта продали за 432 тысячи долларов.
Как это работает
Сначала Deep Dream обучают. Нейросети показывают разные изображения, и она запоминает образы: людей, животных, здания.
Затем в Deep Dream загружают фотографию. Нейронка анализирует изображение, начинает искать знакомые элементы.
Потом DeepDream рисует замеченные образы. На первых этапах нейронная сеть «смотрит» на края и углы изображений, поэтому добавляет лишь небольшие завитки и штрихи, и картинка немного искажается.
Фотографию загружают в Deep Dream → Deep Dream добавляет небольшие искажения в виде завитков
Новую картинку с искажениями Deep Mind снова анализирует и искажает. Так происходит 10–30 раз. Изображение всё больше меняется, и в итоге на нём постепенно вырисовываются объекты, которые нейросеть видела при обучении. Например, на картинке — дерево, а нейронка насмотрелась на здания, поэтому дорисует дом.
Как это выглядит
Поскольку Deep Mind в процессе обучения показали очень много картинок с животными, она видит их везде. Показываешь небо — видит птиц. Показываешь Мону Лизу — видит собаку и очень много глаз.
До обработки Deep Mind / После обработки Deep Mind
Итоговый результат
До обработки Deep Mind / После обработки Deep Mind
Нейросеть «Яндекса»
В 2020 году «Яндекс» создал целую виртуальную выставку картин, которые написала нейросеть. Это уже больше похоже на традиционное искусство. Нейросеть повторяет архитектуру StyleGAN2 от NVIDIA, которую изначально создавали, чтобы генерировать лица, неотличимые от настоящих.
Как это работает
StyleGAN2 — нейросеть, где есть два алгоритма, которые соревнуются между собой. Это как фальшивомонетчик и Центробанк: первый постоянно придумывает новые способы подделать деньги, а второй подстраивается и учится отделять настоящее от фальшивого. Так система эволюционирует.
StyleGAN2 устроен подобным оброзом: с одной стороны есть генератор — он «рисует» картины, а с другой, дискриминатор — он вычисляет, похоже это на реальную картину или нет.
Сначала дискриминатору показывают изображения — например, с котиками, чтобы он научился их «видеть».
Потом в генератор подают «случайный шум», то есть набор чисел. Он создаёт из них изображение и отправляет дискриминатору.
Дискриминатор анализирует изображение, и если оно похоже на котиков, пропускает.
Так генератор и дискриминатор самообучаются в процессе постоянного «соревнования». А мы получаем всё более реалистичные картинки.
Как это выглядит
Специалисты «Яндекса» обучили свою нейросеть на произведениях из разных направлений живописи: от фовизма и кубизма до минимализма и стрит-арта. Поэтому результат работы их алгоритма гораздо ближе к привычному искусству, чем у Google:
Результат работы нейросети Яндекса
Нейросеть OpenAI
В январе 2021 года OpenAI разработала новую нейронную сеть DALL·E, которая умеет переводить текст в изображение.
Нейронные алгоритмы Text-to-Image — новый тренд 2021 года. Это гораздо больше напоминает реального художника: формулируешь ТЗ → нейросеть пишет картину.
Как это работает
DALL·E тоже сначала обучают. Ей показывают пары текст–изображение, то есть объясняют: здесь — собака, там — машина, тут — человек.
Пользователь отправляет в нейросеть текстовый запрос. Он преобразуется в набор цифр, а цифры внутри нейронки с помощью сложных формул превращаются в изображение.
Созданные изображения отбирает другая нейросеть — CLIP. У DALL·E нет своего дискриминатора, приходится подключать дополнительные функции. CLIP умеет определять, что изображено на картинке без предварительного обучения. Например, может точно сказать, что на фото кинг-чарльз-спаниель, а не бретонский эпаньоль или кокер-спаниель.
Пример работы Clip
DALL·E может сгенерировать полную чушь, но если CLIP разглядит на картинке что-то знакомое, он её отберёт.
Как это выглядит
Вот, какие изображения генерирует DALL·E на сразу два запроса: «синяя клубника» и «витражи».
«Синяя клубника» + «витражи»
А вот ещё несколько интересных картин по разным запросам:
Классификация картин по стилю и жанру
У Singularis Lab есть разработка на базе сверточной нейросети, которая позволяет определить жанр и стиль картины. Для этого достаточно загрузить файл в систему, и алгоритм выдаст результат.
Как это работает
Обучение нейросети “основам изобразительного искусства”. Мы показали нейросети множество различных картин. Система запомнила характерные признаки представленных ей академических стилей и жанров и научилась определять их самостоятельно.
Загрузка изображения с любого устройства. Демка доступна с любого устройства с выходом в интернет. Вы можете загрузить любое изображение, даже фотографию вашего блокнота. Нейросеть в любом случае классифицирует его по своей базе знаний.
Нейросеть классифицирует изображение, показывает вам результат и примеры похожих картин.
Подробнее о проекте рассказываем здесь.
Наша разработка
Новости и статьи
Главный научный сотрудник Narrative Science Кристиан Хаммонд считает, что к 2030 году 90% новостей будут написан искусственным интеллектом.
Западные издания уже применяют нейросети для написания новостных заметок. Для этого используют передовую модель на нейронных сетях GPT-3 — самый мощный инструмент, который умеет генерировать текст.
GPT-3 настолько хорошо подражает человеку, что OpenAI держит нейросеть в закрытом доступе. Создатели боятся, что их разработку могут использовать для распространения дезинформации.
Как это работает
Нейросеть заранее обучают. Например, на старте GPT-3 показали 45 ТБ текста из интернета: статьи из «Википедии», книги, полезные материалы.
Нейросеть запоминает, как пишут люди: о чём они говорят, какие слова чаще ставят вместе, а какие — нет..
GPT-3 принимает начало текста от пользователя и начинает пристраивать к нему каждое следующее слово. Она перебирает все известные ей слова и оценивает, какое лучше подойдёт в каждом случае. Поскольку она видела очень много примеров, предсказания GPT-3 часто оказываются удачными.
Как это выглядит
Американский студент создал целый блог, который вела нейросеть GPT-3. Тексты публиковались на известном агрегаторе новостей Hacker News.
GPT-3 настолько хорошо генерирует тексты, что одна статья даже заняла первое место в топе — пользователи посчитали её самой интересной.
Подвох заметил лишь один юзер Hacker News, но его обвинили в некорректности и попросили не обижать автора.
— Похоже, что это написал GPT-3. Текст ни о чем. — Может, вы здесь новенький, но ваш грубый комментарий неприемлем в этом сообществе. Если вы не согласны с текстом, приведите аргументы, а не оскорбляйте автора.
Ещё GPT-3 хорошо показала себя в создании новостных заголовков. У «Медузы» есть проект Neural News, в котором русскоязычная модель GPT-3 от «Сбера» занимается ровно этим: генерирует фейковые заголовки. Порой выходит очень правдоподобно:
Сценарии
По сценариям, которые пишут нейросети, уже снимают короткометражные фильмы. Выходит странно, но по-своему интересно. На YouTube есть целый канал Calamity Ai, на который студенты калифорнийской киношколы выкладывают короткометражки по сценариям, написанным нейросетью.
Посмотреть короткометражку от нейросети вы можете здесь.
Такая нейросеть есть и у «Яндекса». В июне 2021 года компания представила сервис «Балабоба», который умеет достраивать тексты. В основе «Балабобы» — нейросеть YaLM, которая готовит ответы для «Поиска» и «Алисы».
«Балабоба» умеет генерировать сценарии фильмов, теории заговора, ТВ-репортажи, пацанские цитаты, тосты и рекламные слоганы.
Как это работает
YaLM работает по похожему с GPT-3 принципу.
«Яндекс» заранее обучил YaLM. Нейросетке показали веб-страницы с текстом на русском: статьи, новости, книги, посты в соцсетях и сообщениях на форумах.
Нейронка запомнила примеры. Она усвоила, что в предложения Толстого тянутся на полстраницы, а после «Мама мыла. » лучше поставить слово «рама», а не «бегать».
Теперь, когда пользователь пишет начало текста «Балабобе», нейронка начинает подбирать каждое следующее слово — как Т9 в смартфоне. YaLM перебирает слова и оценивает, какое лучше подойдёт для этого контекста и не нарушит ли нейросеть при этом правила русского языка.
Как это выглядит
Вот, какую концепцию для фильма «Балабоба» сгенерировал на основе зачина криминальной комедии «Карты, деньги, два ствола».
Разработка
Искусственный интеллект так быстро развивается, что под угрозой оказались сами разработчики. В августе 2021 года OpenAI выпустила нейросеть Codex, которая однажды может заменить программистов.
Codex — это инструмент, который умеет преобразовывать команды на английском языке в программный код. Нейросеть лучше всего работает с Python, но спокойно может написать код на JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript и даже Shell.
Как это работает
Codex — по сути, тот же GPT-3, который просто гораздо лучше пишет код.
Сначала Codex изучает все открытые репозитории GitHub — это терабайты программного кода.
Затем нейронка анализирует код и комментарии к нему. Она запоминает, что пишет программист после определённого комментария и учитывает это при работе.
Пользователь на английском языке пишет Codex, что нужно сделать. Например, «выведи “Привет, мир”». А нейрость пишет строчку кода: print(‘Привет, мир’), если выбрали язык Python.
Как это выглядит
Вот, как с помощью Codex разработчик создаёт игру через команды нейросети:
Пользователь даёт команду — нейросеть её выполняет
OpenAI Codex работает в закрытом бета-тестировании. Чтобы попробовать нейросетку, нужно попасть в список ожидания. Для этого придётся заполнить форму и немного подождать.
Используем нейросеть для создания уникальных артов
Творчество всегда требует немалой фантазии. Именно поэтому в этой статье мы рассмотрим сервис, основанный на нейронной сети, позволяющий расширить творческие возможности пользователей. Причем каждое полученное изображение является общественным достоянием и может использоваться в коммерческих целях.
Приступим к рассмотрению:
Переходим на официальный сайт сервиса и нажимаем кнопку «Start», которая находится немного ниже:
Выбираем один из вариантов регистрации или же авторизации:
После этого выбираем любую картинку из предложенных на главной странице или же нажимаем «Create» в правом верхнем углу. Указываем категорию будущего изображения:
После этого есть три варианта для создания изначальной картинки, для простой загрузки выбираем средний:
Далее через профиль открываем загруженное изображение и начинаем изменять ползунки. К примеру при добавлении «Snow» на картинке появится снег в таком количестве, как Вы укажите:
Вот примерный результат, если сильно ничего не изменять:
Также можно перейти в раздел «Crossbreed» и добавить второе изображение, чтобы совместить их:
Нейронные сети в графике: задачи и перспективы применения
Сегодня мы хотим поделиться нашими компетенциями и знаниями в области машинного обучения в графике и показать, как технологии позволяют упростить многие процессы, при этом не заменяя, а дополняя деятельность человека.
Эта статья будет интересна разработчикам, дизайнерам и всем, кто интересуется новыми разработками в сфере ИИ и ML (предыдущую часть читайте на Medium).
Заметка от партнера IT-центра МАИ и организатора магистерской программы “VR/AR & AI” — компании PHYGITALISM.
Почему именно ML в графике?
Все больше людей говорит о замене человеческого труда искусственным интеллектом (AI – Artificial Intelligence) и о всеобъемлющей оптимизации процессов, и как результат создается ложное представление о роли моделей ИИ в нашей жизни (часто негативное). Однако, машинное обучение и нейронные сети могут быть отдельным инструментом, который помогает человеку, а не замещает его. Эта концепция IA (Intelligence Amplification) предполагает, что технологии помогают нам по-новому посмотреть на привычные рутинные задачи, найти новые креативные подходы и генерировать идеи.
Рис 1. Креативный IA
Наиболее ярко этот подход отражается в работе с графикой. Нейронные сети упрощают сложные задачи, в которых специалистам приходится работать с 2D и 3D-данными, и уже сейчас можно за считанные минуты создавать совершенно новые концепты, изменять лицо человека на фотографии и переносить предмет напрямую в 3D-движок по фотографии.
В этой статье мы хотели бы поделиться нашими знаниями и компетенциями в области использования нейронных сетей в графике, а также дать рекомендации по их использованию каждому человеку, не только дизайнерам и 3D-специалистам.
Рис 2. Задачи ML для работы с графикой
Говоря о задачах, которые нейронные алгоритмы позволяют решать в работе с графикой, их можно поделить на несколько групп: работа с изображениями и видео, 2D-to-3D и работа с 3D-данными.
Мы также собрали все нейронные сети и инструменты, о которых говорили в статьях, в одной табличке:
Работа с изображениями и видео
В этом направлении появляется очень много новых экспериментов, приложений и инструментов, которые помогают быстрее и качественнее работать с фото, артами, анимациями и видео, автоматизируя рутинные и долгие задачи.
Генерация: создание и анимация изображений
Первое, о чем мы хотели бы рассказать – это как нейронные сети позволяют создавать изображения. Используя датасеты с набором определенных образов или объектов, можно сгенерировать реалистичные фотографии машин, например, и даже людей. Сеть StyleGAN отлично подходит для этого, так как в ней можно получить качественный результат даже при генерировании фотографий людей.
Рис 3. Пример сгенерированных людей с помощью StyleGAN
Такой инструмент полезен для поиска вдохновения, подбора образов и получения необычных концептов. Мы экспериментировали с этой нейросетью в проекте с ARTLIFE для оживления одной из картин. Нами были сгенерированы стилизованные лица и далее мы создали анимацию, в итоге создавался плавный эффект перехода:
Рис 4. Оригинальная картина и сгенерированные лица с помощью нейронной сети
Рис 5. Финальный результат с оживлением картины
Улучшенный StyleGAN2 уже генерирует более качественные изображения, но более захватывающими являются интеграции этой сети с другими алгоритмами – в итоге могут получится визуализации клипов и креативных идей, когда нейронная сеть уже предобучена на датасете. Мы постарались визуализировать “Плачу на техно” на WikiArt, и получилось довольно необычно:
Рис 6. Как нейронка видит “Плачу на техно” в стиле WikiArt
Еще более впечатляющими являются результаты работы сети Alias-Free GAN, в которой значительно уменьшилось количество артефактов, и теперь генерация идей и анимации становятся все круче:
Рис 7. Пример анимации арта с Alias-Free GAN
Добавляя немного необычности и вариативности в StyleGAN2, исследователи экспериментировали с анимированием людей – это еще один способ не просто поиска вдохновения и референсов, в этом можно найти свой стиль графики, хоть иногда результат получается пугающим:
Рис 8. Вот такие вот необычные анимированные люди с помощью Cartoon-StyleGAN2
Любая анимация и видео позволяют работать с вниманием – с помощью различных эффектов можно концентрировать зрителя на самом важном, и в целом люди вовлекаются гораздо больше при просмотре видео (минимум на 22% больше). Нейронные сети здесь помогают всем художникам и дизайнерам, так как позволяют создавать необычные арт-работы. В частности, с помощью EbSynth можно переносить движения человека или животного на картины.
Рис 9. Пример оживления картины с помощью EbSynth на фестивале ARTLIFE 2019
Рис 10. Пример оживления картины с помощью EbSynth на фестивале ARTLIFE 2020
Text-to-image – создание изображений по текстовому описанию
Мы также протестировали CLIP модель вместе с BigGAN – такая связка позволяет генерировать изображения по текстовому описанию. И вот что у нас получилось для нескольких входных фраз.
Рис 11. Пробуем CLIP и BigGAN для генерации картинок 🙂
Почти с таким же названием StyleCLIP тоже позволяет поэкспериментировать с преобразованием текста в изображения, но здесь упор идет на обработку и редактуру уже существующих фотографий, а не генерацию новых:
Рис 12. Пример изменения изображений с помощью текста (и криповатый милый котик)
Есть, кстати, множество других нейронных сетей для генерации изображений по тексту, например, DALL-E. Принцип работы в ней такой же – по вводимому тексту генерируется несколько изображений, что можно использовать для вдохновения и поиска новых идей, а также служить референсами для будущих артов 🙂
Рис 13. Примеры сгенерированных изображений по тексту в DALL-E
Редактирование: перенос стиля для видео
Нейронные сети позволяют значительно упростить работу при обработке фото и видео. Например, в процессе создания любого предмета искусства иногда появляется желание посмотреть на всё под новым углом – мы рассказывали о нейронных сетях pix2pix и StyleTransfer, полюбившиеся дизайнерами для задач быстрого переноса стиля по изображению-референсу. Среди крутых инструментов в web, которые легко использовать, можем еще отметить Arbitrary Style Transfer и Deep Dream Generator.
Приятно видеть, что их развитие идет дальше. Например, перенос стиля прямо в режиме камеры – можно весь мир превратить в мазки кисти:
Рис 14. Эксперимент с переносом стиля в режиме камеры
А вот еще похожее применение переноса стиля. На изображении выделяются границы с помощью OpenCV, и полученные участки (по аналогии c NVIDIA GauGAN) используются для генерации изображения. Вот так можно поменять окружение вокруг вас в мир живописи:
Рис 15. Перерисовываем попугая и вдохновляемся на арт
Обработка изображений и видео
Adobe Sensei
Крупные компании-гиганты все больше смотрят в сторону ИИ и применения нейросетей для работы с графикой. Так, Adobe Sensei, набор инструментов и API с использованием нейросетей встроен в продукты Adobe – Lightroom и Photoshop.
В Lightroom есть инструмент Enhance Details для улучшения качества изображений: после обучения системы на датасете с более миллиарда снимков качество фотографий повышалось до 30%. А также программа предлагает оптимальные варианты коррекции снимков с настройками контрастности, яркости, насыщенности и т.д.
Рис 16. Изменение фокуса на тексте на фотографиях в Lightroom
Для улучшения качества изображений также была недавно разработана BSRGAN, и стоит заметить, что результаты она дает впечатляющие, хоть и немного “мыльные” в некоторых местах:
Рис 17. Пример работы BSRGAN
В Photoshop есть полезный инструмент для обработки фотографий Content Aware Fill – с его помощью можно убрать нежелательные элементы на любом изображении.
Neural Filters можно использовать для наложения разных эффектов, например, для переноса стиля (прям как в StyleTransfer, описанной в предыдущей статье), или небольшого омоложения человека на фото 🙂
Рис 18. Neural Filters в Photoshop
А здесь есть небольшое видео, в котором наглядно показана работа фильтров:
Face Aware Liquify подойдет идеально тем, кто хочет поэкспериментировать с обработкой портрета человека и немного (или много) поменять лицо (а еще он также работает на видео!):
И это еще не все – выделять объекты теперь максимально просто с помощью Object Selection Tool. Чтобы получить выделенную маску с человеком, животным, одеждой, машиной и любым объектом, достаточно воспользоваться этим инструментом и выделить нужную область с помощью лассо или обычного прямоугольного выделения, и программа сама определяет объект (и сохраняет достаточно много времени):
Видеоредактор Foundry NUKE 13 также включает несколько инструментов с ML для работы с видео: добавление/удаление пыли и грязи на видео, ретушь, которая применяется к объектам, а не отдельным кадрам, увеличение разрешения, удаление размытия движений.
Работа с фоном на изображениях и видео
Обработка видео занимает очень много времени, и как было отмечено выше, во многих редакторах есть инструменты, значительно упрощающие этот процесс. Здесь же хотим обратить внимание на приложения, которые максимально быстро и просто помогают добавить фантастичности к видео – это Castle in the Sky (SkyAR). Алгоритм автоматически рассчитывает, где находится небо и заменяет его нужным эффектом.
Рис 19 Пример работы Castle in the Sky
Мы также решили поэкспериментировать и заменили небо рядом с нашим штабом на Маяковской 🙂
Рис 20. Наш тест Castle in the Sky
Хорошее приложение для экспериментов и вдохновения, которое не требует никаких усилий. Такую механику замены неба, кстати, используют некоторые приложения для проецирования и изучения звездного неба (например, SkyGuide).
Рис 21. Дополненная реальность со звездами в приложении SkyGuide – вид из штаба
Есть еще полезные модели для удаления фона – в нашем проекте для фестиваля современного искусства Artlife Fest мы проводим много экспериментов с нейронными сетями (о чем вы можете почитать в наших статьях тут и тут). Для того, чтобы сделать эффект вылета в дополненной реальности на одной из картин, мы использовали сразу несколько нейронок – Let’s Enhance для повышения детализации домиков и RemoveBG для удаления фона и упрощения дальнейшей работы.
Рис 22. Удаление фона на картине с помощью RemoveBG
Оба сайта доступны любому и бесплатны, поэтому можете попробовать их в любое время, и в целом такие инструменты очень нужны для тех, кто постоянно обрабатывает фотографии.
Рис 23. Финальный результат с вылетом домов в дополненной реальности
Обработка видео в real-time
Обработка видео в режиме реального времени очень актуальна для удаленных встреч с вебкамерой, к которым мы все уже привыкли. NVIDIA представила новую SDK-платформу – NVIDIA Maxine, в которую интегрировано несколько нейронных сетей, улучшающих онлайн-встречи: повышение качества видео, удаление артефактов и шумов на видео, наложение виртуального фона, трекинг лица, оценка позы человека, удаление аудиошумов и посторонних звуков на видео.
Рис 24. Нейронные сети в NVIDIA Maxine
Вдохновение: работа с референсами
Поиск референсов и вдохновения – это неотъемлемая часть работы с графикой.
В Adobe Lightroom, как и во многих других приложениях, можно также автоматически проставлять теги к фотографиям. Есть даже специальные системы визуального поиска, основанные на искусственном интеллекте – не беря в расчет Google Поиск, есть система Same Energy, которой пользуются многие дизайнеры для вдохновения и поиска референсов. Это отличный пример того, как простой и удобный инструмент доступен любому дизайнеру и специалисту, и в основе которого заложены сложные алгоритмы.
Рис 25. Визуальный поиск в системе Same Energy
Похожий инструмент, основанный на Deep Learning – умная база данных MyMind, которую может использовать каждый для сохранения и быстрого поиска идей.
Рис 26. Умная база MyMind для хранения и поиска идей
Не можем не упомянуть алгоритм PinSage, который работает в Pinterest – это эффективная рекомендательная система, которая по эффективности сравнивается с другими алгоритмами deep learning, лежащими в основе подобных систем, и помогает подобрать наиболее точные референсы к постам.
Инструменты от Adobe, Same Energy и MyMind – это идеальный пример того, как нейронные сети упрощают работу с изображениями и видео, при этом нам не обязательно разбираться в сложных алгоритмах для их применения, а достаточно только кликать мышкой.
Image-to-text – анализ изображений и объектов на них
Можно как вдохновляться тому, как нейронные сети видят наш мир, так и с их помощью посмотреть на привычное под новым углом.
Модель CLIP от OpenAI, обучаясь на парах (картинка, текст), способна предсказывать наиболее вероятное текстовое описание для изображения. Если у вас есть много картинок и нужно представить обобщающую информацию о них, такая сеть прекрасно для этого пойдет (хоть и есть небольшие погрешности в виде “банан=сладкий перец”)) Недавно, кстати, представили ruCLIP, которая дает русские описания к изображениям 🙂
Рис 27. Результаты работы CLIP: наша собачка стала перчиком
Преобразование 2D в 3D
Следующее перспективное направление использования нейронных сетей в работе с графикой – это создание и редактирование 3D-моделей по изображениям и видео.
Редактирование: прибавляем объем к изображению и видео
Мы уже рассказывали о таких интересных инструментах, как KenBurns, которые позволяют создавать анимации и эффекты объема на изображениях. И с момента последнего апдейта появилось немало новых разработок. Хотим отметить модель Nerfies из семейства NRF, с ее помощью можно создать так называемое пространственное селфи:
Рис 28. Работа Nerfies
Сняв небольшое видео на смартфон, вы можете сделать из него крутое анимированное селфи и по желанию добавить визуальные эффекты:
Похожий инструмент для создания 3D-селфи – работа Relightable 3D Head Portraits from a Smartphone Video, где также по видео создается 3D-портрет из облака точек:
И еще одна работа в области пространственных фотографий – Near-Instant Capture of High-Resolution Facial Geometry and Reflection. Этот проект 2016 года до сих пор остается эталоном в качестве восстановления текстур и геометрии лица (здесь играет важную роль играет специальная фотограмметрическая установка, которую используют авторы). Более подробно о работе этой сети – в статье на Хабре.
Рис 29. Пример работы по созданию лица в 3D по фотографиям
Кстати, есть такое приложение Bellus 3D, которое можно использовать, чтобы восстановить геометрию головы с помощью iOS устройств – этакая альтернатива этим нейронным сетям.
Приятно видеть, что все больше людей начинает мыслить в 3D-формате (даже обычные фотографии лица становятся объемными). Еще одна работа, на которую мы обратили внимание – это Neural Scene Flow Fields. С помощью этой модели можно создавать динамические сцены по видео. Эффект достаточно похож на KenBurns, но поскольку мы работаем с видео, на выходе получаются довольно интересные анимации:
NeRF in the Wild – отличный пример того, как нейронные сети позволяют сделать привычные фотографии необычными, добавляя эффект пролета.
Чтобы получить качественный результат нужно загрузить несколько фотографий объекта с разного ракурса, и на выходе получается небольшая анимация. Этот подход намного упрощает работу, если нужно быстро сделать gif, а видео для конвертации просто нет.
Рис 30. Работа NeRF in the Wild для Бранденбургских ворот
В целом, во многом перспективность 2D-to-3D зависит от развития нейронного рендеринга.
Нейронный рендеринг: создание сцен и воссоздание моделей по фотографиям
NeRF – это большое семейство алгоритмов для синтеза новых видов сцен из ее произвольных изображений. Недавно это семейство пополнилось алгоритмом NeRF for Dynamic Scenes, который расширяет область применения NeRF до динамических сцен.
Рис 31. Результаты работы алгоритма D-NeRF
Благодаря такому подходу D-NeRF может рендерить новые изображения, управляя как обзором камеры, так и динамикой объекта, таким образом, движением объекта. А в результате AR, VR, игровая и киноиндустрии имеют еще один мощный инструмент для рендеринга.
Тем временем появилась еще другая модель, которая ориентирована на задачу перерисовки тела – A-NeRF: Surface-free Human 3D Pose Refinement via Neural Rendering.
Рис 32. Работа A-NeRF по оценке позы человека
Как и большинство подобных моделей, она может быть использована для более точной перерисовки модели человека в 3D и дальнейшей работы с ней.
Генерация: создание 3D-объекта по фотографии
Возможно, одно из самых популярных направлений во внедрении нейронных сетей в работе с графикой – это создание 3D-объекта по фотографии и видео, который используется для дальнейшей работы: от обработки моделей для интеграции в игры до прямого переноса в дополненную реальность. Здесь опять выделяется NVIDIA с разработкой GANverse3D. С ее помощью можно не только создавать 3D-объект, но и управлять им в виртуальной среде: добавлять свет, оживлять и даже сегментировать. На этом видео показано, как работает модель для переноса автомобилей по одной фотографии:
Результаты, конечно, впечатляющие, но как и во многих подобных моделях на выходе может получиться как и качественный 3D объект, так и не совсем 🙂 Но не может не радовать наличие таких разработок от передовых компаний.
Быстрое создание объекта по фотографии становится всё более доступным для всех, так как подобный функционал внедряется прямо в мобильные приложения. Среди тех что мы тестировали, можем отметить Smoothie3D. Чтобы создать трехмерную модель с текстурами, нужно просто обвести контур на изображении.
Рис 33. Пример работы Smoothie3D
Это самый простой и интуитивно понятный подход, позволяющий рисовать фигуры и улучшать их текстурами и фотографиями. Затем модель можно экспортировать в разных форматах или повзаимодействовать с ней в дополненной реальности 🙂
Для создания 3D-объектов можно также использовать GAN2Shape. Для использования этой сети в работе не нужно выставлять 2D-ключевые точки, 3D-аннотации или описывать формы объектов, она достаточно успешно восстанавливает 3D-формы с высокой точностью для человеческих лиц, кошек, автомобилей и зданий.
Рис 34. Пример работы GAN2Shape
В итоге с помощью GAN2Shape можно получить высококачественную 3D-модель с возможностью вращать объект и управлять освещением – очень полезные свойства при работе в 3D-движках.
В задаче восстановления 3D объекта по нескольким снимкам также появилась новая архитектура 3D Volume Transformer (VoIT) (подробнее в этой работе). Если кратко, то она позволяет извлекать связь между изображениями и учитывать их взаимосвязь, что дает лучшие результаты при 2D-to-3D реконструкции.
Рис 35. Пример работы архитектуры 3D Volume Transformer
Pose estimation – воссоздание модели человека
Для распознавания человеческих движений и их представления в 3D мы ранее рассматривали Vibe и PiFU. Чтобы сделать наиболее удобным перенос из 2D в 3D, мы собрали веб-сервис, где можно выбрать разрешение и быстро загрузить любую фотографию.
Рис 36. Работа сервиса по переносу 2D-to-3D
Кстати, не так давно мы провели целое мероприятие, посвященное 3D в анализе человеческого тела и открыли запись для просмотра всем желающим 🙂
В этот раз хотели бы остановиться на модели ACTOR. Она позволяет генерировать одновременно всю последовательность поз, что приводит к более консистентной генерации движения и отсутствию усреднения позы со временем.
Рис 37. Пример реконструкции поз человека с ACTOR
Такую модель можно использовать для генерации синтетического датасета, а еще для автоматической анимации действий игровых персонажей, что незаменимо при работе с игровой графикой.
Исследователи NVIDIA тоже представили свой подход KAMA, который напрямую из изображения оценивает 3D координаты 26 ключевых точек тела и восстанавливает параметрическую модель, которая достаточно точно отражает движения.
Все больше становится актуален безмаркерный 3D захват движения человека. Представленный алгоритм от MPI-INF, Facebook Reality Labs и Valeo.ai повышает плавность и физическое правдоподобие поз, улавливает более быстрые движения и более точен по реконструкции, что означает приближение качественной реконструкции 3D из видео и фото.
Рис 38. Работа Neural Monocular 3D Human Motion Capture with Physical Awareness
О других инструментах для 2D-to-3D реконструкции мы рассказали в этой статье, где описали самые популярные и качественные способы создания модели по фотографии.
Работа с 3D-данными
В сегодняшней работе художников зачастую приходится сталкиваться с задачами по 3D-данным, которые могут быть значительно упрощены с помощью нейронных сетей и современных автоматизированных инструментов (например, плагин RCVS для поиска похожих 3D-объектов или Eyek для текстуризации объектов в Blender).
Анализ: сегментация элементов 3D-объекта
Мы уже упоминали в наших статьях работу 3D-SIS в области Instance Segmentation – сеть, позволяющую не только определять тип объекта, но и делить его на составные части. В области Part Segmentation вышло новое исследование Neural Parts. Эта модель более геометрически точна, более семантически последовательна и показывает больше деталей (такие как большие пальцы, ноги, крылья, шины и т.д.).
Такие нейронные сети будут полезны для анализа 3D-объектов или их группировки по определенным критериями, то есть смогут облегчить работу с большими базами 3D-данных.
Редактирование: восстановление объектов после сканирования
При сканировании объектов с помощью RGB-D камеры или других устройств, пространство и объекты часто представляются в виде облаков точек, и на их корректное и полное воссоздание в 3D может занять много времени. Для решения и ускорения этой задачи можно применять нейронные сети, например, HyperPocket, которая дополняет облака точек на основе GAN-моделей.
Рис 39. Пример работы HyperPocket
Редактирование: стилизация 3D-моделей
Благодаря нейронным сетям можно превращать трехмерные грубые воксельные формы с низким разрешением в объекты с высоким разрешением и детализацией, которые будут трансформироваться под определенный стиль (стиль в данном случае – это геометрические детали). Этот подход используется в DECOR-GAN, где за основу берется “код стиля” растений, а сами модели меняются в зависимости от выбранного “кода”. В этом видео, кстати, показано еще применение этого подхода для стилизации машин и стульев.
Рис 40. Примеры стилизации моделей растений с помощью DECOR-GAN
Любимый нами GauGAN, который помогает создавать концепты, трансформируя грубые скетчи в фотореалистичные изображения, приобрел 3D-формат, а именно – GANcraft. Эта модель показывает, как обычные кубы из Minecraft могут превращаться в красочные детализированные сцены.
Рис 41. Пример работы GANcraft
Пока что модель находится на стадии разработки, и связка с Minecraft сужает поле применения, но уже виден прогресс – возможно, в скором времени мы увидим больше подобных инструментов, когда по простейшим моделям в 3D сцене будут генерироваться целые миры в высоком качестве.
Генерация: audio-to-3D
Одной из самых сложных задач при работе в 3D (особенно при разработке VR) – это реалистичная мимика при разговоре. Facebook Labs постарались подойти к решению этой проблемы с помощью обучения модели MeshTalk информации об эмоциях.
Рис 42. Работа модели MeshTalk
Исследователи смогли достичь высокоточного движения губ, правдоподобной анимации всего лица, в частности моргания и движения бровей. Этот подход стал новой ступенькой на пути к повышению иммерсивности VR, к упрощению задачи создания реалистичных моделей человека в 3D.
Как нейронные сети используются в играх
Мы уже не один раз говорили о нейросетях от NVIDIA, которые помогают в работе с графикой – GauGAN, например, и многие усилия компании нацелены на создание продуктов для игровой индустрии, в которой многие смотрят на качество картинки. NVIDIA DLSS, технология рендеринга на базе ИИ, улучшает производительность и качество графики в играх так, что значительно повышается FPS. Жалко, что работает она только на видеокартах GeForce RTX.
Рис 43. Работа DLSS для улучшения графики в видео
В контексте игр многие разработки касаются также самого игрового процесса, а именно – генерации уровней, симуляции, тестирования игр. Собрали некоторые подобные нейронные сети в табличку:
Рис 44. Применение ML в играх
На стыке обработки графики с помощью нейронных сетей и игр есть интересный проект Enhancing Photorealism Enhancement. В нем графика игры GTA V преобразовывается в более реалистичную на основе нейронного рендеринга, в результате обучения на целом ряде фотографий городских пейзажей:
Рис 45. Преобразование графики в GTA V
Подобные проекты приобретают все большую значимость, так как они двигают вперед развитие уровня графики и скорости ее обработки для различных устройств, и в перспективе такая стилизация и облачный стриминг позволят приблизить эру фиджитала с AR/VR-приложениями с реалистичной графикой.
Стоит отметить, что 3D, ML и XR становятся все ближе – мы недавно протестили проект с разметкой данных в облаке точек с помощью VR, получился довольно интересный опыт:
Выводы
Мы много изучаем нейронные сети и как их можно применять в графике и не только. Ниже мы зафиксировали перспективные задачи, о которых мы рассказали в статье и для которых можно использовать нейронные сети
Рис 46. Применение нейросетей для задач графики
Отдельно хотели бы выделить область 3D ML, которая двигает сочетание цифрового и физического, создавая продуктивную среду для работы и креатива. Среди задач, в которых перспективно развивается это направление:
– поиск 3D объектов (в этой области мы даже создали плагин для Blender – RCVS);
– генерация 3D-данных (например, мы создали сотни промышленных труб с различными дефектами для обучения нейронки для выявления дефектов – почитать можно тут);
– анимирование 3D объектов (можете почитать о плагине Morphle, который делает плавную анимацию перехода одного объекта в другой – настоящий метаморфоз!);
– автоматический редактор отсканированных объектов в 3D и удаление артефактов;
В скором времени выпустим whitepaper, в котором более подробно расскажем о направлении 3D ML, поэтому следите за обновлениями 🙂
Все источники указаны в тексте, а также благодарим авторов этих статей: