Исходный размер 1723x2560

Дообучение генеративной нейросети под мой собственный стиль

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

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

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

В этом проекте я проверю на практике, как нейросети справятся генерацией изображений в моем уникальном стиле.

У меня есть 21 фоновый кадр из анимации — зимние московские улицы, новогодние пейзажи, дома и помещения. Объема датасета должно быть достаточно для дообучения, так как стиль консистентен. Вот несколько изображений из датасета:

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

Вместо ручной работы я использовала BLIP (Bootstrapping Language-Image Pre-training) — модель от Salesforce, которая умеет генерировать текстовые описания для изображений. BLIP работает быстро и даёт достаточно точные формулировки, которые в дальнейшем можно использовать как основу для промптов.

Я загрузила BLIP с Hugging Face, перевела его в режим fp16 для экономии видеопамяти и написала небольшую функцию-обёртку, которая принимает изображение и возвращает готовый текст. Каждый сгенерированный капшен я дополняла префиксом «image in PODKORITNIKOVA Style», — так модель понимает, что все эти изображения объединены одним визуальным языком.

В результате для каждого из 21 кадра был сформирован файл metadata.jsonl, где в одной строке хранятся имя файла и соответствующий ему промпт. Это позволило полностью автоматизировать подготовку датасета и сосредоточиться на самом обучении.

Исходный размер 841x366

С подготовленным датасетом и капшенами можно переходить к обучению. Я использовала метод LoRA (Low-Rank Adaptation) — он идеально подходит для малых датасетов и позволяет дообучить модель, не меняя её основные веса. Вместо полного переобучения огромной нейросети LoRA добавляет небольшие корректирующие слои, которые «вшивают» новый стиль поверх базовой модели. Это экономит память, ускоряет процесс и снижает риск переобучения.

Обучение запускалось через скрипт train_dreambooth_lora_sdxl.py с параметрами, подобранными под мой кейс: разрешение 1024×1024, 800 шагов обучения, 8-битный оптимизатор Adam для экономии видеопамяти. Каждые 200 шагов модель сохраняла чекпоинты, а по завершении сформировался итоговый файл pytorch_lora_weights.safetensors — именно он хранит весь «выученный» стиль.

Чтобы не потерять результат и иметь возможность делиться им, я загрузила обученные веса на Hugging Face Hub. После загрузки модель стала доступна по ссылке https://huggingface.co/bubidla/podkoritnikova_style_LoRA — теперь её можно подключать к любому пайплайну Stable Diffusion, просто указав этот репозиторий.

Исходный размер 552x341
Исходный размер 511x417

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

Следующим шагом стало определение архитектуры, поверх которой мы будем дообучать свой стиль. В качестве базовой модели я выбрала Stable Diffusion XL (SDXL) — на момент работы это одна из самых стабильных и гибких моделей, которая хорошо держит композицию и детализацию даже при работе с нестандартными стилями. Для ускорения и экономии памяти я использовала версию VAE madebyollin/sdxl-vae-fp16-fix — это модифицированный автоэнкодер, который работает в 16-битной точности и даёт более чистые цвета на выходе.

Исходный размер 825x188

Чтобы проверить, насколько глубоко модель усвоила мой стиль, я составила 21 промт, охватывающий разные сюжеты: детские площадки, городские пространства, природные сцены, интерьеры, необычные локации, уютные уголки и динамичные городские сцены. Все промпты начинались с ключевой фразы image in PODKORITNIKOVA Style, — именно она «включала» обученный стиль.

Для каждого промта модель выполняла 30 шагов удаления шума при значении guidance_scale = 7.5 — это баланс между следованием тексту и творческой свободой. Все изображения генерировались в разрешении 1024×1024, чтобы сохранить детализацию, характерную для исходных анимационных кадров.

Исходный размер 583x342
Исходный размер 744x562

В результате получилась серия из 21 изображения, каждое из которых уникально по композиции, но объединено общим визуальным языком. Модель не копировала исходные кадры, а создавала новые сцены, интерпретируя мой стиль — пластику линий, работу с тенями и ночным освещением — применительно к разнообразным сюжетам.

Ниже приведены несколько примеров полученных изображений:

Сгенерированная серия из 21 изображения показала, что модель успешно усвоила ключевые черты моего стиля. Очертания объектов, пластика линий и манера построения композиции сохранились, что говорит о корректной работе LoRA-дообучения даже на относительно небольшом датасете.

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

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

Дообучение генеративной нейросети под мой собственный стиль
Проект создан 22.03.2026
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше