Исходный размер 1140x1600

Один день персонажа LUMI

Проект принимает участие в конкурсе

Введение

В основе проекта — обучение генеративной нейросети Stable Diffusion XL распознавать и воспроизводить уникальный стиль моего иллюстративного персонажа. Датасет состоит из 20 изображений одного и того же нарисованного вручную персонажа в различных ситуациях: с очками, телефоном, зонтиком, цветком, волшебной палочкой, в задумчивости и т. д. Все изображения выполнены в едином стиле: плоская 2D иллюстрация, лаконичные линии, простой фон, характерная пластика позы.

big
Исходный размер 2958x1329

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

big
Исходный размер 2958x1256

Исходные изображения

big
Исходный размер 2958x1256

Исходные изображения

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

Техника обучения: DreamBooth с адаптером LoRA поверх базовой модели stabilityai/stable-diffusion-xl-base-1.0. DreamBooth позволяет «вшить» конкретный объект/стиль в модель с помощью всего нескольких десятков примеров, а LoRA делает этот процесс эффективным по памяти и времени.

Описание обучения

1. Загрузка датасета и установка библиотек

Датасет состоит из 20 PNG-изображений, созданных в едином стиле (flat 2D illustration). Все изображения показывают одного персонажа в различных позах и ситуациях. Изображения подготовлены с простым фоном, что упрощает задачу обучения. Датасет загружен как Kaggle Dataset и подключён через Add Data.
Исходный размер 2782x1230

Фрагменты кода

Проверка GPU. Для обучения используется GPU P100 (16 ГБ памяти) на платформе Kaggle.

Потом устанавливаем необходимые библиотеки.

diffusers — основная библиотека HuggingFace для работы с диффузионными моделями bitsandbytes — квантизация весов до 8-бит (экономия GPU-памяти) transformers — работа с языковыми и vision-моделями accelerate — ускорение обучения, поддержка mixed precision peft — Parameter-Efficient Fine-Tuning, включает поддержку LoRA

Исходный размер 2782x1230

Фрагменты кода

2. Генерация подписей (BLIP)

Использовался Salesforce/blip-image-captioning-base для автоматического описания каждого изображения. К каждой подписи добавлен префикс «flat 2D illustration, LUMI character, " — это создаёт связь между токеном и стилем. Результат: файл metadata.jsonl с 20 парами изображение–подпись.
Исходный размер 2781x1485

Фрагменты кода

3. Обучение (DreamBooth \+ LoRA)

  • Базовая модель: stabilityai/stable-diffusion-xl-base-1.0
  • Адаптер: LoRA (rank 4, применяется к attention-слоям UNet)
  • 1000 шагов обучения на GPU P100 (~4.5 часа)
  • Использованы все техники экономии памяти: gradient checkpointing, fp16, 8-bit Adam
  • Ноутбук запускался через Save Version на Kaggle — фоновое выполнение без привязки к браузеру
  • Результат: файл pytorch_lora_weights.safetensors (~22 МБ) сохранён в /kaggle/working/
Исходный размер 2781x1485

Фрагменты кода

4. Инференс и генерация серии

  • Загрузка базовой SDXL + LoRA-адаптер из /kaggle/working/
  • 8 промптов, описывающих один день персонажа
  • По 30 шагов диффузии на каждое изображение
  • Итоговый коллаж сохранён в /kaggle/working/Nataly_NeuroCharacter/lumi_series_final.png
0

Фрагменты кода

5. Загрузка на huggingfacehub

Затем модель подгружается на huggingfacehub, где доступна для использования и генерации новых изображений.

Генерации

Параметры генерации: num_inference_steps=30 (баланс между качеством и скоростью) guidance_scale=7.5 — степень следования текстовому промпту (стандартное значение для детальных промптов)

Структура промпта: Каждый промпт построен по схеме: [стилевой префикс] + [токен персонажа] + [описание действия/ситуации] + [контекст фона] Пример: «flat 2D illustration, LUMI character, sitting and reading a book, cozy, simple background»

Стилевой префикс «flat 2D illustration» помогает базовой модели оставаться в нужном визуальном режиме, а токен «LUMI character» активирует обученный LoRA-адаптер.

Исходный размер 2782x1230

Утро: кофе / День: работа

prompt = «flat 2D illustration, LUMI character, holding a cup of coffee, morning, simple background»

promt = «flat 2D illustration, LUMI character, sitting at a desk with a laptop, working, simple background»

Исходный размер 2782x1230

Прогулка / Чтение

prompt = «flat 2D illustration, LUMI character, walking in a park, holding an umbrella, outdoors, simple background»

prompt = «flat 2D illustration, LUMI character, sitting and reading a book, cozy, simple background»

Исходный размер 2782x1230

Шоппинг / Встреча

prompt = «flat 2D illustration, LUMI character, holding shopping bags, happy, simple background»

prompt = «flat 2D illustration, LUMI character, waving hello, smiling, simple background»

Исходный размер 2782x1230

Вечер: музыка / Ночь

prompt = «flat 2D illustration, LUMI character, wearing headphones, listening to music, relaxing, simple background»

prompt = «flat 2D illustration, LUMI character, looking at stars, nighttime, peaceful, simple background»

Исходный размер 2934x1477

Другие генерации

Исходный размер 2934x1477

Другие генерации

Исходный размер 2934x1434

Другие генерации

Выводы

Итоговая серия состоит из 8 изображений, последовательно описывающих один день персонажа LUMI — от утреннего кофе до ночного созерцания звёзд. Концепция «одного дня» была выбрана намеренно: она позволяет проверить, насколько нейросеть способна переносить узнаваемый образ персонажа в разнообразные бытовые контексты.

Что удалось передать

Стилистические элементы:

  • Плоский 2D характер иллюстрации — модель воспроизводит именно flat-design, а не 3D-рендер или фотореализм
  • Минималистичное цветовое решение — ограниченная палитра
  • Простой, ненагруженный фон — в соответствии с исходными изображениями

Особенности персонажа:

  • Узнаваемые пропорции фигуры
  • Характерная пластика позы — слегка округлые, «мягкие» движения
  • Эмоциональная выразительность через аксессуары и положение тела
Один день персонажа LUMI
Проект создан 18.03.2026
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше