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

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

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

Идея проекта

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

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

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

big
Исходный размер 1280x920

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

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

Обучение

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

Исходный размер 1164x493

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

Исходный размер 945x161

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

Исходный размер 1389x108

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

Исходный размер 1236x493

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

0

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

Исходный размер 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 (для обучения генеративной модели и последующей генерации изображений)

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