Идея
Уильям Тернер (1775–1851) — Озеро, Петуорт, Закат, Этюд-образец
Мне захотелось сделать проект, связанный со стилем Уильяма Тёрнера , так как его работы меня вдохновляют на собственное творчество. В его картинах мне особенно нравятся свет, воздух, мягкость цвета и ощущение чего-то почти неуловимого — как будто изображение состоит не только из формы, но и из света, тумана, воды и движения.
Было интересно попробовать обучить генеративную нейросеть Stable Diffusion так, чтобы она смогла уловить именно это настроение: романтическое, светлое, акварельное, немного мечтательное.
Главная цель проекта — посмотреть, насколько нейросеть сможет приблизиться к этой эстетике и научиться создавать новые изображения, которые будут ассоциироваться с живописью Тёрнера не буквально, а именно по ощущению. Мне хотелось проверить, сможет ли модель передать его светящуюся палитру, мягкие переходы цвета, туманную атмосферу, морские и пейзажные мотивы, а также ту особую романтическую поэтичность, которая делает его работы такими узнаваемыми.
Описание процесса обучения
Сначала потребовалось проверить, подключён ли графический процессор. Это нужно для того, чтобы обучение модели и генерация изображений шли на GPU, потому что без него процесс был бы слишком медленным.
Далее понадобилось установить все библиотеки, необходимые для работы проекта: инструменты для Stable Diffusion XL, обучения LoRA, загрузки модели и генерации изображений.
После этого был загружен обучающий скрипт DreamBooth для SDXL. Именно он используется для запуска обучения LoRA на выбранном наборе изображений.
Затем была создана ячейка, в которой задаются основные параметры проекта: путь к папке с изображениями, путь для сохранения обученных весов, специальный токен стиля и текстовое описание обучаемой художественной концепции. На этом этапе определяется, что модель должна обучаться на стиле, вдохновлённом работами Уильяма Тёрнера.
После этого понадобилось загрузить подготовленные изображения в Google Colab. Для этого использовалась встроенная функция загрузки файлов. В проект можно было загрузить как отдельные изображения, так и архив с ними.
Далее была нужна отдельная ячейка, чтобы проверить, что изображения действительно загрузились корректно. На этом этапе выводились несколько примеров файлов и их размеры, чтобы убедиться, что датасет готов к обучению.
После подготовки датасета запускалась основная ячейка обучения. Именно здесь модель Stable Diffusion XL дообучалась с помощью LoRA на выбранных изображениях и начинала усваивать характерные особенности стиля Уильяма Тёрнера: светлую палитру, мягкую атмосферу, воздушность, романтическое настроение и акварельную живописность.
Далее, после завершения обучения использовалась проверочная ячейка, чтобы посмотреть, сохранились ли в выходной папке веса модели. Это позволяло убедиться, что обучение прошло успешно и результат действительно записан.
Затем понадобилась ячейка для загрузки базовой модели Stable Diffusion XL и подключения к ней обученных LoRA-весов. На этом этапе создавался pipeline, который уже мог генерировать новые изображения в изученном стиле.
После этого использовалась тестовая ячейка с первым prompt. Она нужна для того, чтобы сделать пробную генерацию и посмотреть, насколько хорошо модель уловила стиль, цветовую гамму и общее настроение выбранного художника.
Далее была отдельная ячейка для генерации уже не одной, а целой серии изображений. В ней задавались разные prompts, объединённые общей стилистикой, но различающиеся по сюжету, освещению и состоянию природы. Это позволяло получить серию работ для итогового лонгрида.
Результат
«turnerlight romantic watercolor landscape»
Далее к нему добавлялись уточнения, связанные с конкретной сценой, атмосферой и световыми эффектами. В разных генерациях использовались такие элементы, как светящееся небо, туман над водой, золотой рассвет, мягкие облака, морской горизонт, сияющий закат, гавань, речной пейзаж и тёплый рассеянный свет.
Негативный промпт во всех генерациях оставался одинаковым:
«photo, realistic, 3d, render, modern, harsh contrast, dark shadows, low quality, blurry».
Итог
Нейросеть хорошо передала свет, мягкую цветовую гамму и романтическую атмосферу, характерные для работ Уильяма Тёрнера. Лучше всего получились воздушные пейзажи, сияющее небо и акварельная живописность, хотя в некоторых местах детали могли упрощаться.
Использованные ресурсы:
— Stable Diffusion XL + DreamBooth LoRA: обучение модели и генерация изображений. — Google Colab: код и обучение модели; — ILOVEIMG: улучшение качества некоторых изображений; — Adobe Photoshop: коррекция исходных изображений;