Знакомые каждому абстракции
В последние годы ностальгический облик ковра в бабушкиной квартире обрел новое дыхание и популярность. Его используют в элементах дизайна, ставят на обои телефона, а сами ковры можно увидеть в кофейнях и ресторанах.
Я решила обучить модель Stable Diffusion на этих абстрактных паттернах и попробовать их совмещать с определенными мотивами или фигуративными объектами. Моя идея: посмотреть, насколько точно обучится модель на советских коврах и сможет ли она совмещать их с новыми контекстами. В постановке задачи я выделила для себя ключевые ожидания от генераций:
- попадание модели не только в рисунок, но и текстуру ковров ,
- органичное совмещение с фигуративными промптами,
- красивая картинка при изменении цвета в промптах (преимущественно советские ковры в ограниченной коричнево-красной и зеленой палитрах).
Фрагменты ковров из собранного датасета
Список использованных в проекте инструментов: — Stable Diffusion — обучение генеративной нейросети на фото интерьеров; — Kuggle — непосредственно написание кода и получение генераций; — Hugging Face — получение токена для обучения нейросети, загрузка полученной модели на сайт; — Figma — для оформления изображений.
Подготовка игл
Если выделять отличительные черты оригинальных ковров, то это:
- Центральный крупный элемент и мелкие элементы вокруг него
- Симметрия всей композиции от центральной оси
- Отдельный паттерн по периметру, который также отделен цветом
Фрагмент ковра из собранного датасета
Перед началом самого обучения нужно было:
- Преобразовать исходный датасет с прямоугольными изображениями в квадратные,
- Загрузить необходимые библиотеки,
- С помощью модели BLIP составить подписи к картинкам.
Загрузка библиотек и преобразование изображений в квадратные
Сами узоры абстрактны, поэтому подписи тоже скорее передавали основные мотивы. Самое главное, что все сработало, нейросеть опознала изображения как ковры с паттерном. Также, чтобы затем загрузить полученную модель на сайт HuggingFace был создан токен и вставлен в специальную ячейку в коде.
Создание папки с обработанными изображениями, сгенерированные подписи Blip, логин на Huggingface
Подошел момент самого долго этапа — обучение модели. Так как узоры и сама текстура ковров достаточно сложная информация для нейросети, я поставила разрешение 768. Оно больше стандартных 512 (выставляются часто для экономии памяти), но меньше тяжелых 1024. Максимальный шаг тренинга оптимален с 500, а чекпоинт на 250. Такие настройки могут обучить модель и не истратить всю доступную память.
Обучение, сохранение на Huggingface и загрузка модели
Ткачество
Затем я перешла к непосредственной работе над промптами и настройкам сид (seed), количества шагов денойзинга и силы текстового контроля модели. Отдельно ради удобства прописала, чтобы итоговые генерации сохранялись в отдельную папочку и были с названиями по первым словам из промптов. Важно было, чтобы модель сохраняла общую логику и текстуру ковров, но «примешивала» новые смыслы или объекты.
Первый промпт: abstract pattern in sov_carp style, birds in a medieval garden with stone walls and flowering vines, intricate carpet texture, rich warm colors, tapestry details, sharp focus, high quality
Первые сгенерированные изображения
Такой промпт выдал изображение немного мыльным, а птицы на нем были с артефактами. Тогда я решила вручную поставить настройки: увеличить шаги (num_inference_steps) и усилить влияние промпта (guidance_scale). Второй результат стал выглядеть явно приятнее, появился небольшой бортик по периметру, но все еще выглядит странно: где-то мыльно, где-то слишком гладко, птицы с артефактами.
abstract pattern in sov_carp style, repeating brutalist apartment blocks with many square windows, rectangular soviet apartment buildings ornament, symmetrical carpet composition, central field filled with panel house motifs, decorative border frame around carpet, simple geometric border, woven tapestry texture
Эксперименты продолжились, я решила дать модели более сложные задачи: генерация специфических для СССР предметов: панельки, телевизоры с выпуклыми экранами, советская звезда и тд.
Изображения с разными настройками и промптами
Панельки были почти не опознаны моделью, хотя я пробовала использовать токены как более нейтральные: brutalist, many square windows и т. п., так и были пробы с chruchev building, soviet panel apartment. Точно также модель плохо воспринимает именно пятиконечную звезду, но смогла создать достаточно приятный ковер с четырёхконечной.
Изображения, сгенерированные с одними настройками
В конце концов было найдено оптимальное сочетание настроек шагов денойзинга/num_inference_steps (40), влияния промпта/guidance_scale (8) и кое-где я меняла значение seed. Также, конкретное указание нужного объекта в промпте: central medallion давало хороший результат с центральным основным элементом и мелкими узорами вокруг. Для разнообразия я создала дополнительно несколько абстрактных изображений, чтобы посмотреть в принципе на работу модели с текстурой и цветами.
Выводы обучения
Подводя итог моим экспериментам, я могу сказать, что частично мне удалось добиться от модели логики формирования рисунка самих ковров:
- центральный элемент фигуративный или более абстрактный, от которого расходятся другие узоры,
- характерный бордюр по периметру, выделенный цветом,
- иногда даже текстуру шерсти.
Описание применения генеративных моделей
Помощь в исправлении возникающих ошибок в коде, правке написанных мною промптов для улучшения генераций использовались ГенИИ DeepSeek версии 2025 и GPT-5.3.
Источники изображений
- Wikimedia Commons. — URL: https://commons.wikimedia.org/w/index.php?search=+carpet&title=Special%3AMediaSearch&type=image (дата обращения: 08.03.2026)
- Текстуры ковра СССР 25 фото // textur.gas-kvas.com. — URL: https://textur.gas-kvas.com/5136-kovra-sssr.html (дата обращения: 08.03.2026)
- Советские ковры // fons.grizly.club. — URL: https://fons.grizly.club/pics/%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%81%D0%BA%D0%B8%D0%B5-%D0%BA%D0%BE%D0%B2%D1%80%D1%8B/ (дата обращения: 08.03.2026)
- «rug» // Unsplash. — URL: https://unsplash.com/s/photos/rug (дата обращения: 08.03.2026).




