Привет! Почти каждый имел опыт создания изображений при помощи нейросетей или хотя бы видел сгенерированные ими картинки с лишними пальцами. Мне бы хотелось рассказать о том, как я создавал комикс на основе таких картинок, с какими сложностями столкнулся и какие хитрости использовал в работе. Сейчас создано 340 страниц, а основной сюжет комикса близится к завершению.

Примечание:
Пост рассказывает о личном опыте, не рассматривает архитектуру нейронных сетей и не претендует на охват всех возможных решений. Работу над комиксом я начал весной 2023 года, и с тех пор ситуация с нейронными сетями для создания изображений немного изменилась. Сюжет комикса и диалоги полностью написаны мной (ради интереса я попробовал использовать ChatGPT 3.5 для написания диалогов, но был разочарован).

Хронология:

Выбор сети для генерации - зима 2023

Первоначально я рассматривал вариант со Stable Diffusion, но отказался от него в пользу Midjourney из-за субъективно более приятного стиля рисовки и более понятной ситуации с лицензированием изображений. По сути, я заказываю изображения у компании точно так же, как если бы я заказывал их у человека. По сравнению с кучей моделей для Stable Diffusion, обученных непонятно кем и непонятно на каких данных, этот вариант представлялся мне более понятным. Стоит отметить, что у меня не возникало юридических проблем, поэтому, возможно, мои опасения были излишними. Еще Midjourney заметно менее требовательна к точности запроса (Promt), негативный запрос (negative-promt), как правило, не нужен, а основной запрос короче в несколько раз. 

Также со Stable Diffusion была проблема в том, что именно с акварельным стилем она справлялась не очень хорошо, а Midjourney выдала вариант, который мне понравился. В настоящее время эту проблему, скорее всего, можно решить, найдя подходящую Lora (или обучив свою). Про Lora можно прочитать, например, тут: https://habr.com/ru/articles/747534/

Слева генерации от Stable Diffusion, справа от Midjourney v4 (состояние на весну 2023)Запросы одинаковые: cute blonde long hair girl in red jacket, talk with, guy square glasses brown hair with short beard in black jacket, hold hands, summer, in full growth, full size, full height, detailed,in park,saint petersburg,watercolor
Слева генерации от Stable Diffusion, справа от Midjourney v4 (состояние на весну 2023)
Запросы одинаковые: cute blonde long hair girl in red jacket, talk with, guy square glasses brown hair with short beard in black jacket, hold hands, summer, in full growth, full size, full height, detailed,in park,saint petersburg,watercolor

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

Я рассматривал вариант перехода на Stable Diffusion, чтобы не зависеть от Midjourney и иметь возможность запускать генерацию изображений локально, однако при текущем темпе выпуска комикса (одна страница каждый день) на подготовку данных для обучения своей модели просто не хватает времени.

Начало работы над проектом - весна 2023

Первые изображения я создавал еще на 4 версии Midjourney, у которой были довольно большие проблемы с пальцами и другими мелкими деталями. Некоторые из них приходилось править вручную, часть - перерисовывать с помощью локальной Stable Diffusion. На этом этапе я не особо заботился о стабильности лиц персонажей и решил сделать главных героев узнаваемыми за счёт общего стиля внешности: героиня - блондинка в красной куртке, а герой темноволосый, в очках и с бородой.

Пример исходного (от 4 версии Midjourney) и исправленного изображения (и да, там остался лишний палец)Запрос: guy square glasses brown hair with beard in black t-shirt sitting on ground, paint picture in spruce forest,summer, watercolor
Пример исходного (от 4 версии Midjourney) и исправленного изображения (и да, там остался лишний палец)
Запрос: guy square glasses brown hair with beard in black t-shirt sitting on ground, paint picture in spruce forest,summer, watercolor

Переход на 5 версию Midjourney - август, сентябрь 2023

Первоначально я планировал выпускать по две страницы в неделю, однако после замечания одного художника, что можно использовать нейросети для рисования по одной странице в день, я решил перейти к графику выпуска каждый день. Примерно в то же время вышла 5 версия Midjourney, у которой количество ошибок заметно снизилось, что упростило мою работу над комиксом. Главная проблема была в том, что стиль 4 и 5 версий значительно отличался, что было заметно. Я окончательно перешел на 5 версию из-за того, что в ней появилась возможность перерисовывать отдельные участки изображения. Vary Region (аналог Inpaint в Stable Diffusion) позволяет изменять отдельные элементы изображения, такие как цвет футболки или длина волос, а также исправлять ошибки, например, проблемы с пальцами: можно просто выделить проблемную область изображения и указать, что должно быть на ней.

Слева 4 версия (не особо удачная генерация), справа 5 версия.Запросы одинаковые: guy with square glasses brown hair with short beard in black shirt dance with cute blonde long loose hair woman in white tshirt, hands up, in the artist's studio, modern artist's studio on background, looking at each other, holding hands, happy, style watercolor, watercolor
Слева 4 версия (не особо удачная генерация), справа 5 версия.
Запросы одинаковые: guy with square glasses brown hair with short beard in black shirt dance with cute blonde long loose hair woman in white tshirt, hands up, in the artist's studio, modern artist's studio on background, looking at each other, holding hands, happy, style watercolor, watercolor

6 версия Midjourney - декабрь 2023

В декабре 2023 года вышла шестая версия, но я остался на 5 версии, так как, несмотря на прогресс в качестве и вариативности генераций (некоторые запросы, которые понимает шестая версия, пятая версия в принципе не понимает), стиль рисовки изменился слишком сильно, и лично мне новый вариант нравится меньше.

6 версия лучше знает, что такое коса и как её держать, но для моих целей картинка получается слишком детализированной и отличающейся по стилю от предыдущих страниц комикса.Запросы одинаковые: girl as grim reaper with scythe, purple dress, mows the grass, night, watercolor
6 версия лучше знает, что такое коса и как её держать, но для моих целей картинка получается слишком детализированной и отличающейся по стилю от предыдущих страниц комикса.
Запросы одинаковые: girl as grim reaper with scythe, purple dress, mows the grass, night, watercolor

Однако эта версия очень пригодилась в режиме редактирования фрагментов изображения (Vary Region). При его использовании стиль исходной картинки сохраняется (в том числе и в редактируемом фрагменте), а качество генерации становится выше.

5 версия наотрез отказывалась рисовать матроску (судя по всему, такого слова/образа не было в модели), а 6 версия легко справилась с этой задачей.Основной запрос: scared poor hungry boy in torn gray clothes stands in a dark abandoned house, watercolorДополнительный запрос: torn gray sailor suit, watercolor
5 версия наотрез отказывалась рисовать матроску (судя по всему, такого слова/образа не было в модели), а 6 версия легко справилась с этой задачей.
Основной запрос: scared poor hungry boy in torn gray clothes stands in a dark abandoned house, watercolor
Дополнительный запрос: torn gray sailor suit, watercolor

Другие нейросетевые комиксы

Кроме моего комикса, разумеется, существуют и другие нейро-комиксы, и это вызывает негативную реакцию у части комиксистов. Многие художники с предубеждением относятся как к самой идее генерации изображений нейронными сетями, так и к созданию комикса на их основе . Заявления некоторых комиксистов вызывали у меня опасения, так как на ряде ресурсов есть ограничения на публикацию изображений, созданных с использованием нейронный сетей. К счастью для меня, администрация Авторского Комикса (acomics.ru) рассмотрела вопрос и решила, что проблема таких комиксов не является актуальной на данный момент, так как на февраль 2024 года из 2916 комиксов только 4 были нейросетевыми. Честно говоря, я думал, что их будет больше.

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

Подробней про проблему нейрокомиксов и позицию сайта Авторского Комикса можно прочитать тут https://vk.com/@-19453433-ai-gpt-comics

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

Примеры постобработки созданных изображений

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

Коллаж

Самый простой и трудоемкий способ постобработки - ручная сборка коллажа из отдельных картинок.

  • Генерируем по отдельности персонажей и фон

  • Удаляем людей и ненужные объекты с фона

    • С помощью Vary Region - указав в запросе background

    • Вручную (я использую GIMP)

  • Вырезаем персонажей, для этого я обычно использую RemBG. Хорошая утилита, но обычно ручные правки после её использования всё-таки требуются.

  • Вручную совмещаем все элементы на одной картинке

В примере ниже я дополнительно поменял цвет листвы с оранжевого на зеленый.

Комбинирование генераций и повторные запросы

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

  • Комбинируем персонажей и фон, передавая картинки в одном запросе

  • Расширяем картинку с помощью режима Zoom в Midjorney, вообще в данном примере было бы лучше использовать режим Pan для расширения картинки в одну сторону, но на тот момент времени он работал нестабильно.

  • Вручную вырезаем нужную область

Уточнение персонажей

В случаях, когда персонажи были сгенерированы в удачном положении/ракурсе, но не похожи на себя, помогает режим Remix Subtle (к сожалению, его убрали в текущей версии интерфейса буквально неделю назад).

Девушка на картинке в центре не похожа на девушку справа, а вместо мальчика нейросеть вообще нарисовала девочку.
Девушка на картинке в центре не похожа на девушку справа, а вместо мальчика нейросеть вообще нарисовала девочку.
  • Сверху в центре исходная картинка с правильным положением персонажей, но с неправильной внешностью.

  • Перерисовываем её в режиме Remix Subtle, добавив к запросу, сгенерированные ранее картинки с персонажем.

    • Отдельно для мальчика, при этом рыжая женщина стала девочкой-подростком.

    • Отдельно для женщины, при этом ребенок стал рыжей девочкой

  • Сводим результаты генерации вручную

Заключение

Лично я остался доволен этим экспериментом: даже будучи художником, едва ли я смог бы выдержать темп по странице в день в таком качестве. Стоит ли учиться рисовать самому или использовать нейронные сети, мне кажется, каждый решает для себя сам. У меня первоочередной задачей было рассказать историю, и нейронные сети помогли мне сделать это, не “перегорев”. При этом навык ретуши и сборки коллажей из разных изображений у меня заметно вырос. 

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

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

Сам комикс можно найти тут https://acomics.ru/~two2one или тут https://t.me/two_4_one .

Комментарии (9)


  1. Crystal_Development
    14.06.2024 12:40

    Я может тоже что-то такое попробую сделать. Может какой-то фильм сделаю. И конечно как без надписи "By AI"


  1. Suoriks
    14.06.2024 12:40
    +2

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


    1. igormich88 Автор
      14.06.2024 12:40

      Я как основную площадку рассматривал acomics - там 220 подписчиков, ну и в рекламу особо не вкладывался, так как в основном делаю проект для себя.


  1. Suoriks
    14.06.2024 12:40
    +1

    Эх. Прочитал за час, то, что создавалось год.


    1. igormich88 Автор
      14.06.2024 12:40
      +1

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


  1. dxq3
    14.06.2024 12:40
    +9

    Подумайте - что приобрела ваша история от визуализации? Осилил 20 страниц и мне покзаалось что ничего. Это можно было бы заменить на рассказ, в который вставить пару тройку экшен иллюстраций. Для комикса здесь не хватает - вдумчивой работы с камерой, взаимодействия персонажей, преемственности кадров в повествовании, иногда ты понимаешь что было изображено и зачем, если за этим не следует ничего. Возмем страницу 24. Вот идут парень девушка, светит солнце. Внезапно следующая картинка - играющий где то ночью на гитаре мужик. Что к чему? Если бы вы смотрели кино (оговримся-не артхаус) и режиссер на пру скунд вам вставил такой кадр? Вы бы задали вопрос, а что за мужик? А почему так быстро время прошло? А что сейчас будет? Ведь не спроста он тут...Но тут - просто ничего.. Я сразу начинаю думать, парень что ли ночами играет на гитаре? Да нет не он вроде... У нас мозг во всем ищет истории и закономерности, а этот комикс ломает мозг конкретно, отвергая их))

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

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


  1. azTotMD
    14.06.2024 12:40
    +2

    Самое сложное, как мне кажется, в использовании нейросетей для рисования комиксов (или там игр), это создание одних и тех же объектов. Если надо нарисовать одного и того же человека в разных ракурсах / обстановках. Или там одно и то же здание днём/ночью. А нейросеть каждый раз рисует разное. Я в фокусе даже сид один и тот же выставлял - всё равно, сколько попросишь картинок - все разные будут. И использовал кусок рисунка для повторной генерации - всё равно подрисовывает что-то своё. Как вы с этим боролись? Там указано, про какой-то Remix Subtle, расскажите подробнее.


    1. igormich88 Автор
      14.06.2024 12:40
      +2

      Главное что помогает мне в стабильности персонажей (и всё равно она далека от идеала) это возможность Midjourney передавать на вход не только текст, но и картинки (у других нейросетей я такой возможности не видел). То есть я отдаю ей изображение главного героя с нейтральным выражением лица, картинку с помещением и говорю что он там сидит улыбается. В итоге после нескольких (десятков) генераций получается достаточно похожее лицо в нужной обстановке.
      Remix Subtle похож на режим img2img у StableDiffusion - есть уже созданное изображение и к нему применяется новый запрос, при этом крупные элементы картинки скорее всего сохранятся, а мелкие детали такие как черты лица поменяются.
      Если вы используете StableDiffusion, то вы пробовали подключать Lora (сейчас они похоже есть почти для всех популярных персонажей)?


      1. azTotMD
        14.06.2024 12:40
        +1

        вы пробовали подключать Lora

        нет, не пробовал. Но меня и персонажи мало интересуют. В любом случае, спасибо за комментарий