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

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

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

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

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

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

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

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

0

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

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

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

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

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