Original size 1140x1600

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

PROTECT STATUS: not protected
The project is taking part in the competition

Введение

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

Original size 2958x1329

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

Original size 2958x1256

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

Original size 2958x1256

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

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

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

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

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

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

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

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

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

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

Original size 2782x1230

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

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

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

Original size 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»

Original size 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»

Original size 2782x1230

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

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

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

Original size 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»

Original size 2934x1477

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

Original size 2934x1477

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

Original size 2934x1434

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

Выводы

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

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

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

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

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

  • Узнаваемые пропорции фигуры
  • Характерная пластика позы — слегка округлые, «мягкие» движения
  • Эмоциональная выразительность через аксессуары и положение тела
Один день персонажа LUMI
Project created at 18.03.2026
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