Назад к подготовке
ВопросЛегкаяcomputer-vision-basicsСкрининг · Wisebits / xHamster

Семантическая сегментация и свертка

Что такое семантическая сегментация? Чем она отличается от instance segmentation? Как работает свертка в CNN?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

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

Полный разбор

Semantic segmentation предсказывает класс для каждого пикселя: дорога, машина, человек, фон и так далее. Все пиксели одного класса попадают в одну semantic mask. Instance segmentation дополнительно различает отдельные объекты: две машины будут двумя разными масками, хотя класс один.

Сверточный слой проходит обучаемыми kernels по изображению. В каждой spatial position он берет локальное окно по всем input channels, считает взвешенную сумму, добавляет bias если он есть и записывает значения в output channels. Kernel size задает локальный receptive field, stride - шаг, padding - размер выхода, а число filters - число output channels.

Главная идея CNN - locality и weight sharing: один и тот же kernel ищет похожий локальный паттерн в разных местах изображения.

Теория

CNN совмещают локальность, shared weights и смешивание каналов; segmentation добавляет dense per-pixel prediction поверх visual features.

Типичные ошибки

  • Путать semantic и instance segmentation.
  • Описывать свертку как операцию только для одного канала.
  • Забывать stride и padding при обсуждении output shape.

Как отвечать на собеседовании

  • Используйте пример с двумя машинами одного класса.
  • Для свертки упомяните и spatial window, и channel dimension.