Идея
Dreamcore представляет собой сюрреалистичную интернет-эстетику, в которой используются мотивы, связанные с мечтами, грёзами и иногда кошмарами. Она имитирует ощущение нахождения внутри сна, создавая атмосферу узнаваемой, но искажённой, сюрреалистичной реальности.
Идея проекта заключается в том, чтобы обучить генеративную нейросеть Stable Diffusion XL создавать изображения в стиле dreamcore с сохранением изначальных черт эстетики. К примеру, ощущение лиминальности изображенных пространств, искажение посредством визуального шума, эффектов, повторение форм, коллажность, использование облаков, нереальность происходящего. Главной задачей будет обучить модель тому, как использовать повторяющиеся паттерны визуальной эстетики, а также вписывать их в новые изображения без нарушения стиля и общей целостности.
Серия изображений
Для создания датасета я собрал подборку с платформы Kaggle с лиминальными пространствами, а также выбрал вручную изображения, подходящие конкретно под нужный мне стиль. В итоге получилась подборка из 49 изображений.
Важно отметить, что одним из критериев попадания в стиль является то, что большинство изображений либо намеренно искажаются, либо представлены в плохом качестве для поддержания ощущения того, что все происходит в прошлом.
Процесс обучения
Процесс обучения включал в себя сначала проверку наличия GPU и установку необходимых библиотек, после чего требовалось создать датасет. В этом проекте я выгружал изображения прямиком в коллаб, используя для этого соответствующий скрипт. По итогу датасет состоял из 49 примеров, на которых могла учиться нейросеть.
После этого нужно используется BLIP для генерации текстовых описаний к датасету. Заданный скрипт далее сохраняет в отдельный файл. Это нужно в том числе чтобы задать токен. В нашем случае токен такой: «a photo in dreamcore style,»
Следующим шагом стала настройка обучения. Я привел все изображения к формату 512 на 512, а также выставил 500шагов для обучения с чекпоинтами на каждом 250 шаге.
Как только модель обучилась, осталось лишь локально сохранить ее и выгрузить в репозиторий, а затем и на HuggingFace.
Результат
ии/не ии
Нейросеть научилась создавать похожие по стилистике изображения. Она сохраняет низкое разрешение с низкой детализацией. В этом примере удалось передать иллюстрацию города, сохранить идею того, что дома должны быть одинаковыми и расположены в повторяющемся паттерне. От общего стиля оставлены также необычные ракурсы и ломаная перспектива. Есть также некий эффект VHS кассет.
ии/не ии
Также остается дружелюбность, преобладание ярких цветов, которые заглушаются визуальным шумом, некоторая детскость. Нейросеть хорошо изображает атрибуты стиля, такие как облака, окна, двери, поля и кровати.
Ниже будут представлены еще примеры удачных генераций. Помимо визуальных эффектов, также в некоторые изображения добавляются яркие блики, белые искры, наложенные поверх. В том числе присутствует выкрученная контрастность света, картинки кажутся выбеленными, что тоже присуще стилю.
Результат получился достаточно неплохим. Нейросеть научилась воссоздавать искомую эстетику с использованием примечательных для стиля атрибутов.




