Идея проекта
Изучая архивы работ, перешедших в общественное достояние, я наткнулась на русского художника Аполлинария Васнецова. Меня очень зацепили его пейзажи. На этюдах живописца запечатлены леса, поля, моря, домики, особенно интересна его манера письма: видны мазки масляными красками, ощущается легкость и живость.
В своем проекте я решила скрестить его стилистику с чем-то фэнтезийным, потому что большинство его работ, наоборот, отображают привычную нам реальность, а мне хотелось создать нечто новое, волшебное. Обучив генеративную модель Stable Diffusion на его работах, я хочу получить серию сказочных иллюстраций в его манере и проверить, сможет ли нейросеть передать характер его картин и фактуру традиционного материала.
В дальнейшем полученная серия может стать сувенирными открытками или иллюстрациями для сказочных сборников.
Для обучения модели я отобрала картины со статусом "Public domain", дабы избежать нарушения авторских прав. Все файлы сразу были кадрированы под требуемый квадратный формат. Итоговый датасет содержит 32 изображения, я старалась подбирать разнообразные пейзажи, в нем присутствуют как леса с полями, так и моря, солнечные, пасмурные и закатные состояния, чтобы предоставить больше простора для разнообразной генерации.
Описание применения генеративной модели
В ходе выполнения проекта использовались следующие инструменты: Stable Diffusion для обучения генеративной модели, Google Colab для выполнения кода Hugging Face (токен и размещение модели) Deepseek для помощи в написании корректных промптов
Процесс обучения
Предварительная подготовка
Перед началом обучения модели нужно было непосредственно подготовить датасет к работе. С платформы WikiMedia я загрузила необходимое количество изображений и сразу кадрировала их под квадратный формат.1 этап: Подготовка инструментов
Проверяю Gpu и подгружаю необходимые библиотеки: bitsandbytes, transformers, accelerate, peft и diffusers, а также готовый скрипт обучения DreamBooth.
2 этап: Загрузка изображений
Создаю папку для хранения исходников и выгружаю собранные раннее изображения с помощью кода в Google colab. Вывожу картины в предпросмотр, чтобы проверить, что все загрузилось корректно и продемонстрировать материал для работы.3 этап: Создание подписей к картинкам
Загружаю модель BLIP, которая отвечает за текстовое описание картинок. После обработки к каждому сгенерированному описанию добавляется общий стиль "oil painting in AVASNETSOV style,", а результаты сохраняются в файл metadata.jsonl.
Можно посмотреть, как нейросеть поняла содержание изображений, она хорошо справилась с поставленной задачей и выведенный текст корректен.
4 этап: Финальная подготовка перед обучением
С параметрами по умолчанию запускаю ускоритель accelerate и вхожу в аккаунт на Hugging Face Hub, чтобы позже загрузить туда модель, которая получится в итоге.5 этап: Обучение
Начинаю тренировку модели, установила оптимальное разрешение 512х512, максимальное количество шагов на 1000, чтобы дать модели больше времени для обучения, сделать её более точной, чекпоинты поставила с регулярностью каждые 250 шагов, чтобы не потерять прогресс в случае сбоев. По времени этот этап занял чуть больше 1,5 часов, может, почти 2. ㅤ Как только обучение закончилось, я сохранила модель на Hugging Face Hub.Итоговая серия
Когда все было готово, с помощью обученной модели я приступила к непосредственной генерации картинок в стиле Аполлинария Васнецова по своим промптам. Все они начинаются с "oil painting in AVASNETSOV style,", чтобы нейросеть поняла, что я хочу увидеть изображение с использованием именно этой модели.
промпт: "oil painting in AVASNETSOV style, a dense magical forest landscape with very giant mushrooms"
Первой пробой стала картинка леса с огромными грибами, которых в реальности явно не встретишь. Результат сразу порадовал Нейросеть отлично считала манеру письма Васнецова и его преобладающую на некоторых картинах теплую цветовую палитру. Изображение действительно словно нарисовано масляными красками, видна даже текстура мазков.
Stable Diffusion — «Грибной лес», 2026
промпт: "oil painting in AVASNETSOV style, a hidden glade landscape with luminous flowers glowing in the dark"
Далее, в противовес предыдущему изображению, я решила попробовать создать ночную картинку, с чем нейросеть также отлично справилась, однако, с самим "свечением" цветов ситуация обстояла тяжелее, они явно источают свет, но не совсем так, как я ожидала. Тем не менее, результат все еще хороший.
Stable Diffusion — «Ночные цветы», 2026
промпт: "oil painting in AVASNETSOV style, landscape of a moonlit sea, silhouette of mermaids sitting on coastal rocks"
Продолжаю экспериментировать с промптами, на этот раз внедряю в картину людей, а точнее, русалок, чтобы посмотреть, как модель справится с этой задачей. Результатом я довольна, хоть в данном ракурсе и не совсем ясно, что это именно русалки, силуэты людей четкие и внятные. В этом примере в отражении луны в море также особенно выразительно проявляется техника мазков Васнецова.
Stable Diffusion — «Русалки у моря», 2026
промпт: "oil painting in AVASNETSOV style, a medieval castle placed on a rock flying in the skies separated from the earth"
В этот раз попробую создать средневековый замок, словно выбравшийся из европейских сказок о рыцарях и принцессах, ничего подобного не было на картинах Аполлинария, но модель смогла выполнить эту задачу! Проблема возникла с поднятием скалы в воздух, было несколько попыток, но заставить её оторваться от земли и взлететь так и не вышло. Однако на лучшем результате она все же находится на возвышенности близь облаков, что создает правильное ощущение, так что я осталась удовлетворена.
Stable Diffusion — «Замок тридевятого царства», 2026
промпт: "oil painting in AVASNETSOV style, a hidden elven treehouse in an ancient oak"
Продолжаю играться с различными сооружениями, на этот раз создаю эльфийский домик на огромном мощном дереве.
