Концепция проекта
Импрессионизм — это не про изображение реальности, а про попытку уловить мгновение, свет, атмосферу, впечатление. Картины Клода не всегда стремились к точности — они передавали ощущение мира, а не его форму.
Но при этом этот мир был ограничен эпохой художника. Моне писал воду, сады, мосты, туман над рекой, свет, растворяющий архитектуру. Он не видел небоскрёбов, неона, стеклянных фасадов, мегаполисов, живущих в ритме электричества и цифровых экранов.
Цель: с помощью генеративной нейросети, обученной на его живописи, перенести его художественный язык в среду, которой для него не существовало — в современный мегаполис.
Инструменты
В проекте использовались:
Stable Diffusion — обучение генеративной нейросети Google Colab — код и генерации Hugging Face — получение токена для обучения нейросети и загрузка модели на сайт
Исходные изображения
Датасет был собран на сайте различных архивов, а затем каждое изображение было переделано под квадратный формат.
Описание обучения модели
В ноутбуке реализован полный цикл обучения модели генерации изображений в заданном стиле с использованием подхода LoRA поверх Stable Diffusion XL. Сначала подготавливается среда: проверяется наличие GPU и устанавливаются необходимые библиотеки, которые обеспечивают загрузку модели, обучение и оптимизацию работы с памятью.
Далее формируется датасет. Загружаются изображения в отдельную папку, которая становится основой для обучения. Эти картинки представляют целевой стиль, который модель должна запомнить и воспроизводить при генерации.
Затем формируется файл metadata.jsonl, где для каждого изображения хранится его имя и соответствующее текстовое описание. Этот файл используется в обучении как связка «картинка — текст».
После подготовки данных освобождается память, и инициализируется accelerate для запуска обучения. Также выполняется авторизация в Hugging Face, чтобы при необходимости сохранять результаты.
Основной этап — обучение LoRA. Запускается скрипт DreamBooth для SDXL, который обучает небольшую надстройку поверх базовой модели. В процессе модель учится воспроизводить стиль датасета, не изменяя полностью исходную модель, а добавляя к ней адаптер.
После завершения обучения получается LoRA-модель, которую можно подключать к Stable Diffusion XL. На этапе генерации она используется вместе с текстовым промптом, и модель начинает создавать изображения в том стиле, который был изучен на датасете.
Результат
Все изображения были сгенерированы на основе одного и того же промта, где менялось только название города. Например, «skyscrapers skyline in MONET style, dubai» или «skyscrapers skyline in MONET style, New York».
В результате работы получились следующие города: Дубай, Лондон, Москва, Берлин, Нью Йорк, Чикаго, Шанхай, Сингапур и Санкт-Петербург.
Дубай
Лондон
Москва
Берлин
Нью Йорк
Чикаго
Шанхай
Сингапур
На основе получившейся модель интересно генерируются города, для которых небоскрёбы нехарактерны.
Например, в Санкт-Петербурге высокие стеклянные здания не были отражены.
Санкт-Петербург