Original size 907x1280
The project is taking part in the competition

Этот проект посвящён ностальгии по лету 2020 года — времени, когда в мире были локдаун, экономические и социальные кризисы, многие люди столкнулись с непредвиденными проблемами и я в их числе. Это было тяжелое время, когда мировые проблемы столкнулись с моими личными — 11 класс, сдача ЕГЭ, выбор профессии, поступление. Спасаясь от тревоги, я стала смотреть на небо, начала фотографировать рассветы, закаты, облака — это было лучшее лекарство от отчаяния.

Этот проект — о той самой терапии. О том, что всё в мире меняется: мы прощаемся с детством, проходим через кризисы, но небо остаётся неизменным в своей красоте. Оно было, есть и будет — вечный зритель нашей быстротечной жизни и напоминание о том, что покой можно найти даже в самый трудный момент.

С помощью генеративной нейросети Stable Diffusion и техники DreamBooth LoRA я хочу научить модель воспроизводить ту самую эстетику: мягкие оранжевые и розовые тона, золотистое свечение, невесомые облака. В результате будет создана серия изображений, которые возвращают ощущение того лета и показывают, как искусственный интеллект может интерпретировать личные воспоминания.

Ниже я подробно расскажу обо всех этапах работы: от сбора датасета до генерации финальной серии.

I. Сбор и подготовка датасета

Для обучения необходимо было собрать от 10 до 200 квадратных изображений (соотношение сторон 1:1) хорошего качества. В моём случае это фотографии неба, закатов, облаков и солнца, сделанные летом 2020 года.

Примеры исходных изображений

Примеры исходных изображений

Я помню, где и когда сделана та или иная фотография, это греет душу до сих пор. И мне искренне жаль, что я перестала снимать.

II. Настройка среды в Google Colab и подготовка данных

Я использую предоставленный код, адаптируя его под свою тему. Все действия выполняются в Google Colab (среда с GPU).

Этот этап — фундамент нашего путешествия в воспоминания. Подготовка инструментов напоминает о том, как перед долгой дорогой мы снаряжаем рюкзак.

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

Первым делом проверяем доступность GPU и устанавливаем необходимые библиотеки.

Называем папку, например «summer2020», и создаём её, затем переходим в созданную папку и загружаем файлы с компьютера

После создадим текстовые описания с помощью модели BLIP. Каждое описание будет начинаться с префикса, задающего стиль, например, «summer 2020 nostalgia style».

Original size 1707x285
0

III. Обучение модели DreamBooth LoRA для Stable Diffusion XL

Original size 1703x497

Для каждого изображения мы генерируем описание и дописываем в начало ключевую фразу «summer 2020 nostalgia style». Эта фраза станет идентификатором стиля — именно по ней нейросеть будет узнавать, что нужно рисовать в нашем особом настроении. Все пары «имя файла → текст» сохраняем в файл metadata.jsonl (формат JSON Lines), который требуется для обучения. После этого удаляем BLIP из памяти, чтобы освободить ресурсы.

0

Для доступа к моделям и возможности сохранить обученную LoRA на Hub вводим токен авторизации.

Поскольку Stable Diffusion XL оказалась слишком тяжёлой для бесплатного Colab, мы переходим на более лёгкую, но не менее качественную модель — Stable Diffusion 1.5. Для неё нужен скрипт train_text_to_image_lora.py. Он позволяет обучать LoRA на собственном датасете с индивидуальными подписями.

Вот мы уже запускаем обучение LoRA!

Этот этап похож на передачу моих воспоминаний нейросети. Каждый шаг обучения — это ещё один штрих, приближающий искусственный интеллект к пониманию того, как я видела то лето.

IV. Загрузка обученной LoRA и настройка пайплайна

После загрузки модели на Hub мы можем использовать её для генерации. Загружаем пайплайн Stable Diffusion XL и применяем LoRA-веса.

Original size 1704x506
Original size 1708x666

Я составляю список промптов, которые отражают разные грани лета 2020: закаты, облака перед грозой, алый закат в поле, солнце сквозь листву. Важно всегда начинать с ключевой фразы «summer 2020 nostalgia style», чтобы активировать обученный стиль.

0

Примеры промптов:

«summer 2020 nostalgia style, sunset over the calm sea, warm orange and pink sky, soft clouds»

«summer 2020 nostalgia style, golden hour in a wheat field, sun rays through the clouds»

«summer 2020 nostalgia style, dramatic clouds before a storm, deep purples and golds»

«summer 2020 nostalgia style, a lone tree on a hill at dusk, silhouette against colorful sky»

«summer 2020 nostalgia style, abstract cloud formations, dreamy atmosphere»

Получившиеся работы

Из полученных 20 изображений я выбираю те, которые наиболее точно передают настроение ностальгии и качество стиля. Важно, чтобы серия была разнообразной: разные сюжеты, но единая эстетика.

summer 2020 nostalgia style, twilight over a wild meadow, soft purple and pink sky, fading light, quiet evening atmosphere/summer 2020 nostalgia style, sunset over the calm sea, warm orange and sky

summer 2020 nostalgia style, view from below of clouds floating over a meadow, fluffy white clouds against blue sky, sense of freedom/summer 2020 nostalgia style, reflection of sunset in a lake

Как мы видим, модель хорошо усвоила характерные цвета моих фотографий: мягкие градиенты, отсутствие резких контрастов.

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

summer 2020 nostalgia style, empty country road at twilight, wild grass along the sides, sky transitioning to night, nostalgic feeling/summer 2020 nostalgia style, dramatic clouds before a storm, deep

Заключение:

Проект успешно достиг цели — нейросеть научилась генерировать изображения в моём стиле «лето 2020», создав серию ностальгических образов. Это пример того, как технологии могут служить инструментом для сохранения и переосмысления воспоминаний.

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

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

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