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

Предисловие
Мы все любим, что компьютеры могут выполнять за нас утомительную работу. Работу, которую мы уже умеем делать, повторяемую и часто однообразную.
В течение последних нескольких десятилетий новые процессы, такие как процедурная генерация, помогают нам добиваться разнообразных результатов при минимальных затратах, позволяя сосредоточиться на творчестве. Будь то процедурная генерация уровней в ранних rogue-like играх, процедурный ландшафт, например, в Speedtree, или, в последнее время, широкие возможности процедурного текстурирования с помощью шумового процедурализма, как в Substance Designer.
И теперь в городе появился новичок: GAN — сокращение от Generative Adversarial Networks (генеративно-состязательные сети). Нейронные сети генерируют новые данные, а в случае так называемых StyleGAN создают изображения или последовательности.
Эти фреймворки машинного обучения заставляют два ИИ играть друг против друга, чтобы проверить и научиться тому, что будет считаться реалистичным результатом. Это основано на библиотеке, которую вы загружаете в сеть.
Если мы оглянемся на ранние версии GAN, они были довольно примитивными, и результаты были более чем сомнительными. По крайней мере, никто бы не сказал: «Давайте используем это страшное изображение рыцаря-собаки из DeepDream для нашей следующей большой видеоигры».

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

Давайте совершим небольшое путешествие назад во времени. Это изображение я создал полтора года назад на веб-сайте GAN, где можно было вводить области с цветовой кодировкой, которые определяли свойства окружающей среды. Можно было нарисовать, где вы хотите облака, реку, широкий горный хребет или даже здание с четырьмя рядами окон и большой дверью.
Затем можно было нажать кнопку «сгенерировать», и происходило «чудо». Я был поражён, когда впервые попробовал, как и большинство моих коллег и друзей после того, как я поделился результатами.
Впервые появилось ощущение, что эти сети стали настолько мощными, что производство действительно выиграет от них. Вместо часов работы этот инструмент может легко выдавать один реалистичный концепт ландшафта за другим за считанные минуты.
Примерно в то же время команда в NVIDIA работала над собственным инструментом, который также позволял изменять общее световое настроение и время суток вместе с картой сегментации, о которой я только что упомянул.
Пару месяцев спустя я увидел замечательный доклад Скотта Итона, который создавал сеть глубокого обучения и обучал её наборам фотографий, которые он снимал с исполнителями. Он использовал эту самодельную сеть для создания абстрактных человеческих фигур, используя свои линейные рисунки в качестве входных данных.
В конце концов он достиг точки эксперимента, где обучал сеть на менее фигуративно смоделированных кубах и формах. После того как ИИ научился интерпретировать свою новую библиотеку, Скотт взял результаты, которые, как и прежде, были основаны на его линейных рисунках, и превратил их в физические скульптуры.
Перенесёмся примерно на два месяца назад, начало нового производственного цикла в нашей студии. Замечательное время препродакшена. И, как это часто бывает на ранних этапах разработки, у нас было немного больше свободы для экспериментов, чтобы вернуться к чертёжной доске и найти крутые новые способы не только создания сумасшедших визуалов, но и переосмыслить конвейер наших художественных отделов.
Препродакшен — это всегда хорошее время, чтобы попытаться выявить трудоёмкие задачи и способы преодоления проблем, связанных с ужасным программным мостом, или даже просто в целом оптимизировать рабочий процесс каждого.
Имея это в виду, я подумал о веб-сайте, который использовал некоторое время назад, под названием Ganbreeder. Эта страница позволяла вам вводить свои собственные изображения и «скрещивать» их с существующими изображениями от других авторов или из его библиотеки. С тех пор веб-сайт был переименован в Artbreeder и теперь размещает широкий спектр GAN, обученных для конкретных целей, таких как окружающая среда, персонажи, лица или более специализированные категории, такие как аниме и пушистые головы.
Так что я глубоко погрузился в эти генераторы.

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

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

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

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

Портреты
Я много работал над этим. Результаты иногда оказываются слишком хороши. И я был напуган и встревожен после того, как человеческое лицо, которое я только что создал, улыбнулось мне с уверенностью в том, что оно такое же реальное, как пролитый кофе на моём столе. Результаты абсолютно готовы к использованию в производстве. У меня нет сомнений, что через пару лет на Artstation будет размещено много выпущенного концепт-арта для реалистичных игр вроде The Last Of Us, и никто не спросит и не удивится, как эти изображения были созданы настолько реалистично.

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


В этом реалистичном примере я использовал StyleGAN для лица, поскольку это позволило мне быстро создать ¾-й вид лица, показать улыбающегося персонажа или создать альтернативные образы для человека. Для всего остального было быстрее и чётче полагаться на традиционный фотомонтаж и перекраску.
Окружающая среда
После создания портретов, именно в создании окружающей среды GAN действительно сияют. Независимо от того, используете ли вы такой инструмент, как Artbreeder, или подход на основе сегментационных карт, такой как NVIDIA GauGAN, результаты просто феноменальны и действительно высвобождают творческий потенциал и скорость, когда дело доходит до создания эскизов настроения и тому подобного.

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

Единственным недостатком является интеграция зданий в ландшафт. Удалённый город или горизонт хорошо смотрятся, но если вы стремитесь к атмосфере центра Лос-Анджелеса и хотите сохранить высокую точность и реалистичные детали, возможно, лучше обучить сеть специально для этой цели.
Ключевые кадры, раскадровка, сцены и иллюстрации
Если технология достигнет уровня, когда мы будем вводить предложения вроде: «Человек в синей рубашке борется с супергероем в Италии», а результатом будет функционирующая визуализация, то мы будем намного ближе и к этим дисциплинам. На данный момент мы ещё не совсем на этом уровне. Есть первые API Text to Image, но, честно говоря, они всё ещё не очень хороши.

Сложность создания успешной сцены для развлекательного производства безумна. Как создатель, вы думаете о композиции/блокировке, угле камеры, движении, освещении, предыдущем и следующем кадре, а также контексте сцены. Это слишком много для текущих GAN, и потребуется ещё пара лет, чтобы компьютерные гении Земли увидели адекватные результаты. Кажется, что сейчас самое подходящее время, чтобы стать художником раскадровок.
Текстуры
Я начал создавать несколько баз для текстур, чтобы протестировать их возможности. Когда дело доходит до поиска различных идей для текстур, использование GAN может быть весьма полезным, хотя точность иногда сильно страдает в деталях и начинает «выглядеть сгенерированным». Но поскольку Substance Designer уже существует и, вероятно, работает над решениями по интеграции специально обученных нейронных сетей, это всего лишь вопрос времени, когда мы увидим подобные функции.

Дизайн
Что касается дизайна, я снова влюбился в GAN. Чем свободнее вы будете с вашими входными данными, тем лучше. Это освобождает вас от зоны комфорта и позволяет мыслить за пределами того, что вы обычно делаете. Органические дизайны работают немного лучше, чем технические. Особенно резкие края кажутся чем-то, что нужно специально тренировать, поэтому чем меньше библиотека сети, тем более точными и техничными/резкими будут ваши результаты. Однако они потеряют немного фактора неожиданного хаоса, который иногда может быть желателен.


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

Искусство живёт своим контекстом и смыслом. Часто через художника и то, что он или она олицетворяет и чему посвятил свою жизнь. Если вы используете GAN для поддержки своего творческого рабочего процесса, его можно использовать как отличный инструмент для достижения результатов, которые усилят ваш голос. Это просто опасный баланс, если вы позволяете компьютеру взять верх и просто потреблять и перепубликовать то, что он сделал сам, без создания или формирования этого, даже если вы дали ему начальный ввод.
Подводные камни
Важно отметить, что эти GAN ни в коем случае не являются волшебной кнопкой «сделать хорошее искусство», о которой многие мечтали годами. Всё равно нужен кто-то, кто знает, чего он хочет и что с этим делать дальше. Неопытный человек, конечно, может создавать крутые изображения гораздо быстрее, и разрыв между изображением человека, у которого есть 10 лет опыта в создании искусства, и человека, который только начал, меньше. Однако вам всё равно нужно знать об основах дизайна, таких как композиция, цвета, свет, соотношения в дизайне и т. д.
Ещё одним важным фактором является последующий уход. После того как вы создадите изображение, вы захотите подготовить его для конвейера, сделать его готовым к производству. И это зависит от навыков и опыта, которые вы получаете, только работая в соответствующих областях. Например: какие требования к анимации должны соответствовать дизайну? Является ли отдельный элемент дизайна согласованным с общими целями продукта или визуальными рекомендациями?
Будущее
Я поговорил с Джоэлом Саймоном, создателем Artbreeder, о StyleGAN и о том, что может принести будущее:
Привет, Джоэл, здорово, что у тебя нашлось время для интервью.
Оглядываясь назад, как ты впервые связался с GAN и как ты начал работать над одним из них?
«У меня на самом деле не было опыта работы с GAN до того, как я начал работать над Ganbreeder (так называлась более ранняя версия Artbreeder). Хотя у меня был некоторый опыт работы с другими методами машинного обучения, мой опыт и интересы были связаны с генетическими алгоритмами и экспериментированием с инструментами для творческого самовыражения. После того как я начал больше узнавать о GAN и увидел результаты BigGAN, я понял, что они идеально впишутся во взаимодействие с эволюционными алгоритмами».
Как ты думаешь, как будут развиваться текущие GAN — что будет дальше с точки зрения потенциальных функций?
«Я не эксперт в машинном обучении ни в какой мере, но есть несколько тенденций, которые, вероятно, продолжатся. Меня радует то, что генерация видео становится всё более точной и управляемой. Хотя многое интересное может быть связано не с GAN, а с другими алгоритмами машинного обучения. В конечном счёте, итеративные улучшения легко предсказать, а вот большие прорывы — нет. Это также зависит от того, на что крупные компании решат направить свои ресурсы, ведь обучение чему-то вроде BigGAN стоит десятки тысяч долларов».
Каково ваше мнение о рабочих процессах с поддержкой ИИ? Видите ли вы опасности или возможности?
«Абсолютно и то и другое, и я думаю, что это верно для любой технологии. Что касается рабочих процессов, я разделяю инструменты или подходы на две категории. Те, которые уважают суждения пользователя, и те, которые этого не делают. Например, рассмотрим инструмент, который может утверждать, что обучил идеальную модель для оптимизации дизайна вашей рекламы […], чтобы максимизировать эффект, и они говорят вам, что делать. Они становятся чёрными ящиками, которые, скорее всего, собьют вас с пути. Для Artbreeder вы всегда находитесь за рулём, и он просто предлагает идеи и даёт вам рычаги для изучения и экспериментов. Существует риск того, что человек может слишком отдалиться от самой среды, и это предмет споров в архитектуре, когда дело доходит до CAD — для инструмента вдохновения я думаю, что это очень мощно».
Заглядывая в будущее, какие тенденции и новые разработки на горизонте будут определять то, как мы работаем?
«Мне нравится сравнивать вещи с тем, как они уже есть. Новые технологии могут абстрагировать определённые вещи и убрать рутинную работу, и я думаю, что это может обеспечить своего рода „режиссёрское творчество“, если всё сделано правильно. Креативный директор может создавать в среде слов для всех остальных («мне это не нравится», «покажи мне больше этого» и т. д.). И хотя они дальше от среды, я не думаю, что справедливо говорить, что они менее креативны. Режиссёр фильма просто работает на более высоком уровне абстракции, но, если уж на то пошло, это чрезвычайно высокий уровень творчества. Так что я надеюсь, что в будущем это позволит каждому делать это».
(Интервью: Джоэл Саймон, Макс Шульц, сентябрь 2020 г.)
Заключение
Представьте себе небольшую инди-команду. 10–20 лет назад это означало бы, что вы, возможно, написали свой собственный движок. Ваши художники могли бы создавать пару низкополигональных моделей в день, часами сидеть над UV-развёрткой или кропотливо рисовать текстуры, прежде чем использовать CrazyBump для получения «нормальной» карты. Ваш концепт-художник с туннельным синдромом часами рендерил складки ткани, чтобы художник-персонажист мог правильно их интерпретировать.
Ускорило ли это индустрию? Да.
Сделало ли это индустрию лучше? Может быть, она стала другой. Определённо более разнообразной.
Когда вы сидите перед моделью и вручную проталкиваете вершины, у вас есть время подумать о том, что вы создаёте, есть время подумать о том, как игрок будет взаимодействовать с тем, что вы создаёте. Когда вы разрабатываете стилизованные ветви деревьев в течение 5 часов, вы 5 часов смотрите на эти деревья, анализируете эскизы, может быть, придумываете сумасшедшую идею о том, что ещё вы могли бы сделать с их творческим потенциалом.
Я ни в коем случае не хочу сказать, что мы должны тратить время на повторяющуюся и неинновационную работу, но чем быстрее становятся процессы, тем быстрее кто-то ожидает, что они будут выполнены.
С творчеством, с тем, чтобы быть творцом, связано фантастическое чувство. Ваша голова наполнена безумными идеями. Ваше сердце наполнено страстью. Творчество во многом заключается в том, чтобы представить что-то в своей голове, а затем перенести это на бумагу или на компьютер.
Когда мы больше не позволяем себе думать и медлить, разыгрывать глупые идеи, мы становимся жертвами потребления и копирования того, что уже есть.
Если вы запустите свой GAN и нажмёте пару кнопок, вероятность того, что вы станете потребителем GAN, может быть высока. Поэтому полезно всегда спрашивать себя, каковы ваши цели в процессе. Сначала подумайте о концепциях, будьте вдумчивы со своим вкладом и спросите себя, соответствует ли это вашему видению, только тогда вы должны начать генерировать потрясающие результаты.
И, как и в случае с глобализацией, существует опасность того, что дизайн станет слишком упорядоченным благодаря интернационализации массовой культуры. Если много людей будут кормить сеть одним и тем же, результат также будет произвольным или однородным.
В будущем мы будем всё больше и больше работать с этой поддержкой ИИ.
Только недавно была выпущена статья, в которой читается 2D-изображение или фотография человека и генерируется относительно точная 3D-модель. Она называется PIFuHD.

(Шунсуке Сайто, Университет Южной Калифорнии / Facebook Reality Labs / Facebook AI Research ©)
Объедините это с Character-GAN: вы быстро создаёте концепт персонажа, запускаете над ним алгоритм PIFuHD, проецируете концепцию на текстуру спереди и сзади. Используйте чёрно-белый концепт для генерации карты нормалей для него. Отполируйте пару рёбер на модели перед быстрой установкой оснастки, чтобы вы могли поискать в Интернете предварительно записанные анимации захвата движения и поместить их в движок. Пара часов — и у вас есть полностью функционирующая игровая модель, готовая с анимациями и всем остальным.
Используя передовые алгоритмы рандомизации, вы успешно создали случайного персонажа.
Здорово, что мы можем делать то, что делаем, и чего мы сможем достичь совсем скоро. Но над каждой своей работой мы должны спрашивать себя, что мы делаем и зачем мы это делаем.
Поэтому, когда мы начинаем творческий процесс, давайте будем соответствовать ему и примем наш собственный творческий потенциал, будем ценить процесс так же, как и результат, увидим, где мы можем ошибиться, где можем расти, привнесём наш индивидуализм, спросим у нашего внутреннего ребёнка о нелепой ерунде и, самое главное, будем получать удовольствие.
Макс Шульц, концепт-художник и арт-директор
Автор: Max Schulz
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.