Иван Яковлевич Билибин — русский художник начала XX века, иллюстратор и график, наиболее известный своими работами к народным сказкам и былинам. Творчество Билибина тесно связано с русским фольклором, и во многом именно его интерпретации закрепили привычный визуальный образ сказочных персонажей и сюжетов.
Идея проекта
В рамках проекта я обучала генеративную модель на основе работ Ивана Билибина, чтобы исследовать, как нейросеть может воспроизводить и интерпретировать характерный художественный стиль. Я выбрала обратиться к стилистике данного художника не случайно. В его работах меня всегда притягивало особое ощущение мира: у него изображение никогда не сводится просто к иллюстрации сюжета, оно сразу становится пространством со своими законами, ритмом и памятью. Мне близко то, как Билибин соединяет декоративность и повествование. У него каждая иллюстрация выглядит как фрагмент большого сказания, в котором за пределами кадра продолжается жизнь. Именно это ощущение мне и хотелось взять за основу.
Мне было важно выбрать художника, чей визуальный язык не только узнаваем, но и внутренне связан с темой памяти, культурного слоя, образа места. Билибин работал с русской сказкой, с фольклором, с мифологизированным представлением о пространстве, и поэтому его стилистика особенно точно подходит для разговора о городе как о живом образе, который хранится в воображении. Меня интересовала не буквальная историческая реконструкция Самары и не стилизация ради самой стилизации. Мне хотелось посмотреть, что произойдёт, если на образ родного города наложить язык, который связан с памятью, преданием, старой книгой, с ощущением рассказа, передаваемого из поколения в поколение.
Добрый молодец, Иван-царевич и три его сестры. Иллюстрация к сказке «Марья Моревна». Автор: И. Я. Билибин. Дата создания: 1901 г.
Так появилась идея проекта как архива иллюстраций к ненаписанной книге о старой Самаре. Мне было важно представить, будто этой книги на самом деле не существует: у неё нет текста, нет автора, нет законченного сюжета, но каким-то образом сохранились её иллюстрации. Моя серия работ — это не последовательный сюжет в привычном смысле, а скорее набор сцен, состояний и образов, из которых постепенно складывается ощущение города.
Сбор и подготовка датасета
Для обучения я отобрала 34 работы Ивана Билибина, находящихся в статусе public domain и доступных для свободного использования. Это позволило избежать нарушения авторских прав и использовать материал в рамках учебного проекта корректно с юридической точки зрения. В итоговый датасет вошли иллюстрации, в которых хорошо читаются характерные признаки билибинской графики: чёткий контур, плоскостная цветовая заливка, декоративные рамки и орнаменты. Также я привела изображения к единому формату (квадратному соотношению сторон), стараясь при этом сохранить рамки и орнаментальные элементы, так как они являются важной частью визуального языка.
Исходные изображения для обучения модели были взяты из архива с работами И. Я. Билибина: https://artchive.ru/ivanbilibin/works/p:8
Девица и Финист Ясен-Сокол. Иллюстрация к сказке «Перышко Финиста Ясна-Сокола». Автор: И. Я. Билибин. Дата создания: 1902 г.
Подготовка среды и загрузка данных
Я настроила рабочую среду в Google Colab с использованием GPU, загрузила датасет в рабочую директорию и установила необходимые библиотеки. После распаковки архива я проверила изображения: их количество, формат и корректность открытия. Затем задала путь к папке с данными для последующего обучения модели.
Я очистила предыдущую версию библиотеки и загрузила актуальную версию репозитория diffusers с GitHub. После этого перешла в рабочую директорию, содержащую файлы для обучения модели.
Я авторизовалась в Hugging Face Hub с помощью notebook_login, чтобы получить доступ к моделям и сохранить результаты обучения.
Процесс обучения
В данном блоке я запускаю процесс обучения модели Stable Diffusion с использованием метода LoRA через команду accelerate launch. Я указываю предобученную модель (stable-diffusion-xl-base-1.0), путь к датасету (/content/bilibin_dataset) и директорию для сохранения результатов (/content/bilibin_lora). Также задаётся текстовый промпт, описывающий стиль изображений (билибинская иллюстрация с орнаментальной рамкой, плоскостными цветами и чёткой линией), который помогает модели лучше усвоить характерные особенности визуального языка.
Дополнительно настраиваются параметры обучения: разрешение изображений (1024) количество шагов обучения (800) скорость обучения (1e-4) размер батча (1) использование оптимизаций памяти (fp16, xformers)
После запуска команда начинает процесс обучения модели на подготовленном датасете.
В данном блоке я загружаю предобученную модель Stable Diffusion XL и подключаю к ней обученные веса LoRA. Сначала импортируются необходимые библиотеки (torch и StableDiffusionXLPipeline). Затем загружается базовая модель stable-diffusion-xl-base-1.0 в формате fp16 для оптимизации памяти и переносится на GPU (cuda). После этого к модели подключаются обученные ранее веса LoRA из директории /content/bilibin_lora. Это позволяет применять выученный стиль билибинской иллюстрации при генерации новых изображений.
Итоговая серия
При генерации изображений я работала с текстовыми промптами, постепенно уточняя и дополняя их. В каждом промпте я задавала не только сюжет сцены (например, набережная, Волга, люди, бытовые ситуации), но и стилистические характеристики: декоративную рамку, плоскостную цветовую заливку, чёткую линию, орнаментальность и формат книжной иллюстрации. Это позволяло модели воспроизводить не просто изображение, а именно заданный художественный язык. Параллельно я использовала негативные промпты, чтобы исключить нежелательные особенности генерации, такие как фотореализм, 3D-эффекты, современные здания, неаккуратные детали или шум в изображении. За счёт этого удалось сохранить цельность стиля и избежать визуальных элементов, которые выбивались бы из билибинской эстетики.
prompt: Samara embankment on the Volga river, wide river, long riverside promenade, gentle sandy shore, distant Zhiguli mountains, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame on all sides, flat colors, detailed linework, storybook illustration, fairytale atmosphere, stylized trees
prompt: view from hill on Samara and Volga river, wide landscape, distant Zhiguli mountains, city below, calm atmosphere, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame, flat colors, detailed linework, storybook illustration
prompt: Volga river near Samara, small boat on water, broad river landscape, hills of Zhiguli in the distance, riverbank grass and flowers, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame on all sides, flat colors, detailed linework, storybook illustration, decorative nature
prompt: evening Samara above the Volga river, warm sunset sky, old churches and mansions, broad river horizon, quiet lights, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame on all sides, flat colors, detailed linework, storybook illustration, poetic atmosphere
prompt: mythic Samara on the Volga, city as if from an unwritten old Russian book, broad river, old churches, merchant houses, hills in the distance, small boat, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame on all sides, flat colors, detailed linework, storybook illustration, fairytale atmosphere, stylized trees and flowers
prompt: night on the Volga river near Samara, moonlight, calm water, small lights, quiet poetic atmosphere, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame, flat colors
prompt: fishermen on the Volga river near Samara, small boats, nets, morning light, quiet rural scene, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame
prompt: evening embankment in Samara, people walking, warm sunset light, Volga river, calm atmosphere, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame, soft colors
prompt: Samara embankment, in bilibin_style, Russian folk illustration, ornamental frame, flat colors, detailed linework, storybook illustration
prompt: children playing near Volga river in Samara, summer day, grass, water, simple provincial life, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame
prompt: Samara merchants near river, trade goods, fabrics, baskets, Volga trade city, historical atmosphere, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame
prompt: Samara as a Russian fairytale city on the Volga, merchant houses, churches, river and hills, dreamlike atmosphere, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame, stylized nature, storybook illustration
prompt: Samara embankment, Volga river, old Russian city, orthodox churches, wooden houses, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame on all sides, flat colors, detailed linework, storybook illustration, fairytale atmosphere, stylized trees
prompt: Samara embankment, Volga river, old Russian city, orthodox churches, wooden houses, in bilibin_style, Russian folk illustration, full ornamental border, decorative frame on all sides, flat colors, detailed linework, storybook illustration, fairytale atmosphere, stylized trees
Анализ полученных результатов генерации
В результате генерации нейросеть успешно усвоила ключевые особенности выбранного визуального языка: чёткий контур, плоскостную цветовую заливку и декоративные рамки. Благодаря этому иллюстрации воспринимаются как цельная серия. Особенно удачными оказались сцены с участием людей, они добавляют ощущение жизни и превращают изображения в фрагменты воображаемой книги. При этом сохраняется условность и декоративность изображения, что соответствует изначальной задаче проекта. В целом серия выглядит стилистически согласованной и разнообразной по сюжетам. Среди ограничений можно отметить упрощение отдельных деталей и обобщение архитектуры, из-за чего иногда теряется локальная специфика. Однако это не нарушает целостность серии и воспринимается как часть художественной условности.
Описание применения генеративной модели
В проекте использовалась генеративная модель Stable Diffusion XL с применением метода LoRA для обучения на выбранном визуальном стиле. Обучение и генерация выполнялись в среде Google Colab, а для доступа к модели и сохранения результатов использовалась платформа Hugging Face. Модель была дообучена на собственном датасете изображений, что позволило ей воспроизводить характерные особенности билибинской графики. После обучения модель применялась для генерации серии иллюстраций на основе текстовых промптов.
В рамках проекта также использовался ChatGPT. Он применялся для составления и уточнения текстовых промптов, что позволило более точно задавать стиль и содержание генерируемых изображений. Кроме того, ChatGPT использовался для помощи в работе с кодом: поиска и исправления ошибок, а также оптимизации отдельных этапов процесса обучения и генерации.
Заключение
В этом проекте мне удалось создать цельную визуальную серию, которая воспринимается как фрагменты ненаписанной книги о старой Самаре. Обученная модель смогла достаточно точно передать ключевые особенности стиля Билибина. При этом каждое изображение получилось немного разным по настроению и композиции, что усиливает ощущение «архива» и живого повествования. Работа показала, что генеративная модель может не просто копировать стиль, а использовать его как инструмент для создания новых образов и сюжетов. В итоге проект стал для меня способом соединить историческую визуальную традицию с современными технологиями и попробовать «дописать» то, чего никогда не существовало, но могло бы быть.