Original size 1386x2034

Обучение генеративной нейросети дизайнить футболки

PROTECT STATUS: not protected
8

Описание идеи

Я хотела сделать проект, который мне как-либо пригодится в жизни, поэтому небольшие вводные:

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

Гипотеза — обученная нейросеть сможет сгенерировать что-то стоящее. Проверим.

В проекте необходимо отразить:

описание идеи всего проекта; исходные изображения для обучения (несколько примеров);

результирующая серия изображений

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

ноутбук с кодом для обучения и описание процесса обучения;

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

Setup

Собранные на пинтересте референсы я скачала в папку на ноутбуке, таким образом собрав свой авторский датасет для обучения модели:

big
Original size 2384x1124

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

Перейдем к технической части, а именно к использованным в проекте инструментам:

— Stable Diffusion — обучение генеративной нейросети под свой стиль; — Kaggle — выполнение кода и генераций; — Hugging Face — получение токена для обучения нейросети; — ChatGPT — для генерации дополнительного кода

В начале работы в Kaggle нужно было подготовить сетап:

Проверить, что подключена GPU, установить нужные зависимости, скачать библиотеку diffusers из GitHub и скрипт для обучения модели DreamBooth SDXL.

Original size 1328x576

Далее в ноутбук я загружаю свой датасет с изображениями и переношу его в рабочую директорию проекта, проверяю, что все загрузилось:

0

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

0

Генерация подписей

Далее переходим к генерации подписей к изображениям — загружаем модель BLIP и создаём функцию caption_images, которая автоматически генерирует подпись (caption) к изображению. Снова проверяем, что все верно сработало — выводим содержимое файла metadata.jsonl.

0

Обучение модели

Далее непосредственно этап обучения генеративной модели, где сначала мы устанавливаем еще одну библиотеку — datasets, чтобы можно было использовать кастомные подписи при обучении модели. После чего подбираем нужные параметры, чтобы хватало памяти для генерации, и одновременно процесс не занимал огромного количества времени.

Original size 881x417

Генерация изображений с помощью обученной модели

И, наконец, самое интересное — переходим к генерации изображений. Предварительно подключаем модель Stable Diffusion XL и обученные LoRA-веса (checkpoint-500). Делаем первый промт и немного разочаровываемся.

0

Первая генерация выглядит плохо, хотя модель очень старается: цвета и «вайб» рисунка соответствует промту и референсам, по которым модель обучалась. Однако у человека куда-то уезжает рука. пробуем дальше.

Далее промты к изображениям ниже: 1 — prompt = «t-shirt design, a pink shirt with blue inscription on it: „FLOWRUNCOMMUNITY“ and with a train print on t-shirt under letters» 2 — prompt = «t-shirt design, a men wearing a pink shirt with blue inscription on it: „FLOWRUNCOMMUNITY“ and design for runclub» 3 — prompt = «t-shirt design, a pink shirt with blue inscription on it: „FLOWRUNCOMMUNITY“ and with a train print on t-shirt under letters» 4 — prompt = «t-shirt design, a shirt with image on it: „FLOWRUNCOMMUNITY“ and with a train print on t-shirt under letters» 5 — prompt = «t-shirt design, a men wearing a pink shirt with blue inscription on it: „FLOWRUNCOMMUNITY“ and design for runclub» 6 — prompt = «t-shirt design, a pink shirt with colorful bright slogan „FLOWRUNCOMMUNITY“ and with a train print on t-shirt under letters» 7 — «t-shirt design, a pink shirt with colorful bright minimalism slogan „FLOWRUNCOMMUNITY“ and with a train print on t-shirt under letters» 8 — prompt = «t-shirt design, a pink shirt with blue slogan: „FLOWRUNCOMMUNITY“ and colorful train print on t-shirt under letters»

И еще много промтов, результаты которых выглядели чересчур плохо и не вошли в серию.

0

Результирующая серия изображений

Это итоговые изображения, с разными весами и разным результатом.

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

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

P.S: почему поезд и беговой клуб? электричка — это локальный мем

Ноутбук с кодом

Обучение генеративной нейросети дизайнить футболки
8
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more