Исходный размер 1599x2000

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

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

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

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

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

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

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

0

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

Исходный размер 2436x522

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

Исходный размер 2497x805

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

Дообучение

Исходный размер 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.

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

Исходный размер 2161x877

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

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

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

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

Исходный размер 1178x191

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

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

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

Исходный размер 2238x157
Исходный размер 1024x1024

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

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

Исходный размер 2433x166
Исходный размер 1024x1024

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

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

Исходный размер 2459x218
Исходный размер 1024x1024

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

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

Исходный размер 2439x236
Исходный размер 1024x1024

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

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

Исходный размер 2480x219
Исходный размер 1024x1024

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

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

Исходный размер 2486x220
Исходный размер 1024x1024

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

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

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

Исходный размер 1024x1024

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

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

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

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

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

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

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

Hugging Face — https://huggingface.co/

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

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