
Обучение модели Stable Diffusion (через LoRA-адаптацию) на изображениях горных и сельских пейзажей для генерации реалистичных природных сцен
Проект направлен на изучение способности нейросети воспроизводить особенности природных пейзажей: освещение, глубину перспективы, цветовую палитру и фактуру поверхности.
Идея заключалась в создании обученной модели, которая может синтезировать оригинальные горные виды — реалистичные, атмосферные и разнообразные по освещению и композиции.
Таким образом, проект исследует взаимодействие технологий генеративного ИИ с художественными принципами передачи пространства, света и природных форм.
Для обучения использовались фотографии горных ландшафтов, долин и т. д.






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

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

Это значит, что доступ к папкам проекта на Google Drive активирован.
Этап 2. Настройка конфигурации обучения
Создан dataclass LoraTrainConfig, который задаёт все параметры обучения: путь к данным, директории для сохранения весов, количество шагов, размер изображений и параметры LoRA (r, alpha, dropout). Эта структура — ядро проекта: она делает обучение воспроизводимым и управляемым.
LoRA используется для дообучения небольшого количества параметров вместо всей сети — это ускоряет процесс и снижает требования к вычислительным ресурсам.
Этап 3. Подготовка датасета
Создан класс FolderImagesWithCaptions, который сканирует папку с тренировочными изображениями, масштабирует их до 512×512 и сопоставляет с описаниями (prompt). В качестве подписей использовались нейтральные описания пейзажей — чтобы нейросеть улавливала стиль без привязки к конкретным местам.
Это позволяет использовать собственные изображения (например, пейзажи Петербурга) как обучающий материал для fine-tuning Stable Diffusion.
Этап 4. Обучение модели LoRA
Класс LoraLandscapeTrainer реализует цикл обучения: Кодирование изображений в латенты (через VAE); Кодирование подписей в эмбеддинги (через text encoder); Добавление шума (Diffusion process); Обучение UNet с LoRA-адаптацией на восстановление исходного сигнала.
5. Генерация изображений
После обучения LoRA-веса были подключены к базовой модели и запущена генерация 15 изображений. Каждый промт создавал вариации природных пейзажей — с мягким светом, естественной цветовой палитрой и глубиной пространства. В ходе эксперимента наблюдалось, что LoRA усиливает реалистичность деталей, делает небо и свет более «живыми».














Сгенерированные изображения представляют серию реалистичных горных пейзажей. Каждое изображение создавалось по отдельному текстовому промпту с описанием сцены и условий освещения.
Общее наблюдение:
Модель корректно передаёт глубину пространства, структуру горных массивов и естественное освещение. В большинстве изображений наблюдается мягкое рассеянное освещение, реалистичная цветовая температура и достоверное распределение тонов.
Удачные аспекты:
— детализированные текстуры травы, камней и неба;
— естественные переходы света и тени;
— убедительная перспектива и воздушная глубина;
— стабильное качество цвета — преобладают зелёно-голубые и тёплые пастельные тона.
Недочеты и артефакты:
В ряде случаев нейросеть допустила неестественные формы склонов или искажения строений — результат неправильной интерпретации рельефа или света. Иногда встречались «размытия» деталей вблизи горизонта и дублирующиеся текстуры, что характерно для LoRA-обучения на ограниченной выборке.
Ноутбук с кодом обучения:
Использование GenAI
Для подготовки текста экспликации и описания методики использовался генеративный текстовый инструмент (ChatGPT) — только как вспомогательный редактор идей и структуры.
Результаты обучения и финальные изображения были сгенерированы рассчитанной мной LoRA-адаптацией Stable Diffusion.