Original size 2480x3500

Обучение генеративной нейросети под стиль художника Сальвадора Дали

PROTECT STATUS: not protected
6

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

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

0

датасет // картины Сальвадора Дали

Код для обучения и описание процесса обучения

big
Original size 2938x1390

Начала я с того, чтобы проверить подключение к Google collab. На это этапе у меня возникли проблемы, поскольку в бесплатной версии Google collab не получается много раз пользоваться этим графическим процессором, и код вылетал и все надо было начинать заново на следующий день.

big
Original size 2258x1330

На данном скрине я установила необходимые библиотеки для обработки изображений и для работы нейросети.

Также здесь мы устанавливаем диффузор с сайта, диффузоры — это библиотеки для работы современных нейросетей.

И тут же я устанавливаю саму нейронную сеть.

Original size 2242x1328

Тут я создала свою папку для загрузки исходных картинок, salvador_pic — это название новой папки.

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

Original size 2238x1326

На данном скрине я создаю функцию для обработки каждого изображения до квадратного размера и определенного разрешения (256×256), чтобы все картинки были одинаковыми.

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

Original size 2254x1316

Здесь были подключены дополнительные нейросети, которые называются BLIP — Bootstrapping Language-Image Pre-training, это нейросеть, которая позволяет автоматически сгенерировать текстовое описание картинки по самой картинке, то есть нейросеть, которая делает текст из картинки
 BLIP — это как подготовительный курс, где компьютер учится понимать и создавать связь между картинками и словами, чтобы все было понятно и единообразно.


Здесь мы создаем массив (изображение, путь к ней), это просто подготовка данных для запуска нейросети BLIP.

Original size 2234x1304

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

Original size 2232x1294

Здесь я удаляю нейросеть BLIP, так как она уже отработала и надо освободить память для дальнейшей работы.

Далее мы подготавливаем разные настройки для оптимизации и ускорения вычислений, это нам понадобится при дообучении нейронной сети.

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

Original size 2230x1328

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

На данных скринах я перечисляю все настройки гиперпарамметров нейронной сети и начинаю дообучение с этими параметрами. 

Именно здесь уже обученная нейросеть Stable Diffusion XL (SDXL) добавляет к себе нейросеть LoRA. И эта новая нейросеть (SDXL+LoRA) начинает четко понимать, имеется в виду под понятием «В стиле Сальвадора Дали».

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

Тут я сохранила веса обученных нейронных сетей в папку «salvador_style_LoRA», потом сохранила на сайт HuggingFace.

И тут же происходит сохранение всех данных на сайт, а также на компьютер локально.

Здесь мы печатаем ссылку на huggingFace, куда это все сохранилось.

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



Также тут мы выбираем, что работать будем с нейросетью, которая прошла весь путь обучения (500 шагов).

Здесь мы вводим наше текстовое задание для нейросети (что именно ей надо сгенерировать) и указываем количество шагов на генерацию. 
Ниже появляется картинка с результатом

Дальше мы говорим, что теперь мы хотим обратиться к нейросети, которая прошла 250 шагов, а не 500 (так как нейронная сеть может переучиться, то есть стать хуже при более длительном обучении). 

Также тут можно увидеть, что я изменила параметр lora_scale на 0.5 — это означает, что я снизила влияние на результат дообученной модели в два раза, то есть влияние именно этой модели на этих результатах будет меньше, чем при генерации прошлых вариантов, где новая модель влияла на результат сильнее
.

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

первые генерации

Первые генерации были по запросу Биг-Бен в Лондоне в стиле Сальвадора Дали. Я решила выбрать Биг-Бен, поскольку, на мой взгляд, одна из самых известных картин художника — это картина с часами («Постоянство памяти»), а самые известные часы — это Биг-Бен

Биг-Бен в Лондоне с стиле сюрреализм

Original size 1024x1024

Первая генерация сюрреалистического платья для современной английской королевы в стиле Сальвадора Дали и модного дома Скиапарелли

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

0
Original size 1024x1024
0
Обучение генеративной нейросети под стиль художника Сальвадора Дали
6
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