Original size 2480x3500

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

PROTECT STATUS: not protected

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

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

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