Sobes.tech
Back to questions
Middle — Senior
11

Что такое Mask2Former и его query-based подход?

Companies where asked
ИннотехИннотех

Answer from AI

sobes.tech AI

Что хотят услышать интервьюеры:

Mask2Former — это современная архитектура для сегментации, которая решает разные задачи в едином формате через набор обучаемых запросов, или queries. Вместо прямого предсказания масок по пикселям модель учится сопоставлять каждый query с объектом или регионом изображения. Такой подход позволяет унифицировать semantic, instance и panoptic segmentation.

Определение:

Mask2Former — это модель для сегментации изображений, где выход строится не как плотная карта классов сразу для всех пикселей, а через фиксированное число learnable queries. Каждый query в процессе работы «ищет» один объект или сегмент, а затем для него предсказываются класс и бинарная маска. За счёт этого одна и та же архитектура может использоваться для разных видов сегментации.

Query-based подход означает, что модель не перебирает все возможные объекты напрямую, а работает с ограниченным набором обучаемых запросов, которые через attention извлекают нужную информацию из признаков изображения. Идея похожа на object queries в DETR, но здесь каждый query дополнительно отвечает за маску, а не только за bounding box или класс.

Пример использования:

Например, в задаче panoptic segmentation на фотографии улицы модель может одним набором queries выделить пешеходов, автомобили, дорожные знаки и одновременно фоновые области вроде дороги и неба.

# Псевдокод, показывающий идею query-based сегментации

image_features = backbone(image)          # извлекаем признаки изображения
queries = initialize_queries(num=100)     # 100 обучаемых запросов

for layer in transformer_decoder:
    queries = cross_attention(queries, image_features)
    queries = self_attention(queries)

class_logits = classification_head(queries)
mask_logits = mask_head(queries, image_features)

# Каждый query даёт:
# 1) вероятность класса
# 2) маску для своего сегмента

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

Пояснение кода:

Код здесь демонстрирует принцип работы, а не точную реализацию конкретной библиотеки. Сначала backbone извлекает признаки изображения, затем decoder обрабатывает фиксированный набор обучаемых queries. Через cross-attention каждый query связывается с релевантными участками изображения. После этого отдельная голова классификации определяет, что именно нашёл query, а mask head строит бинарную маску для этого объекта или региона.

Ключевые моменты:

  • Mask2Former унифицирует semantic, instance и panoptic segmentation в одной архитектуре.
  • Основная идея — фиксированное число обучаемых queries вместо прямого плотного предсказания по всем пикселям.
  • Каждый query отвечает за конкретный сегмент: класс + маска.
  • Query-based подход хорошо масштабируется и упрощает перенос между разными задачами сегментации.
  • Архитектура использует attention-механизмы, чтобы queries находили релевантные области на изображении.
  • Подход концептуально близок к DETR, но адаптирован именно под сегментацию.