Original size 1599x2000

Обучение генеративной нейросети. Портреты в стиле Кузьмы Петрова-Водкина

PROTECT STATUS: not protected

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

картины Петрова-Водкина

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

картины Петрова-Водкина

Проект создаёт версию Stable Diffusion, обученную на картинах Петрова-Водкина, способную генерировать изображения в его стиле, используя ограниченный набор исходных изображений (датасет: 52 картины) и методы эффективной адаптации (LoRA).

Тренировка нейросети

0

В начале я проверила доступность GPU через nvidia-smi, потом установила библиотеки: bitsandbytes (квантование моделей), transformers (обработка текста и изображений), diffusers (работа с диффузионными моделями), peft (параметрическая настройка, включая LoRA), скрипт для обучения Dreambooth-LoRA из репозитория Hugging Face.

Original size 2436x522

Собрала датасет из картин Петрова-Водкина: 52 объекта, загрузила в Google Collab в отдельную директорию, применяя метод resize для форматирования изображений под 1:1, просмотрела первые 5 изображений

Original size 2497x805

Сгенерировала подписи к изображениям с использованием модели BLIP: к каждой подписи в названиях изображений добавляется префикс «portrait in the style of Petrov-Vodkin». Метаданные (пути к файлам и подписи) сохранила в metadata.jsonl (проверяя правильность выполнения кода).

Дообучение

Original size 1557x856

Использовала технику Dreambooth-LoRA для дообучения Stable Diffusion. Беру базовые модели:

А также: stabilityai/stable-diffusion-xl-base-1.0 VAE madebyollin/sdxl-vae-fp16-fix

Основные параметры обучения: Разрешение: 512×512 Batch size: 2 Learning rate: 1e-4 Количество шагов: 500 8-bit Adam (оптимизация памяти) FP16

Запустила обучение через accelerate.

Сохранение полученной модели и её публикация

Original size 2161x877

Сохранила модель в Hugging Face с помощью upload_folder. Через save_model_card создала карточку модели с метаданными.

Генерация изображений

После обучения, сохранения, публикации — загрузила обученную модель LoRA.

Использовала конвейер DiffusionPipeline для генерации изображений по такому промпту: «portrait in the style of Petrov-Vodkin». Настройки генерации: 25 шагов, FP16.

Original size 1178x191

результат генерации

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

в своём проекте я поставила себе задачу сделать портреты разных возрастов, поэтому для этого применяла разные промпты

Original size 2238x157
Original size 1024x1024

результат генерации

результат генерации

Original size 2433x166
Original size 1024x1024

результат генерации

результат генерации

Original size 2459x218
Original size 1024x1024

результат генерации

результат генерации

Original size 2439x236
Original size 1024x1024

результат генерации

результат генерации

Original size 2480x219
Original size 1024x1024

результат генерации

результат генерации

Original size 2486x220
Original size 1024x1024

результат генерации

результат генерации

Выводы по результатам генерации

Original size 1024x1024

результат генерации

В итоговой серии изображений получился набор портретов разных возрастов мужчин и женщин. Палитра получилась в основном из синих, жёлтых и оранжевых цветов, повторяя стиль Петрова-Водкина. Модели на портретах преимущественно изображены смотрящими вперёд, а также в три четверти. Также стоит упомянуть задний план изображений, он выполнен в стиле художника, часто объект находится рядом с окном, на него попадает естественный свет.

результат генерации

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

Использование нейросетей и технологий в проекте

Использованные (ключевые) технологии:

Stable Diffusion XL — https://stability.ai/

Hugging Face — https://huggingface.co/

Блокнот с кодом

Обучение генеративной нейросети. Портреты в стиле Кузьмы Петрова-Водкина
Project created at 10.04.2025
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