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

Обучение нейросети на картинах Матисса

Проект принимает участие в конкурсе

Идея проекта

Мне захотелось обучить генеративную нейросеть Stable Diffusion на работах художника Анри Матисса, чтобы исследовать, насколько точно модель сможет воспроизвести его уникальный художественный стиль.

Цель проекта — проверить:

  1. Насколько нейросеть способна передать характерную цветовую палитру Матисса
  2. Сможет ли она воспроизводить его подход к форме и композиции
  3. Насколько генерации будут визуально близки к оригинальным работам художника

Описание датасета

Для обучения была собрана выборочная подборка из 65 изображений картин Матисса, взятая (и позднее отредактированная) с сайта kaggle.

В проекте использовались:

Stable Diffusion — обучение модели Google Colab — запуск кода Deep Seek — редактирование кода

0
Исходный размер 2275x1857

Мои генерации

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

henri matisse style, fauvism, portrait of a woman with red hair and green eyes, bold brushstrokes, vibrant colors, simplified features, decorative background with floral pattern, oil painting texture

  1. Классический фовистский портрет Зачем: Передаёт узнаваемую манеру портретов Матисса (например, «Женщина в шляпе»), с акцентом на цвет и декоративность.
Исходный размер 2102x1024

henri matisse style, interior with open window, view of mediterranean sea, colorful curtains, vase with flowers on table, simplified forms, flat perspective, vivid blues and oranges, fauvism

  1. Интерьер с видом из окна Зачем: Мотив «открытого окна» часто встречается у Матисса. Такой промпт подчеркнёт плоскостность и яркие контрасты.

matisse style, still life with colorful fruits, bold colors, red and yellow apples, blue tablecloth, decorative pattern, simplified shapes, expressive brushstrokes, fauvism

  1. Натюрморт с фруктами Зачем: Натюрморты — важная часть творчества. Этот промпт даст яркую, почти абстрактную композицию.
Исходный размер 1024x1024

henri matisse style, dance, five figures holding hands in a circle, simplified human forms, vibrant red figures against blue and green background, rhythm, movement, fauvism

  1. Танец (отсылка к знаменитому полотну) Зачем: Вдохновлён картиной «Танец». Промпт акцентирует ритм, обобщённые фигуры и чистый цвет.
Исходный размер 2069x1024

matisse style, paper cutouts, abstract composition with organic shapes, bright blue, yellow, and red forms, black outlines, geometric and freeform elements, joyful, decorative, flat design

  1. Вырезки из бумаги (поздний период) Зачем: Имитирует технику gouaches découpées, которую Матисс использовал в конце жизни. Даёт графичный, плоскостной результат.

henri matisse style, landscape with palm trees and colorful flowers, vivid greens and pinks, simplified foliage, fauvism, expressive brushwork, hot mediterranean colors

  1. Пейзаж с яркой растительностью Зачем: Пейзажи Ниццы и Марокко вдохновляли художника на буйство цвета.
Исходный размер 1024x1024

matisse style, woman reading in a colorful armchair, interior with patterned wallpaper, relaxed pose, simplified features, bold colors, reds and greens, decorative lines, fauvism

  1. Женская фигура в интерьере Зачем: Соединяет портрет, интерьер и мотив отдыха — типичная для Матисса тема.
Исходный размер 3099x1024

henri matisse style, abstract composition, pure colors, flat areas of red, blue, yellow, black outlines, organic shapes, decorative, fauvism, no realism

  1. Абстрактная композиция (акцент на цвет) Зачем: Если хотите проверить, насколько LoRA усвоила цветовую палитру и композиционные приёмы без конкретного сюжета.

henri matisse style, family on the beach, simplified figures, bright sunshine, vibrant blues and yellows, striped umbrellas, relaxed atmosphere, fauvism

  1. Семейная сцена на пляже Зачем: Мотив отдыха на природе, характерный для работ Матисса.

henri matisse style, still life with fish and lemons, bold brushstrokes, colorful table, decorative background, vivid orange and yellow, simplified forms, fauvism

  1. Натюрморт с рыбой (вариация) Зачем: Ещё один вариант натюрморта с яркой цветовой гаммой.

Описание процесса обучения

Блок 1: Установка зависимостей и подготовка окружения

— Проверка доступного GPU и объёма видеопамяти (VRAM) в Colab. — Установка ключевых библиотек — Установка свежей версии diffusers из репозитория GitHub — Скачивание официального скрипта обучения DreamBooth LoRA для SDXL. — Автоматическая настройка конфигурации accelerate.

Исходный размер 4096x1736

Блок 2: Загрузка и извлечение датасета

— Открывает диалог загрузки файла в Colab, позволяет пользователю выбрать ZIP-архив с изображениями. — Создаёт папку для извлечения. — Распаковывает архив в папку /content/matisse_raw. — Рекурсивно ищет все изображения (JPG, PNG, JPEG) в распакованной папке, сортирует их и выводит количество и первые 5 названий для проверки.

Исходный размер 4096x1836

Блок 3: Предобработка изображений

— Создаёт папку для обработанных изображений. — Устанавливает целевой размер — 1024×1024 пикселя (оптимально для SDXL).

Для каждого изображения:

  1. Конвертирует в RGB (на случай PNG с альфа-каналом)
  2. Применяет pad — добавляет белые поля (255,255,255) для превращения в квадрат без искажения содержимого
  3. Сохраняет в JPG с качеством 95% в папку обучения

— Функция для визуализации сетки изображений. — Показывает первые 8 обработанных квадратных изображений для контроля качества предобработки.

Исходный размер 4096x3008

Блок 4: Авторизация в Hugging Face

— Открывает интерфейс для входа в Hugging Face Hub. — Нужна для доступа к модели stabilityai/stable-diffusion-xl-base-1.0 (требуется соглашение о лицензии). Пользователь должен ввести токен.

Исходный размер 1716x464

Блок 5: Обучение модели DreamBooth LoRA

— Определяет папку для сохранения обученной модели и текстовый промпт, который будет ассоциироваться со стилем.

Запуск обучения с параметрами (одни из):

  1. resolution=512 — размер изображений для обучения (меньше 1024 для экономии памяти)
  2. mixed_precision='bf16' — смешанная точность (экономия памяти)
  3. use_8bit_adam — 8-битный оптимизатор Adam (экономия VRAM)
  4. max_train_steps=300 — всего 300 шагов обучения
  5. checkpointing_steps=100 — сохранение каждые 100 шагов
Исходный размер 4096x2128

Блок 6: Сохранение модели на Google Диск

— Монтирует Google Диск для сохранения модели. — Создаёт папку на Google Диске для модели. — Копирует все файлы модели (LoRA веса, конфиги) с временного хранилища Colab на постоянное хранилище Google Диска. — Выводит список сохранённых файлов с размерами для контроля.

Исходный размер 3836x3008

Блок 7: Тестовая генерация после обучения

— Загружает базовую модель SDXL в память GPU в половинной точности (float16) для экономии памяти. — Загружает обученные LoRA веса из папки output_dir. — Включает VAE slicing — техника для экономии VRAM при генерации. — Запрашивает промпт у пользователя. — Автоматически добавляет упоминание стиля Матисса, если его нет. — Генерирует изображение с фиксированным seed (42) для воспроизводимости, 30 шагами денойзинга, guidance scale 7.5. — Сохраняет изображение с меткой времени, показывает его в Colab и автоматически скачивает на компьютер пользователя. — Удаляет пайплайн из памяти и очищает кэш CUDA для освобождения ресурсов.

Исходный размер 3296x4868

Блок 8: Повторная загрузка модели с Google Диска

— Монтирует Google Диск и указывает путь к сохранённой модели. — Очищает память перед загрузкой модели. — Загружает базовую модель и LoRA веса с Google Диска, готовит пайплайн для генерации.

Исходный размер 2448x3696

Блок 9: Интерактивная генерация (после перезапуска сессии)

— Подготовка: очистка памяти перед генерацией. — Интерактивный ввод промпта с автоматическим добавлением стиля. — Генерация изображения с теми же параметрами, что и в блоке 7. — Сохранение, отображение, скачивание и финальная очистка памяти.

Исходный размер 3296x4868

Ссылки

Обучение нейросети на картинах Матисса
Проект создан 24.03.2026