
Концепция
Задача
Обучение генеративной нейросети Stable Diffusion под стиль манги Кагурабачи (Kagurabachi, カグラバチ) авторства Хоказоно Такеру (Hokazono Takeru)

Изображения из манги «Кагурабачи» Хоказоно Такеру
Идея проекта
В нынешнее время многие творческие люди пробуют себя на роль мангак, придумывая и рисуя истории для себя, своих друзей или широкой аудитории. Каждый из них, уже написав интересный сюжет, продумав внешний вид героев, пространства и все другие важные детали, с решительностью приступает к отрисовыванию и наталкивается на одну и ту же проблему: фон и важность его детализации. Задний и передний планы пространств играют огромную роль в восприятии работы мангаки и иногда заводят в ступор колоссальной тратой времени и эмоциональных ресурсов для рисования побочных элементов. Вырисовывать фоны может потребоваться от 5 до 20 раз за главу, что очень тормозит развитие сюжетного творческого процесса. Именно для таких задач и может пригодиться нейросеть в создании манги или комикса. Она бы помогла не только сэкономить время и получить нужный результат, но и дополнила бы интерьер или экстерьер своими деталями, которые не пришлось бы выдумывать самостоятельно для каждого отдельного фона.
Важно сказать, что знаменитые мангаки создают фоны с помощью обрисовывания фотографий или же 3Д моделей. И в том и в другом случае, авторы добавляют свой стиль рисования, отображая предметы с отличительными особенностями: штрихами, материалами и художественными приёмами, которые повторяются от изображения к изображению.
Цели
Для демонстрации пользы обучения генеративной нейросети в стиле манги я решила взять в пример Хоказоно Такеру — автора манги «Кагурабачи». Для этого у меня есть 3 цели:
1. Продемонстрировать особенности стиля мангаки (пример: Хоказоно Такеру), которые нейросеть способна перенимать и использовать для дальнейшей генерации в этом стиле. 2. Доказать полезность обучения нейросети на стиль манги, которое могло бы помочь в создании собственного комикса (с помощью обучения на свой неповторимый стиль).
3. Не менее важный пункт. Если у вас пока нет своего стиля, а начать рисовать хочется уже сейчас, то можно на основе генераций по стилю мангаки создавать фоны для своих работ. Необходимо уточнить, что при использовании такого метода работы скорее всего должны быть некоммерческими и при возможности указанными с деталью о том, что они созданы на основе генерации стиля изначального автора в случае публикации (если есть возможность, то стоило бы спросить у автора разрешение на использование его стиля в таких целях, однако конечно это необязательно в силу трудностей связи). Однако это всё ещё прекрасный способ, если вы учитесь рисовать фоны и хотели бы перенять стиль какого-либо автора или кастомизирую сгенерированные изображения добавлением цвета, дополнительных деталей, персонажей и многого другого.
Особенности стиля
Стиль Хоказоно Такеру в манге «Кагурабачи» был выбран из-за своих особенностей: он отлично подходит для всех трёх целей, а особенно для кастомизации, так как не слишком перегружен тонами чёрно-белой гаммы, точечными текстурами, предметами, а также не имеет иных цветов, что позволяет дополнять картину своим видением и использованием картинок в цветных мангах и вебтунах.
Технически он отличается характером штриха: автор использует одну и ту же кисть, имитирующую графитовый карандаш. Иногда для крупных участков он использует крупную кисть для чернил. Тени заливаются серым цветом, а самые тёмные участки чёрным. Есть множественные повторения окон, черепицы, листьев и травы, а также плитки. Иногда появляется шум, созданный штрихом или массами тёмных красок.
Исходные изображения датасета для обучения нейросети
Все изображения были взяты из манги Хоказоно Такеру «Кагурабачи» в квадратном формате. Количество изображений: 41 штука (в силу способностей Colab)
Изображения из датасета
Процесс обучения генеративной модели
Для лучшего понимания процесса обучения давайте пройдёмся по основным шагам. Полный код и объяснения каждого шага — в конце лонгрида.
Модель на Hugging Face: https://huggingface.co/Meadowiknetort/Kagurabachi_style_LoRA
Загрузка датасета
Загрузим в гугл коллаб наш датасет используя команды импорта. Локальную директорию, на которую будут загружены изображения называем kagu
Дальше нам необходимо привести изображения к общему квадратному формату и цветовому полю с помощью импортирования библиотеки PIL и создания функции image_grid, позволяющую перенастроить размеры
Генерация подписей с помощью BLIP
Помимо датасета в виде картинок нам также необходимо их описание. Получаем мы их с помощью загрузки модели Bootstrapping Language-Image Pre-training, помогающей нам автоматизировать монотонный процесс
Для работы с данными в формате json импортируем библиотеку. Добавляем к каждому определённому нейросетью описанию изображения определяющий префикс «manga background in KAGURABACHI style»
С помощью команды! cat выводим все полученные данные работы BLIP на экран
Обучение генеративной модели
Запускаем ячейку обучения. Вызываем Lora и выставляем такие параметры, чтобы память не закончилась до окончания обучения: --dataset_name="kagu» --output_dir="Kagurabachi_style_LoRA» --instance_prompt="manga background in KAGURABACHI style» --resolution=512 --train_batch_size=2 --gradient_accumulation_steps=3 --max_train_steps=500 --checkpointing_steps=250 Самое главное — качество 512, так как 1024 уже тяжелее тянется Colab и может слететь
Сохранение модели в huggingface_hub
Сохраняем и загружаем модели LoRA в Hugging Face Hub с помощью функции save_model_card, сохраняющую информацию о модели в Hugging Face. Также upload_folder и create_repo
Работа нейросети до обучения
На данном этапе Stable Diffusion не знает не только стиль Хоказоно Такеру «Кагурабачи», но и вообще туго имитирует стиль манги даже знаменитых мангак, таких как Инио Асано. Это даёт понимание о необходимости обучения данной генеративной нейросети. Вот несколько примеров того, что видит Stable Diffusion на данный момент:
1. A bench in the park during the rainy season in the style of Hokazono Takeru’s black and white manga 2. <…> in the style of Inyo Asano’s <…> 3. A bench in the park during the rainy season <…>
Ниже продемонстрировано сравнение работы модели до обучения (слева) и после (справа). Можно заметить, что изображения становятся намного более детализированными и будто бы нарисованными вручную с продумываем каждого уголка листа. Укрощается некоторая навязчивая 3Д сторона, благодаря уходу от цветовой объёмности к штриховой текстурности. Ярко прослеживается стиль автора, хотя и с некоторыми изъянами, которые мы обсудим немного позже.
Промпты: 1. manga background in KAGURABACHI style, а bench in the park during the rainy season 2. manga background in KAGURABACHI style, black and white, interior of a beer bar 3. manga background in KAGURABACHI style, Сrowded city street 4. manga background in KAGURABACHI style, black and white, A sky in which birds fly carefree 5. manga background in KAGURABACHI style, black and white, view of the city of Moscow from above
Обученная нейросеть
Трудности генерации
В процессе работы над обучением модели были выявлены некоторые проблемы в построении изображений. Первой стала некорректная цветопередача, которая часто могла переключаться с чёрно-белых оттенков к коричневым отливам. Данная проблема решилась добавлением к основному промпту фразы «black and white» в случае необходимости подкорректировать данную деталь. Именно такие случаи продемонстрированы на изображениях снизу до и после корректировки:
<…> an empty room with one window
Второй проблемой стала нагроможденость деталей, появившаяся за счёт любви автора к постоянным повторениям в архитектуре задних планов. К сожалению избавиться от неё полностью не получилось, однако она встраивается в общий ряд стиля и иногда может ослабляться добавлением к промпту слов «minimalistic», «clean», «quiet» и других.
<…> view of the red square, where several people are slowly walking and enjoying the views
Пространства генерации
Городская среда и архитектура
Kagurabachi_style отлично имитирует стиль Такеру Хоказоно в городских пейзажах сверху. Здесь детализация придаёт городу особенный шарм. Она также прекрасно справляется с построением архитектурных сооружений, что замечательно подходит для замены рисованного заднего и переднего планов в городе. Даже несмотря на японский стиль окружения в датасете, у нейросети получается воссоздать и другие его стили, например уходящие ближе к церковной православной тематике.
manga background in KAGURABACHI style + black and white (по необходимости) + minimalistic style (по необходимости) + prompt
1. <…> mountain view 2. <…> view of the city
1. <…> a street dark corridor leading to an alley on the street 2. <…> the market square during the summer festival. First-person view
1. <…> pedestrian crosswalk on a white background, two cars waiting for two pedestrians to cross the road. First-person view of a pedestrian 2. <…> the door to the hotel room
1. <…> taxi 2. <…> a free, clean and quiet metro station
1. <…> the Orthodox Church in Russia 2. <…> a lonely small Orthodox church in Russia in the middle of a wheat field
Интерьер
Интерьер с помощью Kagurabachi_style позволяет придумать новые решения для рисования внутренних пространств, однако имеет ярко выраженную особенность нагромождения.
1. <…> a view of the sink with dirty dishes in it, and the bright sun is shining outside the window right in front of 2. <…> grocery store
1. <…> clean toilet in the white small room 2. <…> clean and white small bedroom
Природные пейзажи
Природные пейзажи у модели выходят особенно хорошо, будь то маковое поле, водопады или корабль в шторме. При обучении нейросеть уловила тенденцию построения транспортных сооружений и хорошо справляется с их дальнейшим воссозданием. То же самое можно сказать о цветах, любой зелени и природных ланшафтах.
1. <…> poppy field 2. <…> magical waterfall in the forest
1. <…> A stone house hidden in a rock 2. <…> The ship sails on a choppy sea
1. <…> Lovers watch the fireworks 2. <…> the flower shop counter
Животные
И напоследок, животные стали хитом этого процесса обучения, получаясь довольно правдоподобно и соответственно стилю манги. Хорошо подходит для разнообразия фонов. Также такой эксперимент даёт понять, что Kagurabachi_style хорошо справляется не только с созданием людей на заднем плане, но и животных и птиц.
1. <…> The capybara is lying and resting on the grass 2. <…> The capybara is lying and resting on the grass
1. <…> zoo. The bear enclosure 2. <…> A cute cat is sitting on the steps
<…> sea lions relax on an ice floe