Original size 1140x1600

Обучение генеративной нейросети под стиль Каспара Давида Фридриха

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

Идея проекта

Проект направлен на обучение модели Stable Diffusion генерации изображений в стиле, основанном на живописи Каспара Давида Фридриха.

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

Я выбрала именно это направление, потому что Каспар Давид Фридрих — один из моих любимых художников. Мне хотелось попробовать перенести в генеративную модель его мрачную, меланхоличную и созерцательную эстетику, а также посмотреть, сможет ли нейросеть уловить настроение его работ, построенное на туманных пейзажах, руинах, холодном свете и ощущении одиночества.

big
Original size 1280x920

«Зимний пейзаж», 1811 г., Каспар Давид Фридрих

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

Обучение

Сначала у меня идёт техническая часть: в ячейке 1 выполняется проверка графического процессора. Это нужно для того, чтобы убедиться, что обучение будет проходить на GPU, а не на CPU, поскольку обучение Stable Diffusion XL на процессоре занимает слишком много времени.

Original size 1164x493

Далее в ячейке 2 устанавливаются необходимые библиотеки для работы со Stable Diffusion XL, DreamBooth и LoRA. Здесь загружаются основные зависимости, которые нужны для запуска обучения, работы с моделями, сохранения весов и последующей генерации изображений.

Original size 945x161

После этого в ячейке 3 загружается обучающий скрипт train_dreambooth_lora_sdxl.py. Это основной скрипт DreamBooth для SDXL, который используется для запуска обучения LoRA на моём наборе изображений.

Original size 1389x108

Затем в ячейке 4 задаются основные параметры проекта: путь к папке с датасетом, путь для сохранения обученных весов, специальный токен стиля и текстовый prompt, который описывает обучаемую концепцию. Именно здесь определяется, что модель должна усвоить стиль, основанный на живописи Каспара Давида Фридриха.

Original size 1236x493

После этого в ячейке 5 происходит загрузка изображений для обучения. В эту папку добавляются подготовленные изображения, которые используются как датасет. Ячейка также умеет распаковывать .zip-архив, если изображения загружены архивом. Далее в ячейке 6 выполняется проверка загруженных изображений. Она показывает, сколько файлов было найдено, а также выводит несколько примеров изображений и их размеры. Это нужно для визуального контроля датасета перед обучением.

0

Основной этап происходит в ячейке 7. Здесь запускается обучение LoRA на основе Stable Diffusion XL и DreamBooth. В этой ячейке модель обучается на моём наборе изображений и начинает усваивать характерные особенности выбранного художественного стиля. Во время выполнения именно эта ячейка отвечает за сам процесс тренировки и сохранение результата в указанную папку.

Original size 1293x408

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

Затем в ячейке 9 загружается базовая модель Stable Diffusion XL и подключаются обученные LoRA-веса. На этом этапе создаётся pipeline, который уже может использовать дообученный стиль для генерации новых изображений.

После этого в ячейке 10 выполняется тестовая генерация одного изображения по prompt. Эта ячейка нужна для первой проверки того, насколько хорошо модель усвоила стиль и может ли она создавать изображения с нужной атмосферой.

Далее в дополнительной ячейке 11 задаётся серия prompts для генерации нескольких изображений. Здесь модель создаёт уже не одну картинку, а целую серию работ.

Сгенерированный результат

Негативный промпт во всех генерациях оставался одинаковым: «photo, realistic, 3d, render, modern, blurry, low quality».

Основной промпт строился вокруг обученного стилевого токена: «friedrichmood dark romantic landscape».

Далее к нему добавлялись уточнения, связанные с конкретной сценой, атмосферой и композиционными элементами. Например, в разных генерациях использовались такие продолжения, как одинокая фигура на утёсе, готические руины в тумане, зимнее кладбище, пустынный морской берег, заброшенная часовня или горный пейзаж.

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

Итог

Нейросеть достаточно хорошо справилась с передачей общей атмосферы, цветовой гаммы и характерного настроения, связанного с живописью Каспара Давида Фридриха. Лучше всего ей удалось воспроизвести туманные пейзажи, холодный свет, мрачные пространства, мотив одиночества и романтическую меланхолию. При этом в более сложных композициях нейросеть иногда упрощала детали, делала формы менее точными или смешивала отдельные элементы пейзажа.

Были использованы: — Photoshop (для обрезки изображений и подготовки датасета) — Google Colab (для работы с кодом и обучения модели) — Stable Diffusion XL + DreamBooth LoRA (для обучения генеративной модели и последующей генерации изображений)

Обучение генеративной нейросети под стиль Каспара Давида Фридриха
Project created at 17.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