Как найти общий язык с ИИ и какую часть работы реально делегировать нейросети без потери качества, — рассказал в своей колонке для App2Top Андрей Новиков, художник компании ZiMAD.
Андрей Новиков
Когда я только начинал работать как дизайнер, на рынке было представлено гораздо меньше софта. Да и его функционал был ограничен.
Сегодня — все иначе. Например, часть решений позволяет свести к минимуму монотонную работу.
У этого есть и обратная сторона. Сам софт становится сложнее в освоении. Поэтому встает необходимость постоянно учиться, что-то осваивать.
Сейчас в работе я в основном использую связку Photoshop со встроенным ИИ и Stable Diffusion.
Изучение последнего я начал с мануалов в сети. Год назад, не разобравшись с ними, нельзя было даже поставить и настроить нейросеть (не было готовых паков). В итоге пришлось даже пройти обучающий курс по работе со Stable Diffusion.
Советую ли я сделать так же?
Определенно. Если есть возможность научиться у тех, кто уже разобрался в теме и готов делиться опытом, этим нужно пользоваться. Курсы могут сократить путь в две недели до двух дней — дать все явки и пароли, саму базу, имея которую ты можешь сразу начать работу с софтом.
Настройка Stable Diffusion происходит локально на компьютере — устанавливаешь Python, запускаешь компилятор, далее получаешь ссылку, перейдя по которой, открываешь web-интерфейс.
Особенность Stable Diffusion состоит в многообразии настроек. Для работы с ним необходимо знать, какие из них и как работают. Это не привычные кнопки Photoshop, где по иконкам можно догадаться о назначении инструмента.
Но работать можно и через другие интерфейсы, это дело выбора конкретного пользователя. Среди других вариантов интерфейсов есть Easy Diffusion, Vlad Diffusion, NMKD Stable Diffusion GUI.
Нейросеть выдает результат практически мгновенно — это не рендер, при котором ты можешь успеть сходить на кухню за кофе и еще перекинуться парой фраз с коллегами у кулера. Но чтобы быстро работать вместе с ИИ важно все настроить под себя.
Обучение ИИ
Работа с нейросетью «по накатанной» — это результат обучения.
Например, мне было необходимо, чтобы нейросеть умела генерировать интерьер в подходящем мне стиле. Для этого я делал следующее:
- брал изображения одного из проекта ZiMAD (Puzzle Villa);
- нарезал все изображения на небольшие части так, чтобы в каждом фрагменте было по элементу интерьера;
- просил нейросеть описать, что она видит на изображениях (на этом этапе важно оценить верность данных и скорректировать их по необходимости; если этого не сделать, то при дальнейшей работе нейросеть будет упорно выдавать ошибочные генерации; например, если она примет комод за человека, то при запросе на генерацию комода будет выдавать человека);
- после обучения нейросети получал необходимый стиль.
К слову, его можно передавать для использования коллегам для достижения максимального единообразия итоговых изображений. Для этого им достаточно иметь ключ — бендинг.
В итоге работа с ИИ свелась для меня к трем этапам:
- показываю нейросети 50+ картинок, описываю и получаю новый стиль;
- пропускаю изображения, которые требуется доработать, через стиль;
- полученные изображение иллюстратор дорабатывает (добавляет или удаляет детали).
1 — исходное изображение; 2 — изображение, пропущенное через стиль; 3 — изображение, доработанное иллюстратором.
Промпты — ключ к взаимодействию с ИИ
Если хотите получать от нейросети качественные результаты, вам необходимо набить руку на работе с промптами, текстовыми запросами. От того, как они сформулированы, зависит финальный результат.
Каждый промт уникален, на изображение может повлиять любая мелочь, включая даже используемый порядок слов.
Однако я не рекомендую использовать исключительно промпты. С нейросетью можно перекидываться изображениями. Лично для меня это проще, чем объяснять все текстом. К примеру, нужно получить изображение на основе конкретного кота.
Вставляю кота, пишу, что хочу кота в шляпе. Но вероятность того, что ИИ даст нужный результат при первом же запросе стремится к нулю. Чтобы ускорить процесс, я делаю набросок шляпы в Photoshop.
Далее, уже в интерфейсе ИИ, я выделяю область, с которой нейросети нужно поработать (инструмент inpaint), а также выставляю нужные настройки — число вариаций, уровень проработки и, главное, Denoising strength, которая отвечает за то, как нейросеть будет следовать моему эскизу (где 0 — вообще не будет вносить изменения, а 1,0 — будет полностью игнорировать мой скетч и рисовать все, что ей будет угодно).
Далее получаю несколько вариаций нужного мне кота в шляпе и выбираю устраивающий меня вариант.
Еще один пример того, как нейросеть ускоряет работу художника представлен чуть ниже.
2D-художнику нужно было сделать уникальный UI для ивента. Он сделал эскиз, я пропустил его через нейросети, дополнительно прописав в промте все пожелания художника. В результате мы практически моментально получили прекрасную основу для доработки.
Важно: ящики с яблоками, лестницы и овецы на иллюстрации генерировались отдельно. Это было сделано для более предсказуемого результата и дальнейшей гибкой доработки.
Еще одно очень мощное направление — 3D. Сейчас у меня есть задачи по генерированию небольших помещений. Нейросеть хорошо справляется с интерьерами, но при генерации постоянно скачет перспектива, а в мне нужен конкретный ракурс. Проблему решаю с помощью ControlNet всего в пару этапов.
Этап первый. Моделирую сцену в 3D, выставляю объекты по сцене, выставляю камеру, рендерю карту глубины и получаю вот такое изображение.
Этап второй. Загружаю карту глубины в ControlNet, выставляю настройки так, чтобы нейросеть генерировала изображения, опираясь именно на эту карту глубины, сохраняя ракурс и расположение объектов. Далее прописываю в промте, что ИИ должен выдать темный, захламленный чердак с окном в крыше и картонной коробкой в центре кадра. Получаю следующее изображение.
После этого дорабатываю атмосферу в графических редакторах, опираясь на ТЗ. Должно было получиться изображение грустного котика, который просит помощи, находясь на чердаке дождливой ночью в сильную грозу. Получаю изображение, которое могу передать аниматору для дальнейшей работы.
Ценность ИИ для художников
Нейросеть — это инструмент, помогающий сделать базу, которую можно дотачивать в свое удовольствие. Проще говоря, благодаря нейросети у художников появилась возможность больше уделять времени именно проработке изображения, а не технической работе.
Еще год-два назад, когда мне давали задачу нарисовать 20 аватарок, процесс работы над ними выглядел бы так:
- поиск референсов;
- подготовка эскизов;
- отрисовка каждой аватарки с нуля;
- доработка каждой аватарки.
Сегодня нейросеть взяла большую часть работы на себя, в разы сократив время, затрачиваемое на рутинную задачу.
Если стиль проекта готов, то генерация, например, аватарки для игры у меня может занять всего 5-7 минут. За это время я получу 20-30 изображений на выбор. Для генерации десятка аватарок с тем же числом вариаций нужно около часа.
Используя мощности ИИ, я могу в одиночку реализовать гораздо больше задач, чем раньше. Поэтому это отличный инструмент. Именно инструмент, а не волшебная кнопка, которая якобы грозится отобрать у художников работу
Нейросети прекрасно дополняют друг друга. К примеру, с казуальной графикой лучше работает Stable Diffusion, а нейросеть Photoshop хороша при работе с реалистичными изображениями. Только результат не так предсказуем, как в Stable Diffusion, потому нет дополнительных настроек. Это компенсируется удобным интерфейсом.
Например, если есть интересная картинка, которая неудобно кропается, то можно прямо в Photoshop дорисовать недостающую часть. Это делается на раз-два. В Stable Diffusion можно получить такой же результат, но приложив чуть больше усилий.
Midjourney умеет делать красивые фэнтезийные картинки, но, к сожалению, их разрешение оставляет желать лучшего. Поэтому в ZiMAD мы используем Midjourney в связке со Stable Diffusion для увеличения разрешения. Крутость в том, что есть возможность оставить изображение прежним, улучшив лишь разрешение или добавив необходимых деталей, если требуется.
Например, коллега с помощью Midjourney сделала красивую картинку для Magic Jigsaw Puzzles, а я увеличил ее разрешение до 4k через Stable Diffusion.
В этом случае мне помогает поле Script, я выбираю один из предложенных апскейлеров (в нашем случае это LDSR), выставляю параметр Scale Factor, который отвечает за то, во сколько раз будет увеличена картинка, также не забываю поставить параметр Denoising strenght на околоминимальные значения (если выставить этот параметр слишком высоко, то нейросеть серьезно перерисует картинку, значения для апскейла в нашем случае 0,1-0,2).
Если подобрать хороший параметр для денойзинга, то нейросеть только дорисует детали и не будет сильно менять картинку. Например, так у волка появилась проработанная шерсть и пропала пиксельность.
У работы со Stable Diffusion, конечно, есть и недостатки. Архитектура и надписи — это по-прежнему непросто для нее. Здания могут получаться хаотичными, а текст — совсем нечитабельным.
Но, уверен, со временем эти недостатки будут решены.
Несмотря на сложности, которые возникают при работе с нейросетями, художникам и игровым командам необходимо уже сегодня учиться работать с ними. Иначе у них вряд ли получится оставаться конкурентоспособными на рынке.
Например, сейчас передо мной стоит задача подготовить 50 иконок. Их создание вручную могло занять у меня минимум неделю. С помощью нейросети на это вряд ли уйдет больше двух дней.
Так что, лучше не сопротивляться новым технологиям, а учиться с ними эффективно взаимодействовать.
Комментарии
Ответить