
Идея проекта
Работая над календарём к юбилею Гатчины, захотелось обучить генеративную нейросеть Stable Diffusion, чтобы посмотреть, как будут выглядеть другие города Ленинградской области в том же стиле, что и основной проект.
Мой настольный календарь рассказывает о 12 памятных местах, где переплетаются история прошлого и современная жизнь. Он выглядит как набор диорам, которые образно рассматривают архитектуру города и изображают их в виде фантастической иллюстрации. Природа и цветы — неотъемлемая часть идеи проекта, так как он вдохновлён историческим фактом, когда в Гатчине объединился народ и государство, после открытия царских парков под общее пользование.
Главная цель проекта — посмотреть, насколько точно нейросеть сумеет передать мой стиль, специально созданный для календаря, и как можно расширить идею до серии календарей для других городов.
Начало работы
Перед началом работы был собран датасет из 70 изображений (финальные иллюстрации и те, что не вошли в итоговый проект). Весь материал был создан с помощью Chat GPT (написание промтов), Ideogram и Krea AI (создание иллюстраций). Во время генерации исходников использовалась общая фраза «Natural details made in the spirit of macro illustrations by Ernst Haeckel, with ornamental symmetry reminiscent of spirography, with a neon depth that creates an atmosphere of futurism of the 1980s. The whole environment is filled with symbolism, similar to visions in a dream: a mixture of Jesus Bosch and Salvador Dali, but through the prism of Iglooghost — organic, cosmic. High detail, mystical, cosmic, hyper-realistic atmosphere».
В проекте были использованы следующие инструменты:
— Stable Diffusion (обучение генеративной нейросети под свой стиль); — Google Colab (выполнение кода и генераций); — Hugging Face (получение токена для обучения нейросети, загрузка полученной модели на сайт); — Figma (коллажирование готовых работ).
Описание процесса обучения
Работа началась с подготовки всех необходимых библиотек: Diffusers, DreamBooth и так далее. А также с загрузки датасета с компьютера в пространство Colab и их проверке.
Затем, при проверке нейросеть дала ловольно точные подписи к каждому изображению. После были удалены конвейеры BLIP для освобождения памяти.
Далее был произведён логин с системой Hugging Face, после которого начался процесс тренировки нейросети по данному датасету. Были выбраны следующие параметры: разрешение 512, максимальный шаг тренинга 500, чекпоинт на 250. Такие настройки позволили сократить время ожидания, которое в итоге составило 1:03:43.
В конце полученная модель была сохранена на Hugging Face. После данных действий можно было приступить к генерации изображений.
Генерации
Выборг
Перед процессом генерации были выбраны города в Ленинградской области (Выборг, Луга, Пушкин, Шлиссельбург, Петергоф, Сосновый Бор, Кронштадт) и достопримечательности в них, которые было бы интересно показать в иллюстрациях.

Выборгский замок
Prompt: «Photo collage of Gatchina style, a brick castle that has a long, wide white tower with a green round roof. The building is located on an island surrounded by water and lilies. All the plants are geometric and fantastic».

Круглая башня
Prompt: «Photo collage of Gatchina style, a cylindrical small building with a red roof with a small spire of the same color. Small windows are randomly scattered all over the wall surface. The building is located on the riverbank, surrounded by round plants. Autumn colors: red, yellow and brown».
Луга

Собор Воскресения Христова
Prompt: «Photo collage of Gatchina style, a white church made of red and white brick with a hipped roof right in the center. There are small towers on the sides».
Пушкин

Чугунные Египетские ворота
Prompt: «Photo collage of Gatchina style, а gate is in the form of Egyptian trapezoidal pyramids, which are covered with Egyptian hieroglyphs underneath. There is an iron fence with petal decorations between the two pillared gates.

Белая башня
Prompt: «Photo collage of Gatchina style, a white completely rectangular tower with green decorations and green fences on the facade. It stands in the middle of the park, with paths leading to it».

Екатерининский дворец
Prompt: «Photo collage of Gatchina style, а long blue palace with white columns and gold decorations. It snakes all over the hill. Lots of statues. A flat, well maintained park all around».
Шлиссельбург

Крепость Орешек
Prompt: «Photo collage of Gatchina style, а stone medieval low fortress on the island. There’s water all around! The towers of 6 pieces on the edges of the fortress have conical maroon roofs».
Петергоф

Большой дворец (Петродворец)
Prompt: «Photo collage of Gatchina style, а fountain complex, standing on the slope of a hill. Each floor has its own fountain and its own golden statue. Water is pouring out of fountains».
Сосновый Бор

Собор Божьей Матери «Неопалимая Купина»
Prompt: «Photo collage of Gatchina style, a triangular monumental church with one golden dome. The church consists of white and black stripes».

Скульптура «Стойкий Оловянный солдатик»
Prompt: «Photo collage of Gatchina style, а Black sculpture of a sturdy tin soldier near a black fence in a rock».
Кронштадт

Деревянный маяк
Prompt: «Photo collage of Gatchina style, a wooden one lighthouse with a red wall in the middle of the water, to which there is one massive road».

Форт «Великий Князь Константин»
Prompt: «Photo collage of Gatchina style, а round, very thick one round wall on the island. There’s only water around and nothing else».
Выводы
Анализируя полученные изображения, можно сделать вывод, что нейросеть научилась создавать точную объёмную архитектуру по промту и сохранять её узнаваемость с оригиналом, добавляя необходимый фантастический флёр. Все объекты находятся в изобилии растительности, что было важным критерием при обучении компьютерной модели.
Нейросеть также отлично поняла, что здания надо располагать в центре композиции или выше середины.
Однако большинство растений достаточно размыты и через чур сильно похожи на реальную флору, в то время как в датасете было достаточно много примеров со сказочными и геометричными цветами. Есть только несколько примеров, когда нейросеть «постаралась» с растительностью.
Неожиданно, что компьютерная модель попыталась изобразить животных на иллюстрациях, хотя в датасете с ними была только одна фотография, потому что другие нейросети в процессе работы над календарём отказывались изображать фауну. У нашей нейросети тоже оказались с ней некоторые проблемы.
Гораздо лучше, несмотря на то, что в датасете нет изображений людей, нейросеть справилась со скульптурой оловянного солдатика и другими.
Также есть иллюстрации, где нейросеть полностью скопировала композицию, идею и цвета из исходного изображения.
Интересно, что в процессе генераций один раз нейросеть создала буквальный коллаж, что вдохновило на интересный эффект, который можно будет использовать в будущем.
В итоге получилось обучить нейросеть создавать иллюстрации со сказочной архитектурой, окружённой природой, что может помочь создать необходимое настроение для серии календарей для городов Ленинградской области. Если продолжить обучать компьютерную модель, то будут получаться более точные результаты.