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

Обучение Stable Diffusion под стиль орнаментальных таблиц

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

Описание проекта

В 1856 году архитектор Оуэн Джонс издал «Грамматику орнамента» — свод из ста двенадцати литографских таблиц, на которых собраны орнаменты девятнадцати культур, от египетской до елизаветинской. Джонс исходил из того, что орнамент устроен как язык: у него есть словарь мотивов и грамматика их соединения, и эта грамматика поддаётся описанию так же, как описывается синтаксис.

Меня заинтересовало, что произойдёт, если отделить эту грамматику от её словаря. Если модель усвоит не конкретные пальметты и меандры, а сам принцип — плоскую двухцветную печать, обязательную регулярность, счёт по вертикали и горизонтали, подчинение любой формы раппорту, то её можно будет применить к материалу, для которого орнаментальный язык XIX века никогда не предназначался.Орнамент — трудный для диффузионной модели материал. Базовая Stable Diffusion хорошо справляется с изображением предметов и сцен, но плохо удерживает регулярность: раппорт у неё распадается, счёт сбивается, элементы теряют одинаковость. Обучение здесь даёт не стилистический оттенок, а новое умение, и результат можно проверить объективно — достаточно посмотреть, сходится ли узор.

big
Исходный размер 4192x2081

Исходные изображения для обучения

Обучающая выборка — сорок четыре фрагмента орнаментальных таблиц из «Грамматики орнамента», полученные с Виĸисĸлада. Все изображения находятся в общественном достоянии.Картинки отбирались вручную, а не автоматической нарезкой листов. Такой способ оказался и точнее и быстрее: на Виĸисĸладе рядом с полными сканами разворотов выложены отдельные вырезанные фрагменты, уже скадрированные по раппорту, без книжных полей и подписей. Каждое изображение приведено к квадрату 1024 на 1024 пикселя. Выборка получилась разнообразной по геометрии — от плотных геометрических сеток до растительных завитков и плетенок: везде плоская заливка, отсутствие светотени, ограниченная палитра, характерная для хромолитографии.

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

1. Сбор датасета и проверка правового статуса изображений.
2. Приведение изображений к квадратному формату и единому разрешению.
3. Ручная разметка подписей с введением триггер-токена.
4. Подготовка окружения и настройка гиперпараметров.
5. Обучение LoRA-адаптера с сохранением промежуточных срезов.
6. Генерация серии и анализ результатов.

Исходный размер 1837x1208

Сначала я подключила Google Диск и проверила состав выборки: количество файлов и единообразие размеров.

Исходный размер 1976x960

Следующая ячейка сводит все изображения датасета в одну пронумерованную сетку. Она решает две задачи: позволяет оценить однородность выборки целиком и даёт нумерацию, по которой я затем писала подписи к каждому кадру.

На этом этапе я размечала обучающую выборку. В исходном примере подписи генерирует модель BLIP, обученная описывать фотографии — на орнаментальных таблицах она выдаёт для всех кадров однотипное «a close up of a pattern». Такая разметка не различает изображения между собой и потому не несёт обучающего сигнала, поэтому я отказалась от неё и размечала выборку вручную.Принцип разметки следующий: в подписи называется то, что различается между кадрами — тип раскладки, характер мотива, доминирующий цвет. То, что постоянно для всей выборки, не называется и привязывается к триггер-токену ORNGRM, отсутствующему в словаре базовой модели. Если описать постоянные признаки обычными словами, стиль растворится в них и не сможет быть вызван отдельно.

Исходный размер 2614x1360

Дальше я установила библиотеки, необходимые для обучения методом LoRA. В отличие от исходного примера, где diffusers ставится из ветки разработки, я использовала релизную версию с PyPI, а обучающий скрипт загрузила из тега, соответствующего установленной версии. Содержимое ветки разработки меняется ежедневно, и такой запуск невоспроизводим.

Исходный размер 1850x1378

Здесь я запустила обучение методом DreamBooth с LoRA-адаптером.Обучение шло восемьсот шагов при разрешении 768. Разрешение я подняла с 512, заданных в примере, поскольку SDXL обучалась на 1024 и на половинном разрешении теряет детализацию, критичную для мелкой орнаментальной структуры. Промежуточные срезы сохраняются каждые двести шагов.Обучался только UNet — дообучение текстового энкодера в память не помещается и для стилевой задачи не является необходимым.

Динамика обучения

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

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

Динамика обучения модели

Промт: «ORNGRM ornamental plate, interlaced star lattice»

Прогрессия оказалась не постепенным улучшением, а сменой состояний. Признаки усваивались в определённом порядке: сначала манера печати, затем регулярность, затем масштаб и колорит. Между четырёхсотым и шестисотым шагом модель перестроила саму структуру сетки, а не уточнила прежнюю, из чего следует, что к восьмистам шагам обучение ещё не вышло на плато.

До и после обучения

Промт: «ORNGRM hexagonal tile grid with rosettes»

До обучения на запрос шестиугольной сетки с розетками модель выдавала рельефную сотовую поверхность без единой розетки — часть формулировки терялась. После обучения розетки появились и прописаны отчётливо, шестиугольниками в каждой ячейке: модель научилась удерживать обе части формулировки одновременно, а не только доминирующую.

Результирующая серия изображений

Первые три сюжета воспроизводят типы орнамента, представленные в обучающей выборке. Они служат проверкой того, что манера усвоена. Каждый сюжет сгенерирован с тремя разными сидами — числами, задающими начальный шум, из которого модель разворачивает изображение. При фиксированном сиде различия объясняются формулировкой, а не случайностью, что позволяет отделить вклад промпта от вклада стартовой точки.

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

Сюжет 1

Промт: «ORNGRM ornamental plate, interlaced star lattice»

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

Обучение Stable Diffusion под стиль орнаментальных таблиц
Проект создан 26.09.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше