Исходный размер 1140x1600

Indian Temple. Обучение нейросети

Проект принимает участие в конкурсе

Идея проекта

Цель проекта — обучить генеративную нейросеть Stable Diffusion для создания изображений в стиле фотографий деталей Индийских храмов. Они отличаются не только месторасположением (преимущественно в горах), но и красочностью, внутренней отделкой, а также строением крыш. Главной задачей было обучить нейросеть воспроизводить отличительные черты храмов.

Исходная база данных*

*Фотографии из личного архива

В качестве исходной базы данных использовались фотографии из личного архива с поездки по Индии, на которых часто запечатлены особенности индийских храмов и их детали. Фотографии были приведены к необходимому размеру 1:1 в самом коде.

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

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

Процесс обучения

Без ошибок в коде не обошлось. На самом ответственном моменте, когда необходимо проверить, сохранились ли фотографии в нужную папку, возникла проблема — вывод показал, что их нет. Но при проверке на содержимое, все файлы оказались сохранены в нужную папку intem.

Ошибка подкралась, откуда не ждали — в коде был указан неверный формат файлов. Нужно было заменить jpg на JPG, так как исходные фотографии имели именно такой формат. После этого код заработал исправно и больше ошибок не было.

Исходный размер 736x367

Итоговые изображения

Промпт 1 «photo in INDTEMPL style, mountains of India» Промпт 2"photo in INDTEMPL style, multiple Indian temples in the mountains»

Одним из частых запросов к нейросети был «photo in INDTEMPL style, a temple in the mountains», так как большинство фотографий самых разных храмов были сделаны в горах. Появился интерес, насколько точно и разнообразно нейросеть сможет передать один и тот же промпт используя всю базу данных.

Промпт «photo in INDTEMPL style, a temple in the mountains»

Исходный размер 1024x1024

Промпт «photo in INDTEMPL style, a temple in the mountains»

Промпт «photo in INDTEMPL style, a temple in the mountains»

post

В исходной базе данных есть несколько изображений храмов, рядом с которыми появляется радуга. Было интересно, как нейросеть создаст подобные изображения.

Для этого использовался промпт «photo in INDTEMPL style, a temple in the mountains behind rainbow».

Слева — изображение из личного архива.

Промпт «photo in INDTEMPL style, a temple in the mountains behind rainbow»

Кроме гор, на исходных фотографиях есть множество деталей и отличительных черт самих храмов, поэтому был использован промпт «photo in INDTEMPL style, a temple» для того, чтобы понять, как нейросеть видит храмы в целом.

Промпт «photo in INDTEMPL style, a temple»

Исходный размер 1024x1024

Промпт «photo in INDTEMPL style, a colorful temple»

Промпт «photo in INDTEMPL style, multiple temples»

post

Было замечено, что нейросеть зачастую показывает не сам предмет, заданный в промпте, а его часть/деталь, отличительную особенность.

Так как это было основной целью обучения, можно считать ее выполненной.

Слева к изображению был задан промпт «photo in INDTEMPL style, a temple», но вывод (получившееся изображение) показывает только крышу здания. Таким типом крыш обладают многие индийские храмовые постройки, что является их чертой.

Также было замечено, что если по какому-либо запросу в исходной базе мало изображений, то нейросеть практически повторяет исходный снимок по композиции, но изменяет окружающую среду, используя изученный стиль.

Слева — одно из исходных изображений. Справа — промпт «photo in INDTEMPL style, inside the temple»

Промпт «photo in INDTEMPL style, inside the temple»

Дальше было интересно посмотреть, как нейросеть справится с запросами, которые отходят от предоставленной базы данных. Сначала был добавлен один дополнительный элемент в виде собачки, а дальше запрос уже не был никак связан с исходной базой данных.

Промпт «photo in INDTEMPL style, a temple with a dog on the stairs»

Промпт «photo in INDTEMPL style, a red building»

Описание применения генеративных моделей

Проект был создан с помощью исходного кода, предоставленного в курсе, используя генеративную модель Stable Diffusion XL (https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) с DreamBooth и LoRA.

Для того чтобы создать уникальную нейросетевую модель, генерирующую стиль фотографий деталей индийских храмов, нейросеть была обучена на личном архиве фотографий.

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

Недостатками нейросети можно назвать излишнюю детализацию в промптах, запрашивающих объект целиком, а также повтор композиции из исходной быза данных из-за отсутствия достаточного количества исходных изображений, связанных с заданным промптом.

Indian Temple. Обучение нейросети
Проект создан 24.03.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше