Original size 2480x3500

Обучение генеративной нейросети под художественный стиль Cowboy Bebop

PROTECT STATUS: not protected
48

Идея Проекта

Cowboy Bebop — культовое аниме с уникальной стилистикой: неоновыми цветами, резкими тенями и кинематографичными композициями. Моей целью было создать кастомную нейросеть на базе Stable Diffusion, способную генерировать новые изображения в этом стиле. Для этого я обучил модель на 200+ скриншотах из аниме, используя метод Dreambooth LoRA.

Процесс разработки модели были основан на следующем

РУКОВОДСТВЕ

Сбор данных: создание датасета

Для успешного обучения нейросети важно подготовить качественный набор изображений. Я собрал более 200 скриншотов из Cowboy Bebop, чтобы модель смогла уловить стилистику аниме.

big
Original size 2560x512

Исходные скришоты из серий аниме «Cowboy Bebop»

Перед обучением изображения были обработаны следующим образом:

Обрезаны c помощью собственной программы на Python до квадратного формата (1:1), чтобы лучше соответствовать требованиям модели.

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

big
Original size 1280x1280

Скриншоты из «Cowboy Bebop»

Подготовка модели и загрузка изображений

Для обучения я использовал метод Dreambooth с LoRA-адаптацией, который позволяет эффективно дообучать модель с меньшим количеством VRAM.

Первый шаг, загрузить в Google Colab этот инструментарий.

Далее, программа загружает изображения из папки и подготавливает их для обучения.

Original size 1137x201

В моей ситуации, фотки напрямую были загружены вручную на Google Colab

Original size 1165x418

Создание метаданных для обучения

Stable Diffusion требует, чтобы каждое изображение сопровождалось описанием (caption), которое помогает модели понимать его стиль. Для этого создаётся специальный файл metadata.jsonl:

Original size 707x360

Что здесь происходит:

Каждое изображение получает текстовое описание, объединяющее caption_prefix и автоматически сгенерированную подпись.

Эти данные записываются в metadata.jsonl в формате JSON.

Файл будет использоваться при обучении, чтобы сопоставить изображения с текстами и обучить нейросеть правильно понимать стиль Cowboy Bebop.

Подключение к HuggingFace

Для доступа к моделям и датасетам на платформе Hugging Face я использовал функцию notebook_login (). Это позволило авторизоваться в Hugging Face Hub и загрузить необходимые ресурсы для обучения с помощью сгенерирванного API ключа.

Original size 875x488

Обучение Модели

Использование Dreambooth LoRA для кастомного стиля:

Здесь модель обучается на изображениях из папки /content/Photos, используя базовую Stable Diffusion XL.

Original size 1030x502

Самые важные параметры: --pretrained_model_name_or_path: Указывает базовую модель (Stable Diffusion XL 1.0).

--dataset_name: Путь к датасету с изображениями для обучения.

--instance_prompt: Описание стиля/объекта, который должна генерировать модель.

--learning_rate: Скорость обучения (1e-4).

--max_train_steps: Общее количество шагов обучения (500).

Загрузка обученной модели

Этот код получает имя пользователя с HuggingFace, используя сохранённый токен, и формирует ID репозитория, куда будет загружена модель.

Original size 988x266

А здесь уже происходит загрузка модели на HUB в HuggingFace. Это последний шаг перед использованием обученной модели.

Original size 943x649

Инициализация и использование модели

Этот код загружает исправленный VAE для качественного декодирования изображений, основную модель Stable Diffusion XL с 16-битной точностью для оптимизации памяти, подключает обученные веса LoRA и переносит модель на GPU для ускоренной генерации.

Это последний шаг перед использованием обученной нейросети.

Original size 1024x483

Результаты генерации

После обучения нейросеть смогла генерировать изображения, которые сочетают в себе стиль Cowboy Bebop и элементы персонажей из этого аниме. Вот несколько примеров:

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

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

prompt = «A rugged bounty hunter in a long brown coat, jumping off a building while firing a plasma pistol, neon lights reflecting off their sunglasses, highly detailed, cinematic lighting»

prompt = «A spaceship crashing into a desert planet, with a trail of smoke and fire behind, Cowboy Bebop art style»

Original size 1024x1024

prompt = «A lone bounty hunter standing on a rooftop, overlooking a neon-lit city, wearing a long coat and holding a plasma rifle, highly detailed, cinematic lighting, Cowboy Bebop art style»

prompt = «A spaceship floating in deep space, with a distant star illuminating the cockpit, Cowboy Bebop art style»

Original size 1024x1024

prompt = «A woman with short hair, wearing a pilot’s uniform, standing in front of a spaceship, Cowboy Bebop art style»

prompt = «A lonely bounty hunter on a gazing onto a futuristic city through a window, Cowboy Bebop art style»

prompt = «A bounty hunter, with a melancholic expression»

prompt = «A desert planet with two suns, and a bounty hunter walking towards it, highly detailed, cinematic lighting, Cowboy Bebop art style»

Original size 1024x1024

prompt = «A young woman with short hair, wearing a leather jacket, standing in a neon-lit alley, Cowboy Bebop art style»

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

Сложности

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

2. Во время обучения модели на бесплатном аккаунте Google Colab возникали проблемы с нехваткой VRAM, что приводило к обрывам процесса после длительного времени работы. Из-за лимита оперативной памяти пришлось уменьшить количество фотографий для обучения и снизить их разрешение с 1024 до 512 пикселей.

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

Выводы

Original size 1024x1024

prompt = «A corgi wearing a spacesuit, floating in zero gravity, with a comically serious expression, Cowboy Bebop art style»

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

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

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

В целом, принятые меры по оптимизации процесса и автоматизации подготовки данных оказались эффективными, даже при ограничениях Google Colab.

Описание применения генеративной модели

https://chat.deepseek.com был использован для генерации промптов, которые позволили обученной нейросети сгенерировать наилучшие результаты для проверки ее работоспособности.

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

Обучение генеративной нейросети под художественный стиль Cowboy Bebop
48
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more