Original size 1059x1486

Суета сует

PROTECT STATUS: not protected
The project is taking part in the competition

Концепция проекта

Голландский натюрморт для эпохи доставки, пауэрбанков и маркетплейсов: обучение Stable Diffusion XL на 96 картинах из Рейксмюсеума и вещи нашего времени

В 1602 году в Амстердаме появилась Голландская Ост-Индская компания, одна из первых в мире акционерных корпораций. Через несколько лет на столах бюргеров лежало то, что раньше видели только короли: китайский фарфор, лимоны, перец, турецкие ковры, венецианское стекло. Именно тогда в Харлеме, Лейдене и Амстердаме расцвёл жанр, который голландцы называли просто «stilleven», «неподвижная жизнь».Натюрморт Золотого века работает как реклама и проповедь одновременно. Художник любуется серебряным кубком и устрицами так, что хочется протянуть руку. Но кубок опрокинут, у лимона снята кожура (снаружи красиво, внутри горько), рядом догорает свеча, тикают часы, а иногда лежит и череп. Подпись к этому жанру давно известна из Екклесиаста: «Суета сует, всё суета», по-латыни «vanitas vanitatum».Четыреста лет спустя на нашем столе тоже полно вещей, приехавших с другого конца света. Только это не лимоны и фарфор, а стаканы навынос, роллы из доставки, наушники, пауэрбанки и энергетики. Они так же красивы в момент покупки и так же быстро превращаются в мусор. Я решила проверить, что получится, если посмотреть на них глазами Виллема Хеды и Виллема Кальфа.

Правило серии простое: новая вещь встаёт на место старого символа и сохраняет его смысл.

big
Original size 1448x1086

Источники картин

Original size 1280x703

Датасет собран из открытой коллекции Рейксмюсеума в Амстердаме, главного музея голландского Золотого века. Музей отдаёт изображения картин в общественное достояние (Public Domain Mark 1.0), а описания под лицензией CC0. Скрипт tools/fetch_rijks.py нашёл через API музея 230 картин со словами «stilleven», «vanitas», «ontbijt», «bloemen» и подобными в названии.

Отбор

Я отобрала 96 картин 68 художников из 140 кандидатов. Исключила:— сцены с людьми (кухарки, дети, служанки), где натюрморт — только фон;— гирлянды, картуши и обманки в светлых каменных нишах: другая живопись, другой свет;— натюрморты на фоне пейзажа;— картины, где крупно написан текст (газеты, письма, подписи на парапете), чтобы модель не училась рисовать псевдобуквы;— изображения в раме.

Original size 2132x2132

Каждую картину я описала по-английски: триггер vnts, жанр и список предметов:vnts, a breakfast still life, an overturned silver tazza, a roemer, a gilded beer tankard, a half peeled lemon on a pewter plate, olives, a knife.

Обучение модели

Stable Diffusion XL base 1.0 я обучала с LoRA: веса самой модели заморожены, в слои внимания UNet добавлены маленькие обучаемые матрицы. Готовый скрипт не использовался.

Один раз я прогоняла все 96 картин через VAE и все подписи через два текстовых энкодера SDXL. Результат хранила в памяти, энкодеры выгружала: на T4 освобождалось несколько гигабайт для UNet.На каждом шаге брала по две картины, добавляла к их латентам шум случайной силы и просила UNet угадать этот шум, зная подпись.Ошибку (MSE между настоящим и угаданным шумом) взвешивала по Min-SNR и обновляла только LoRA.

Noise offset

Обычная диффузионная модель плохо рисует очень тёмные и очень светлые картинки: при обучении средняя яркость шума всегда около нуля, и модель привыкает, что средняя яркость картинки тоже «серединка». Голландский натюрморт наполовину состоит из почти чёрного фона, и без поправки модель высветляет его до коричнево-серого. Приём noise offset добавлял к шуму небольшой общий сдвиг по каждому цветовому каналу, и модель училась менять общую яркость кадра.

Процесс работы

Генерация шла на двух видеокартах: на первой работала SDXL base 1.0 с LoRA vnts, на второй — SDXL refiner 1.0. Силу LoRA я задавала равной 0,8, снижая её до 0,65 для банок, букета и пончиков и до 0,5 для смартфона и корзины из супермаркета. Base снимал первые 80% шкалы шума (таймстепы от 999 до 200) и передавал недорисованный латент refiner’у, который дорабатывал остаток. Я использовала планировщик DPM++ 2M SDE Karras с 32 шагами, guidance scale 7 и разрешение 1024×1024.Промпт выглядел так: vnts, a dutch golden age oil painting, <жанр>, <предметы>, dark background. Средняя часть повторяла структуру подписей датасета, а начало и конец пришлось добавить: без них современные вещи модель рисовала как предметное фото сверху. Современную вещь я ставила в промпте первой и «в центр», классических предметов рядом — один-два. Негативный промпт перечислял photograph, flat lay, product photography, 3d render, cartoon и подобное.На каждую работу я генерировала четыре варианта с общим seed’ом; в качестве seed’ов взяла даты: 1602, 1637, 1648 и 1672. Из четырёх вариантов CLIP выбирал наиболее близкий к тексту промпта, после чего я проверяла выбор и в нескольких случаях его корректировала.

Экспозиция. Результирующая серия изображений

Original size 1188x978

Серия развешана в три зала, как в музее: завтраки и банкеты, цветы и трофеи, ванитас. Под каждой работой этикетка, как в Рейксмюсеуме, только техника иная.

Зал I. Завтраки и банкеты

Завтрак с доставкой

Original size 1024x1024

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

Банкет с энергетиками

Original size 1024x1024

Опрокинутая серебряная тацца на банкетах Питера Класа означала, что пир окончен и богатство непрочно. У меня на белой скатерти среди устриц стоят две красные банки энергетика: тот же жест, только вместо вина — бессонная ночь.Я просила добавить смятые банки, лежащие на боку, но модель поставила их прямо, как парадные кубки.

Устрицы и роллы

Суета сует
Project created at 28.10.2026