Original size 1140x1600

Обучение генеративной модели на датасете картин Поля Синьяка

PROTECT STATUS: not protected
15
big
Original size 3080x619

Поль Синьяк, мастер дивизионизма, строил свои работы на вибрации цвета, световой гармонии и романтике природных сцен. Его мазки — это чистая органика, движение волн, блики солнца. Но что, если перевести эту эстетику в язык промышленности?

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

Для этого я собрал датасет из 70 работ Синьяка, чтобы выявить ключевые композиционные и колористические закономерности. Затем, через промт-дизайн и языковые модели (ChatGpt 4o), пофантазировал на промышленную и контрастную привычному Синьяку тему.

big
Original size 2934x1377

Оригинальные картины П. Синьяка

big
Original size 2804x564
big
Original size 2805x1316
big
Original size 2805x1316
Original size 2805x1316
Original size 2804x1316
Original size 2805x563
Original size 2805x1316
Original size 2805x1316
Original size 2805x1315
Original size 2805x1315
Original size 2804x564

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

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

Original size 2934x1377

Неудачные генерации, картинка слишком абстрактная

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

Original size 2934x1376

Неудачная генерация, картинка не в стиле или слишком размытая и нечеткая

Original size 2804x564

Первым делом я убедился, что GPU доступен и правильно работает командой (скр 1.)

Для запуска обучения и генерации изображений я установил несколько библиотек необходимых для создания генераций (скр.2): bitsandbytes, transformers, accelerate, peft и diffusers

0

Загрузил изображения из Kaggle и перенёс их в рабочую директорию:

Original size 1920x315

Написал функцию image_grid, которая позволяет удобно просматривать сразу несколько изображений в одном окне:

Original size 1920x748

Собрал пути ко всем изображениям в папке, открыл их и вывел первые пять:

Original size 1920x795

Загрузил модель BLIP и создал функцию caption_images, которая получает на вход изображение и возвращает сгенерированное текстовое описание:

Original size 1920x1149

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

Original size 1920x737

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

Original size 1920x1354

Когда обучение завершилось, я загрузил базовую модель Stable Diffusion XL и применил к ней веса, полученные после LoRA-обучения. Это позволяет использовать новую кастомную модель без необходимости хранить полные веса

Original size 1921x831

НАКОНЕЦ! После загрузки модели я протестировал результат. Задал описательный промпт, после чего сгенерировал изображение и сохранил его.Параметр num_inference_steps влияет на качество изображения — я выбрал 25 шагов, как оптимальный баланс между скоростью и результатом.

Original size 1921x359

В рамках выполнения проекта я использовал: ChatGpt для оптимизации кода и генерации промтов и DeepSeek для поиска и решения ошибок в коде

Обучение генеративной модели на датасете картин Поля Синьяка
15
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