Исходный размер 1140x1600

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

big
Исходный размер 3080x619

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

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

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

big
Исходный размер 2934x1377

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

big
Исходный размер 2804x564
big
Исходный размер 2805x1316
big
Исходный размер 2805x1316
Исходный размер 2805x1316
Исходный размер 2804x1316
Исходный размер 2805x563
Исходный размер 2805x1316
Исходный размер 2805x1316
Исходный размер 2805x1315
Исходный размер 2805x1315
Исходный размер 2804x564

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

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

Исходный размер 2934x1377

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

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

Исходный размер 2934x1376

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

Исходный размер 2804x564

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

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

0

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

Исходный размер 1920x315

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

Исходный размер 1920x748

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

Исходный размер 1920x795

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

Исходный размер 1920x1149

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

Исходный размер 1920x737

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

Исходный размер 1920x1354

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

Исходный размер 1921x831

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

Исходный размер 1921x359

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

Обучение генеративной модели на датасете картин Поля Синьяка
Проект создан 10.04.2025
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше