Segmentation Map

segmentation map — карта классов или объектов в каждом участке кадра

Раздел
Адаптеры
Обновлено
11.08.26

Segmentation Map делит изображение на области и хранит для каждого пикселя метку класса или экземпляра объекта. В генеративном конвейере такая карта задаёт смысловую раскладку сцены, но её цвета имеют значение только внутри палитры и протокола, на которых обучен конкретный модуль контроля.

Коротко

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

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

Цветная картинка — лишь удобное представление меток. Бордовый не означает «человек» сам по себе, а зелёный не всегда означает «дерево». Связь между цветом и классом определяется набором данных, палитрой, препроцессором и моделью контроля.

Что хранит карта сегментации

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

В простейшем случае каждому пикселю соответствует целочисленная метка:

0 — фон
1 — небо
2 — здание
3 — дерево
4 — человек

Чтобы карту было удобно смотреть и хранить как RGB-изображение, метки превращают в цвета. Палитра работает как легенда: один цвет кодирует один номер класса. Именно номер или выученное цветовое представление несёт смысл, а не бытовая ассоциация с оттенком.

На инфографике слева показана цветная карта, а справа — фотографическая сцена с теми же силуэтами. Девушка, велосипед, кот, дерево и дом остаются на своих местах, хотя карта не сообщает ни фактуру ткани, ни породу кота, ни характер света.

Semantic, instance и panoptic segmentation

Словом segmentation называют несколько задач.

Semantic segmentation

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

Instance segmentation

Карта различает отдельные объекты одного класса: человек №1, человек №2, велосипед №1. У каждого экземпляра есть собственная маска и идентификатор, но оба человека всё равно относятся к одному семантическому классу.

Panoptic segmentation

Panoptic Segmentation объединяет оба представления в согласованную карту. «Исчисляемые» объекты вроде людей и машин получают отдельные экземпляры, а протяжённые области вроде неба и дороги остаются классами без нумерации каждого фрагмента.

Для генеративного контроля чаще встречается семантическая RGB-карта, однако конкретный конвейер может принимать instance-, panoptic- или произвольные маски. Формат входа определяет не название файла, а обучение модели.

Откуда берётся карта

Есть три основных источника.

Ручная разметка. Человек обводит области и назначает им метки. Так создают обучающие наборы и точные композиционные шаблоны.

Автоматический препроцессор. Модель сегментации анализирует готовую фотографию. Архитектуры вроде Mask2Former и OneFormer умеют решать semantic-, instance- и panoptic-задачи, но их конкретные веса всё равно привязаны к обучающей таксономии.

Графический или 3D-редактор. Сцена уже содержит объекты и классы, поэтому карту можно вывести напрямую без распознавания фотографии.

Автоматическая карта не является истиной. Если препроцессор принял витрину за окно или объединил кота с корзиной, генеративная модель получит именно эту ошибку как условие.

Палитра — часть протокола

ADE20K создан для подробного разбора сцен; в распространённом benchmark-протоколе используется 150 семантических классов. COCO-Stuff дополняет 80 классов объектов COCO 91 классом «вещества» и фона — всего получается 171 семантическая категория.

У этих наборов разные списки классов, номера и палитры. Один RGB-цвет способен означать разные вещи в двух протоколах. Даже внутри одного названия встречаются сокращённые и полные таксономии.

Поэтому карта и модель контроля должны понимать одну легенду. Официальное описание ControlNet 1.1 Segmentation приводит интересный пример: один checkpoint обучен на картах COCO и ADE20K и принимает оба протокола. Это свойство конкретного обучения, а не универсальная способность любой segmentation-модели.

Как карта управляет генерацией

ControlNet показал архитектуру для добавления пространственных условий к предобученной text-to-image модели. В числе таких условий авторы проверяли edges, depth, pose и segmentation.

Для segmentation-контроля обучение использует пары «изображение — карта». Модуль постепенно учится связывать цветовые области и их границы с визуальным содержанием. Во время генерации промпт описывает желаемый вид сцены, а карта задаёт её смысловую раскладку.

Условие не является командой «скопировать каждый пиксель». Его сила, диапазон шагов и способ подключения зависят от реализации. При слабом влиянии сцена свободнее отходит от карты; при чрезмерном может появиться плоская компоновка, жёсткие границы или конфликт с промптом.

Что карта удерживает, а что оставляет модели

Segmentation Map особенно хорошо передаёт:

  • примерное положение классов;
  • силуэты крупных областей;
  • границы между небом, землёй, зданиями и объектами;
  • относительную площадь частей сцены.

Она не обязана надёжно задавать:

  • текстуру, материал и освещение;
  • точную позу и анатомию;
  • расстояние до камеры;
  • ориентацию поверхности в 3D;
  • количество объектов внутри одной semantic-области;
  • класс, которого модель контроля не встречала при обучении.

Например, цветная область «человек» обозначает силуэт и категорию. Положение рук лучше описывает pose-карта, глубину — depth map, а детали одежды — промпт или отдельный референс.

Масштаб и границы

Карта проходит те же преобразования, что и другие пространственные условия: изменение размера, crop и переход к внутренней сетке признаков. Узкая велосипедная спица или маленький кот могут исчезнуть после уменьшения, даже если они хорошо видны в исходном PNG.

Слишком зубчатые границы после масштабирования способны превратиться в рваные контуры. Слишком размытые — смешивают классы на переходе. Для карты классов обычно важнее чёткие области без случайных оттенков от JPEG-сжатия и неосторожной интерполяции.

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

Ручная карта не обязана быть красивой

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

Слишком детальная карта иногда мешает: она оставляет модели мало свободы и переносит ошибки разметки в результат. Грубая схема удобнее для поиска композиции, точная — для повторения уже утверждённого расположения.

Подписи классов в самом RGB-файле обычно не нужны. Они становятся дополнительными формами и могут повлиять на условие. Легенду лучше хранить рядом как документацию, а на вход передавать чистые области.

Чем отличается от похожих карт

Обычная mask чаще отвечает на вопрос «где разрешено изменение», не объясняя, что находится внутри. Segmentation Map назначает области классы или экземпляры.

Depth Map описывает относительную глубину, но не обязана знать, где дерево, а где человек.

Edge Map хранит границы и линии без смысловых меток. Контур велосипеда остаётся контуром, даже если модель решит превратить его в перила.

Pose Map задаёт ключевые точки тела и связи между ними. Semantic-карта обычно передаёт только общий силуэт человека.

Эти условия можно сочетать, если архитектура это поддерживает. Тогда segmentation отвечает за классы, depth — за пространство, а pose — за положение тела. Несогласованные карты, наоборот, заставляют сигналы спорить.

Как разбирать сбои

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

Если пропал отдельный человек среди нескольких, semantic-карта могла слить их в один класс. Instance- или panoptic-разметка хранит различие, но поможет только тому конвейеру, который умеет её читать.

Если автоматическая карта выглядит убедительно, а результат нет, стоит посмотреть не на цвета, а на исходные метки: визуально похожая палитра может скрывать неверный класс.

Частые вопросы

Цвета ADE20K универсальны?

Нет. Они относятся к конкретному протоколу. Другая таксономия или модель может использовать тот же оттенок для другого класса либо вообще не интерпретировать его как отдельную категорию.

Можно ли нарисовать карту своими цветами?

Можно, если перед подачей цвета переводятся в ожидаемые class IDs или если модель обучена именно на такой кодировке. Произвольная декоративная палитра без преобразования не получает смысла автоматически.

Segmentation Map задаёт точную форму объекта?

Она задаёт область и границу настолько точно, насколько их сохраняют разрешение и модель контроля. Внутреннюю структуру, перспективу и мелкие детали генератор достраивает сам.

Чем semantic-карта отличается от instance-карты?

Semantic-карта объединяет все объекты одного класса. Instance-карта хранит отдельный идентификатор для каждого экземпляра. Цветное изображение может выглядеть похоже, поэтому формат нужно узнавать по данным, а не по внешнему виду.

Можно ли сочетать segmentation и depth?

Да, если конвейер поддерживает несколько условий. Карты должны описывать одну геометрию: дерево на segmentation-карте не должно находиться там, где depth показывает далёкое небо.

Любая text-to-image модель понимает segmentation map?

Нет. Нужен адаптер, контрольная ветвь или архитектура, обученная принимать такой сигнал. Сам по себе цветной PNG не становится понятным обычному текстовому входу.

Главное

Segmentation Map хранит смысловую раскладку кадра на уровне пикселей. Semantic-карта назначает классы, instance-карта различает объекты, а panoptic-карта объединяет оба представления.

В генерации эта карта помогает удерживать расположение крупных частей сцены, но не заменяет промпт, depth или pose. Её надёжность начинается с совместимости: одинаковые классы, палитра, преобразования размера и модель контроля. Цвет здесь работает как код — и только легенда конкретного протокола объясняет, что он означает.

Источники