Нейронные сети и современное искусство: наш опыт с Artlife 2020.

PHYGITALISM
Sep 23, 2020 · 11 min read

В этой серии статей мы расскажем о нашем опыте разработки 40 картин в дополненной реальности для проекта ARTLIFE 2020.

Часть 1 / Часть 2 / Часть 3

Мы уже довольно давно пропагандируем связку ML и 3D-технологии в искусстве и хотим использовать все возможности, открывающиеся с нейронными сетями в нашем процессе. Эта связка позволяет использовать новые пайплайны, оптимизировать время на разработку и создавать с помощью компьютера новые формы и стили, то что человек бы никогда сам не создал.

В последнее время, популярность искусственного интеллекта возрастает. Эту технологию внедряют повсеместно и искусство не стало исключением.

Алгоритмы машинного обучения (ML) помогают решать как рутинные вычислительные задачи (распознавание образов, быстрая обработка больших массивов данных и пр.), так и нетривиальные творческие задачи (генеративные модели глубокого обучения, позволяющие по простому текстовому описанию или скетчу создавать новые формы и образы), значительно снижая “страх белого листа”. В комбинации с творческим подходом художника можно получать очень интересные результаты. Многие художники, работая с нейронными сетями находят свои оригинальные решения и обретают свой узнаваемые почерк.

Всех заинтересованных отсылаем к книге “Генеративное глубокое обучение”)

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

Прототип приложения, которое в реальном времени переводит примитивный рисунок красками в фотореалистичный пейзаж с помощью GauGAN

В Photoshop уже достаточно давно есть инструменты, ускоряющие работу — это дорисовывание фона за выделенным объектом, стилизация фотографий под традиционные методы (карандаш, масло и т.д.) Пинтерест, где мы ищем вдохновение, предлагает интересный именно нам контент с помощью рекомендательных алгоритмов. Blender 3D сокращает время рендеринга благодаря denoise системе. В Substance есть инструмент, который создает текстурные карты из фотографий.

В нашей недавней статье мы подробно рассмотрели классификацию нейронных сетей для работы с 3D-данными и описали все, что уже успели попробовать. Здесь прилагаем обновленную схему.

Голубым цветом отмечены виды нейронных сетей, которые мы использовали в этом проекте

В этой статье хочется поделиться впечатлением от работы с такими инструментами на проекте Artlife 2020, рассказать плюсы, минусы и все рассмотренные варианты на конкретных картинах.

Style Transfer

Укрощение тигра

Первая картина, на которой я опробовала все чудеса StyleTransfer’а — Laura Gulshani “Valentino Green Dress”.

Laura Gulshani “Valentino Green Dress”

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

Сначала я начала все рисовать вручную, но сразу же поняла, что это займет много времени, нужно было не просто нарисовать тигра, а сделать его в технике оригинальной картины. Поэтому я авторизовалась в Runway ML. Это программа, в которой собраны самые популярные алгоритмы машинного обучения. С их помощью можно работать с изображениями, видео и даже обучать сетку практически с нуля на своих примерах. Огромный плюс в том, что в Runway ML можно работать без знания кода, все сделано очень интуитивно и упрощенно, для ускорения процессов. Там я подобрала подходящую мне нейронную сеть StyleTransfer. Для работы в ней нужно два изображения: картинка оригинал, которую будем стилизовать и картинка-референс, с которой будем брать стиль. Референс по стилю у меня уже был (Руссо), осталось найти то, к чему применять этот стиль. По запросу “тигр” я очень быстро нашла подходящий ракурс и уже через 2 минуты получила стилизованное изображение. Конечно, я доработала его в фотошопе, чтобы тигр полностью соответствовал образу в моей голове, это тоже заняло совсем немного времени.

1. Фотография в нужном ракурсе; 2. Референсное изображение; 3. Результат с правками в фотошопе.

Сам Runway ML оставил у меня неоднозначное впечатление. Вроде и функционал обученных нейронок большой и вариативность у результата есть (можно подстроить/настроить свет и цвета), но открывается не всегда с первого раза и обрабатывает дольше, чем веб-генератор Deep Dream Generator, которым я решила пользоваться в следующих примерах, он представляет из себя тот же Style Transfer, только ничего не нужно скачивать. В обоих случаях можно получить сгенерированное изображение бесплатно, однако попытки ограничены. (Что можно решить сменой почтового ящика).

Вдохновленная таким результатом, я решила использовать метод нейронных сетей и для улыбки женщины. Я сразу вспомнила о приложении EbSynth, с которым мы работали в прошлом году. Это программа из категории Style transfer и с ее помощью мы оживляли несколько нарисованных людей на картинах. Там можно стилизовать длинные ролики поработав только над несколькими референсными кадрами, где значительно меняется картинка.

На вход он просит видео, которое будет стилизовано (я сняла себя) и референс для стилизации — лицо женщины.

На итоговом видео было похоже, что я испачкалась сажей, поэтому я просто удалила результат и дотянула улыбку в фотошопе. Подмена провалилась. Ручной способ оказался быстрее и качественней.

Тест финальной картины в AR

Здесь и дальше результат вы можете посмотреть в приложении Artlife 2020.

Artbreeder : превращение в человека

В следующей картине стояла более интересная задача. Нужно было поменять стиль изображения героев: сделать Белоснежку реалистичной, а девушек и мужчину мультяшными.

Марк Теннанд “Белоснежка”

Для этих целей есть прекрасный сайт Artbreeder.com, который я рекомендую всем для первого знакомства с нейронными сетями. Его можно использовать для создания концептов, персонажей, для генерации новых форм и образов.

Кстати нашумевший пример “оживления персонажей” вы наверняка уже видели.

“Бас Утервайк, художник из Амстердама, использует нейросеть Artbreeder (она объединяет два изображения в одно, компьютерной графики и 3D-анимации) для создания чрезвычайно реалистичных фотографий исторических фигур и памятников, таких как художник Винсент Ван Гог, Джордж Вашингтон, королева Елизавета I и герои знаменитых произведений искусства.” Больше примеров в этой статье.

Как выглядел бы Давид, глазами нейронки

Чтобы начать работать с лицом, его необходимо вырезать (в кадр должен входить только портрет). Также, для более быстрого просчета изображения, рекомендуется сделать разрешение кратным четырем: 512, 1024. Крупнее не стоит, так как просчет будет слишком долгим и чаще всего результат все равно сожмется. Если необходимо хорошее разрешение, лучше использовать нейронку Let’s enhance, о которой мы писали в том году).

После загрузки референсного изображения открывается масса возможностей. Здесь можно не только сделать из персонажа человека, но и настроить возраст, индивидуальные черты лица, рост, вес, национальность, настроение и многое другое.

Параметры для настройки
Настройки в действии

Таким образом я получила подходящую мне Белоснежку, а вот в обратную сторону в этом случае провернуть не удалось. Девушек и мужчину было быстрее нарисовать самой из-за сложных поз и неоднозначной рисовки.

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

Тест эффекта в AR

StyleGAN или Morphing Animation как у Refik Anadol

Мы очень сильно и очень давно хотели поработать с таким эффектом. Вот хороший материал на эту тему про настройки в Runway ML, а я расскажу о нашем опыте.

Такой эффект мог бы хорошо смотреться на картине с городом и мы стали искать варианты, реализации.

Tytus Brzozowski “Krakow”

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

Нейронки должны упрощать жизнь и ускорять работу, а не наоборот.

В следующих двух работах получилось применить StyleGAN и это было интересно)

На картине Agnes Grochulska “Lucy” хотелось видеть эффект галлюцинаций, первый концепт — совместить стили с картинами великих художников в StyleTransfer и анимировать их через StyleGAN. Результаты получились пугающими и анимация не выглядела интересной без смены ракурсов.

Agnes Grochulska “Lucy”
Полученная анимация

Мы определили два условия хорошего эффекта: ракурсы должны быть разными, и датасет должен быть уже стилизованный.

Мы решили составить датасет из других картин художницы. Этого было недостаточно для тренировки своей сетки на базе RunwayML или на гитхабовском проекте StyleGAN, но вполне хватало для работы на Artbreeder.com

Процесс загрузки изображений для анимации

Для того чтобы сайт быстрее обработал, я вырезала только лица и сохранила их на фоне главной картины. После загрузки я распределила их по порядку, настроила интерполяцию и через 3 минуты на почту пришло готовое видео.

Предфинальный результат, полученный с Artbreeder

Конечно, потребовалось время, чтобы результат стал более предсказуемым. Здесь главное неудобство — постоянная смена почт, чтобы продлевать попытки, так как даже на платных версиях они ограничены.

После этой картины стало понятно, как работать с входными данными и какие настройки лучше ставить. Вторую картину этой же художницы удалось реализовать за пару часов.

Тест эффекта в AR

GauGAN : как Paint, но круче

Что за Гауган такой и как им пользоваться?

Больше года назад Nvidia представила миру удивительный инструмент, превращающий скетчи в фотореалистичные пейзажи. Работает он на нейросети SPADE.

В программе есть палитра, в которой каждый цвет соотносится с каким-то из элементов ландшафта: земли, растительности, строений и т.д.

Основные цвета и за что они отвечают

Процесс создания картины достаточно прост: нужно начать закрашивать участки цветами из палитры, а нейронная сеть преобразует их. К примеру, там где мы хотим видеть море или реку — красим синим. Другой участок, где например хотим лес, красим в соответствующий цвет. И так далее, в результате чего получаем карту сегментации. Все это походит на рисование в Paint.

На основе выбранного реального пейзажа, который служит как референс стиля для генерации, мы получаем фотореалистичный пейзаж, соответствующий нашей карте сегментации.

Пример работы GauGAN

Попробовать можно самим на сайте.

Как готовили материалы для создания AR

Наша идея заключалась в том, чтобы картина Карлы Босх “Франшхук, Южная Африка” — перевоплощалась в фотореалистичный пейзаж.

”Франшхук, Южная Африка” — Карла Босх

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

Поверх оригинала прорисовали все участки. Для удобства делали это в Figma, а затем экспортировали в векторе (.svg), чтоб однозначно точно не было никаких других промежуточных цветов из-за, которые могут образоваться при сглаживание на границах участков (Aliasing). Это, кстати, крайне важно, чтобы на карте сегментации не присутствовали никакие другие цвета кроме тех, что указаны в палитре у GauGAN.

Карта сегментация для картины

На основе карты сегментации, мы сгенерировали 9 разных пейзажей, которые потом через анимации и шейдеры стилизовали в Unity под скан-переход от оригинала к сгенерированным фотореалистичным пейзажам.

Сгенерированные в GauGAN пейзажи на основе подготовленной карты сегментации
Фрагмент скан-перехода, сделанного в Unity

EbSynth

Как и в прошлом году, мы решили полноценно оживить некоторые картины, используя нейронную сеть Ebsynth. Лучше всего для наших задач она подходит для работы с персонажами, их крупными планами.

Картина “В дурном настроении” — Ганк Пасуай — обработанная в Ebsyth

Мы записывали видео, где девушка смотрела в кадр видеокамеры (в той же позе, что и на картине, чтобы облегчить задачу по сведению кадра в будущем). Она моргала, поворачивала голову, в целом жила своей жизнью. Важно, чтобы движения были максимально плавными и мягкими, тогда финальное видео получится действительно живым. Затем, через Photoshop мы накладывали нарисованную девушку на лицо реальной девушки и таким образом готовили референс для алгоритма.

Слева на право: Оригинальное видео, итоговый результат, стилизованный кадр в качестве референса.

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

Первая проба обработки видео, наложив картину в качестве референса. Выскочило несколько неприятных искажений лица.

Затем нужно запустить процедуру расчета, она может занять существенную часть времени, в зависимости от того, какая у вас установлена видеокарта на компьютере. В результате мы получим “ожившее” изображение референса и он будет делать все то, что происходило на видео. Лучшее описание для этого: “Как будто картина из Гарри Поттера”.

Видео туториал от разработчика EbSynth

EbSynth это очень удобный инструмент. Он показывает, как нейронные сети помогают художникам достигать небывалого результата за короткое время. Это решение активно развивается. По сравнению с прошлогодней версией, в новой EbSynth представили удобный и понятный GUI интерфейс. На официальном сайте можно найти видео, где просто и быстро расскажут как им пользоваться и этого будет достаточно, чтобы создать свою собственную “ожившую” картину.

KenBurns. Пролеты в глубину

Видео о том, как работает эффект KenBurns

KenBurns — это интересная нейронная сеть, которая в прямом смысле слова позволяет заглянуть поглубже в картину. С ее помощью можно создать эффект “глубины”, пролетев камерой в выбранном направлении. Нейронная сеть анализирует изображение и “нарезает” объекты на фрагменты. Каждому фрагменту задаётся значение глубины, благодаря чему получается эффект параллакса.

Демонстрация создания отдельных слоев — эффект Параллакса (источник)
Демонстрация создания отдельных слоев — эффект Параллакса (источник)

Конечно же мы советуем самостоятельно ознакомиться с этой технологией, она проста в использовании, и подробнее о ней можно прочитать в этой статье. Для особо любопытных, эту нейронную сеть можно развернуть самостоятельно на своем компьютере, подключившись либо к репозиторию проекта, либо воспользоваться Google Colab.

Фотография улицы обработанная в Kenburns

При работе над Artlife 2020, мы опробовали данный эффект с несколькими картинами в поисках той, которой бы он подошел лучше всего. Остановились на картине Рукие Гарип “Рыбаки”. При работе возникло несколько трудностей из-за композиции: эффект глубины срабатывал слишком сильно, казалось, будто акцент идет на ведро в центре, а люди просто выходили из кадра. Решение проблемы было творческим — пришлось расширить картину в ширину. Благодаря этому, удалось создать эффект плавного пролета в картину.

“Рыбаки” Рукие Гарип, обработанная в KenBurns

Заключение

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

Они действительно упрощают жизнь, ускоряют работу, позволяя сконцентрироваться на более важных и творческих задачах.

Вам, конечно, понадобится прочувствовать инструменты, прогнать изображения с разными настройками, чтобы выявить закономерности и получать более предсказуемые результаты. Это безумно интересный процесс)

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

Ну и напоследок хорошая цитата:

“Процесс проектирования устанавливает баланс между ожидаемым и неожиданным, между контролем и отказом от него. Хотя эти процессы детерминированы, их результаты непредсказуемы. Компьютер обретает способность удивлять нас.” — Мишель Ансмейер, архитектор.

<предыдущая часть / следующая часть >

Авторы

Катя Токсик

toxic@phygitalism.com

instagram: katya.toxic

CG, XR Artist

Павел Постников

taden@phygitalism.com

CG Artist

PHYGITALISM

Владислав Крутенюк

kvy@phygitalism.com

CG Artist, Developer

PHYGITALISM

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных…

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных технологий

PHYGITALISM

Written by

Мы - команда PHYGITALISM, реализуем фиджитал-проекты и много экспериментируем с XR, интерактивными технологиями и машинным обучением.

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных технологий