
Идея проекта
Как-то раз я сходил в ботанический сад чтобы развеяться и сфотографировать окружающую среду. В основном у меня получились тёмные и полу мрачные фотографии с интересной растительностью, которая весьма необычно выглядит с разных ракурсов. И я подумал, а что если обучить генеративную нейросеть генерировать мистическую, сверхъестественную версию того же пространства что я фотографировал?
Цель моего проекта — это посмотреть, насколько сильно сможет нейросеть сможет создать атмосферу мрака и загадочности природы по моим фотографиям, которую я сам пытался передать.
Исходные изображения

Для генерации изображений было выбрано дополучить модель Stable Diffusion.
Для дообучения были взять 38 фотографий кота Семена в формате 1:1. В датасете преимущественно использовались фотографии которые выглядят немного мрачновато и имеют эдакую атмосферу.
Генерации изображений
Первые пять изображений были сгенерированы по исходникам выбранных фотографий в обучающей выборке, где была добавлена атмосфера загадочного, волшебного, мрачного леса/природы. Это было сделано для того, чтобы посмотреть, насколько схоже нейросеть генерирует фотографии по которым она обучалась.

Промт: «photo photography of nature and plants, a small plant growing out of a rock, now in an enchanted dark forest with bioluminescent glow, ancient symbols on the rock, thick moss coverage, mysterious shadows and deep woodland secrets»
Промт: «photo photography of nature and plants, a path through a forest with lots of trees, now a dark mysterious overgrown path through an enchanted forest with sinister canopy, thick fog, glowing eyes in shadows, abandoned and haunted gothic woodland»
Промт: «photo photography of nature and plants, a park bench in the middle of a park, now transformed into an abandoned haunted forest with an overgrown moss-covered bench, twisted vines, eerie fog, mysterious shadows and dark enchanted atmosphere»
Промт: «photo photography of nature and plants, a tree stump is sitting in the middle of a field, now transformed into a mysterious overgrown dark forest with glowing moss, strange runes, twisted vines and thick fog, eerie moonlit atmosphere, haunted woodland»
Промт: «photo photography of nature and plants, a close up of a flower in a forest, now transformed into an enchanted dark forest with a mystical glowing flower, bioluminescent petals, eerie forest backdrop, mysterious shadows and magical atmosphere»
Как итог, модель достаточно хорошо справилась с генерацией фотографией по обучающим фотографиям и передачей атмосферы, которую я просил. Практически везде есть сходства с оригиналом (датасетом).
Для генерации изображений была в итоге выбрана модель, которая обучена с 500 шагами, а для промтов будет добавляться более подробная атмосфера и окружение.
Дальше для следующей серии генераций, я попробовал сделать так, чтобы модель брала все фотографии датасета и комбинировала их по предложенному промту, делая из нескольких комбинаций фотографий из датасета в одну целую с определённой атмосферой.


Промт 1: «photo photography of nature and plants, an ancient stone archway covered in ivy and moss, now transformed into a mysterious gateway to a dark enchanted forest with eerie glow, twisted vines and mystical atmosphere»
Промт 2: «photo photography of nature and plants, a small creek flowing through the woods, now traprompt = nsformed into a mysterious dark forest stream with bioluminescent water, overgrown banks, eerie mist and magical woodland atmosphere»


Промт 1: «photo photography of nature and plants, a forgotten well in the deep woods, now transformed into a mysterious dark forest well with glowing water, overgrown stones, eerie reflections and magical woodland secrets»
Промт 2: «photo photography of nature and plants, a circle of mushrooms growing under old trees, now transformed into a mystical fairy ring in a dark enchanted forest with glowing fungi, mysterious shadows and magical woodland secrets»


Промт 1: «photo photography of nature and plants, a forest clearing with fallen leaves, now transformed into a mysterious dark forest ritual site with glowing patterns, eerie mist, twisted branches and magical woodland energy»
Промт 2: «photo photography of nature and plants, a hollowed ancient tree trunk, now transformed into a mystical dark forest portal with bioluminescent fungi, twisted roots, mysterious glow and enchanted atmosphere»
Опять же, модель весьма неплохо справилась с задачей. Некоторые объекты, которые присутствуют в обучающей выборке, были заменены по смыслу: канализация — дыра, тропинка между деревьями — каменная арка/река, опавшие засохшие листья — корни большого дерева. Модель выбирала более подходящие фотографии с датасета по предложенным промтам.
Поскольку модель справилась с комбинацией фотографий из обучающей выборки, пришло время попробовать сделать более подробные промты с более устрашающей, загадочной атмосферой вместе с объектами.


Промт 1: «photo photography of nature and plants, an abandoned forest cabin, now transformed into a horrifying scene with broken windows revealing shadowy creatures, disturbing symbols on walls, eerie whispers and sense of impending doom»
Промт 2: «photo photography of nature and plants, a twisted dead tree with broken branches, now transformed into a terrifying scene with skeletal hands emerging from the ground, ghostly figures in the fog, blood-red moon and overwhelming dread»


Промт 1: «photo photography of nature and plants, a dense thicket of thorny bushes, now transformed into a terrifying trap with moving vines, human-like shapes trapped within, blood-like sap and suffocating darkness»
Промт 2: «photo photography of nature and plants, a murky forest pond, now transformed into a nightmare scene with pale hands reaching from the water, distorted faces reflected, unnatural ripples and paralyzing fear»


Промт 1: «photo photography of nature and plants, a network of tree roots above ground, now transformed into a horrifying scene with the roots resembling tortured human forms, ground that seems to breathe, and overwhelming existential terror»
Промт 2: «photo photography of nature and plants, a rocky outcrop in the woods, now transformed into a dreadful altar with unnatural bone-like formations, dark ritual remnants, ominous shadows and visceral horror»
По итогу, благодаря тому, что нейросеть была обучена на фотографиях с затемнённой фотографией и композицией, итоговые генерации мрачной и страшной природы получись весьма схожими с оригиналом, в котором присутствует каждый элемент но немного заменённый с отсылкой на обучающую выборку.
Принцип работы кода
Для начала устанавливаем все необходимые библиотеки и создаем датасет фотографий. Дальше мы делаем просмотр нескольких случайных фотографий для проверки работы кода.
Далее сгенерируем для каждого изображения промт, который будет использоваться для обучения Stable Diffusion.
Добавляем ключ Hugging Face — инструмент для машинного обучения.
Далее начинаем обучение самой модели. В настройках задаем 500 шагов, чтобы модель могла показать хороший результат сгенерированных фотографий. Также передаем префикс к промтам, который используется в обучающей выборке.
Дальше мы сохраняем модель в Hugging Face, чтобы она могла с помощью нее генерировать фотографии.
Загружает модель Stable Diffusion, подключаем улучшенный вариационный автоэнкодер для лучшего качества изображений и переносим всю модель на видеокарту для ускорения работы.
Теперь мы можем генерировать фотографии!
Описание применения генеративной модели
Deepseek — использовался для генерации промтов изображений а также исправление кода при ошибках.