Original size 1140x1600

Изразцы: дообучение Stable Diffusion

PROTECT STATUS: not protected
18

Концепция

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

Мне показалась очень интересной идея имитировать фотографии изразцов с различными изображениями, чтобы в дальнейшем использовать их для своих декоративных проектов.

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

big
Original size 2480x2480

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

Изразцы имеют определенные, немного приглушенные, цвета и палитру. Также, плитка имеет текстуру и блеск глазури, который проявляется при разных ракурсах и съемке. Целью было обучить нейросети создавать фотографии плитки именно с этими отличительными особенностями.

big
Original size 3508x2480

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

Original size 3508x2480

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

Original size 3508x2480

Теперь можно было перейти к началу обучения. Я использовала предварительно обученную модель BLIP от Salesforce для создания подписей к изображениям и дальнейшего создания промптов. Также импортировала torch для дальнейших операций и проверила, доступна ли CUDA.

Original size 3508x916

Для поиска файлов, соответствующих шаблону, я и импортировала glob, а для работы с файлами изображений — PIL.Image. Также, добавила в работу json для создания файлов в данном формате.

Далее запустила код для описания каждого изображения из датасета с помощью промпта и вывела эти описания с префиксом «photo of GLAZED tiles».

Original size 3508x1332

Далее я импортировала gc для удаления ненужной информации, занимающей GPU. Добавила locale для того, чтобы задать использование кодировки UTF-8 для обработки текста, и запустила notebook_login из huggingface_hub для загрузки частных моделей и выгрузки учетную запись Hub.

Также, для дальнейших настроек дообучения модели, я запустила код «! accelerate config default».

Original size 3508x2480

Настройки для обучения собственной генеративной модели «glazed_tile_square_LoRA»

После обучения модели «glazed_tile_square_LoRA», я проверила сохранение обученных весов LoRA и создала репозиторий для модели. Далее загрузила веса LoRA в Hugging Face Hub и убедилась, что модель сохранилась, перейдя по ссылке, которая появилась.

Original size 3508x2480
Original size 3508x520
Original size 3508x1218

Теперь оставалось только сгенерировать финальные изображения с помощью модели.

Original size 3508x659

Пример промпта для генерации итоговой серии изображений

Итоговая серия

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

Original size 2480x3315
Original size 1024x1024
Original size 3508x1538
Original size 1024x1024
Original size 3508x1538
Original size 1024x1024
Original size 3508x1538
Original size 1024x1024
Original size 3508x1538
Original size 1024x1024
Original size 3508x1538

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

В проекте также использовались генеративные модели DeepSeek и Hugging Face для подготовки датасета с фотографиями к использованию в основном коде.

Original size 777x121

Пример запроса чату DeepSeek для генерации кода для подготовки датасета

Дополнительная информация

Ссылка на модель glazed_tile_square_LoRA: https://huggingface.co/kategrxt/glazed_tile_square_LoRA

Ссылка на Google Drive с начальным датасетом и ноутбуком: https://drive.google.com/drive/folders/1-Rkkl7DgX7Dk-HF4MeCDkaFBzr-_lH4z?usp=sharing

Изразцы: дообучение Stable Diffusion
18
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more