Original size 2480x3500

Обучение генеративной нейросети Stable Diffusion

PROTECT STATUS: not protected

Обучение модели Stable Diffusion (через LoRA-адаптацию) на изображениях горных и сельских пейзажей для генерации реалистичных природных сцен

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

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

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

Для обучения использовались фотографии горных ландшафтов, долин и т. д.

Этап 1. Установка зависимостей и подготовка окружения

На этом этапе были установлены все необходимые библиотеки для работы с диффузионными моделями (Stable Diffusion), LoRA-адаптацией и PyTorch. Также монтируется Google Drive, чтобы сохранять результаты обучения и веса модели. Этот шаг подготавливает среду для дальнейшего обучения и генерации.

big
Original size 2088x284

Colab сообщает о подключении диска:

big
Original size 518x36

Это значит, что доступ к папкам проекта на Google Drive активирован.

Этап 2. Настройка конфигурации обучения

Создан dataclass LoraTrainConfig, который задаёт все параметры обучения: путь к данным, директории для сохранения весов, количество шагов, размер изображений и параметры LoRA (r, alpha, dropout). Эта структура — ядро проекта: она делает обучение воспроизводимым и управляемым.

0

LoRA используется для дообучения небольшого количества параметров вместо всей сети — это ускоряет процесс и снижает требования к вычислительным ресурсам.

Этап 3. Подготовка датасета

Создан класс FolderImagesWithCaptions, который сканирует папку с тренировочными изображениями, масштабирует их до 512×512 и сопоставляет с описаниями (prompt). В качестве подписей использовались нейтральные описания пейзажей — чтобы нейросеть улавливала стиль без привязки к конкретным местам.

0

Это позволяет использовать собственные изображения (например, пейзажи Петербурга) как обучающий материал для fine-tuning Stable Diffusion.

Этап 4. Обучение модели LoRA

Класс LoraLandscapeTrainer реализует цикл обучения: Кодирование изображений в латенты (через VAE); Кодирование подписей в эмбеддинги (через text encoder); Добавление шума (Diffusion process); Обучение UNet с LoRA-адаптацией на восстановление исходного сигнала.

0

5. Генерация изображений

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

Original size 1280x444

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

Общее наблюдение:

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

Удачные аспекты:

— детализированные текстуры травы, камней и неба;

— естественные переходы света и тени;

— убедительная перспектива и воздушная глубина;

— стабильное качество цвета — преобладают зелёно-голубые и тёплые пастельные тона.

Недочеты и артефакты:

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

Ноутбук с кодом обучения:

Использование GenAI

Для подготовки текста экспликации и описания методики использовался генеративный текстовый инструмент (ChatGPT) — только как вспомогательный редактор идей и структуры.

Результаты обучения и финальные изображения были сгенерированы рассчитанной мной LoRA-адаптацией Stable Diffusion.

Обучение генеративной нейросети Stable Diffusion
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