Инстанс-сегментация
Инстанс-сегментация — это задача компьютерного зрения, заключающаяся в выделении на изображении или видеокадре каждого отдельного экземпляра объекта определённого класса с попиксельной точностью. В отличие от семантической сегментации, которая относит каждый пиксель к какой-либо категории (например, «человек», «автомобиль», «дорога»), инстанс-сегментация дополнительно различает отдельные объекты внутри одного класса (например, «человек 1», «человек 2», «автомобиль 1»). Таким образом, результатом работы алгоритма является набор масок (бинарных изображений), каждая из которых соответствует одному конкретному объекту.
Задача и место среди других методов
Инстанс-сегментация занимает промежуточное положение между задачами обнаружения объектов (object detection) и семантической сегментации (semantic segmentation). Обнаружение объектов выдаёт ограничивающие рамки (bounding boxes) вокруг каждого объекта, но не даёт информации о его точной форме. Семантическая сегментация классифицирует каждый пиксель, но не разделяет экземпляры одного класса. Инстанс-сегментация объединяет оба подхода: она определяет границы каждого объекта (как в сегментации) и различает их (как в детекции).
Отличие от панорамной сегментации
Существует также панорамная сегментация (panoptic segmentation), которая объединяет семантическую и инстанс-сегментацию. В панорамной сегментации все пиксели изображения делятся на две группы: «вещи» (things) — отдельные объекты, которые подлежат инстанс-сегментации (люди, машины, животные), и «материал» (stuff) — однородные области, не имеющие чёткого разделения на экземпляры (небо, трава, стена). Для «вещей» применяется инстанс-сегментация, для «материала» — семантическая.
История развития
Ранние подходы
Первые методы инстанс-сегментации основывались на классических алгоритмах компьютерного зрения, таких как водораздел (watershed), графовые разрезы (graph cuts) и методы на основе скользящего окна. Эти подходы были медленными, требовали ручной настройки параметров и плохо справлялись с перекрывающимися объектами.
Эра глубокого обучения
Прорыв произошёл с развитием свёрточных нейронных сетей (CNN). В 2014 году была предложена архитектура R-CNN (Regions with CNN features), которая сначала генерировала множество регионов-кандидатов (region proposals), а затем классифицировала каждый из них. Однако R-CNN была медленной, так как каждый регион обрабатывался отдельно.
В 2015 году появился Fast R-CNN, который ускорил процесс за счёт использования карт признаков, вычисляемых один раз для всего изображения. Затем Faster R-CNN (2015) ввёл сеть генерации регионов (Region Proposal Network, RPN), что позволило объединить все этапы в одну сквозную архитектуру.
Mask R-CNN
Ключевым этапом стало появление в 2017 году архитектуры Mask R-CNN (He et al., Facebook AI Research). Она расширила Faster R-CNN, добавив параллельную ветвь для предсказания бинарных масок для каждого региона-кандидата. Mask R-CNN использует операцию RoIAlign (Region of Interest Align), которая устраняет ошибки квантования, свойственные предыдущему методу RoIPool, и позволяет получать более точные маски. Эта архитектура стала стандартом де-факто для инстанс-сегментации и до сих пор широко используется.
Современные подходы
После Mask R-CNN появилось множество усовершенствованных архитектур:
- YOLACT (You Only Look At CoefficienTs) — одноэтапная модель, которая генерирует маски за один проход сети, что делает её значительно быстрее Mask R-CNN.
- SOLO (Segmenting Objects by Locations) — подход, который обходится без генерации регионов-кандидатов, предсказывая маски непосредственно на основе пространственного положения объекта.
- Mask2Former — универсальная архитектура, объединяющая задачи семантической, инстанс- и панорамной сегментации в единую структуру на основе трансформеров.
- DETR (Detection Transformer) — модель на основе трансформеров, которая может быть адаптирована для инстанс-сегментации.
Архитектура типовой модели (на примере Mask R-CNN)
Типичная модель инстанс-сегментации, такая как Mask R-CNN, состоит из нескольких ключевых компонентов:
- Базовый экстрактор признаков (Backbone): Обычно это предобученная свёрточная сеть (например, ResNet-50, ResNet-101), которая извлекает карты признаков из входного изображения.
- Сеть генерации регионов (RPN): Лёгкая свёрточная сеть, которая сканирует карту признаков и предлагает прямоугольные области (region proposals), где, вероятно, находятся объекты.
- Голова (Head): Для каждого предложенного региона выполняется три параллельных задачи:
- Классификация: Определение класса объекта (например, «человек», «собака»).
- Регрессия ограничивающей рамки: Уточнение координат прямоугольника, охватывающего объект.
- Сегментация маски: Предсказание бинарной маски (пиксель принадлежит объекту или нет) для данного региона.
Метрики оценки
Для оценки качества инстанс-сегментации используется метрика Average Precision (AP), основанная на пересечении предсказанной маски с истинной маской (Intersection over Union, IoU). Обычно вычисляют среднее значение AP при различных порогах IoU (например, от 0.50 до 0.95 с шагом 0.05). Эта метрика обозначается как AP@[0.5:0.95]. Также используются метрики AP50 (IoU=0.50) и AP75 (IoU=0.75).
Применение
Инстанс-сегментация находит применение в широком спектре задач:
- Автономное вождение: Выделение отдельных автомобилей, пешеходов, велосипедистов на дороге для точного планирования траектории.
- Медицинская диагностика: Сегментация отдельных клеток, опухолей или органов на медицинских снимках (МРТ, КТ, микроскопия).
- Робототехника: Распознавание и захват отдельных объектов на конвейере или в хаотичной среде.
- Видеонаблюдение: Подсчёт людей, отслеживание их перемещений, анализ поведения.
- Редактирование изображений и видео: Автоматическое выделение объектов для замены фона, ретуши или добавления эффектов.
- Сельское хозяйство: Подсчёт плодов на деревьях, оценка урожайности, обнаружение сорняков.
Сложности и ограничения
- Перекрывающиеся объекты: Алгоритмы могут испытывать трудности при сильном перекрытии объектов одного класса, особенно если они имеют схожую текстуру.
- Малые объекты: Объекты, занимающие небольшую площадь на изображении, часто распознаются с низкой точностью.
- Вычислительная сложность: Современные модели требуют значительных вычислительных ресурсов (GPU), что затрудняет их применение на устройствах с ограниченной производительностью (например, на смартфонах).
- Необходимость размеченных данных: Для обучения моделей требуются большие наборы данных с попиксельной разметкой каждого экземпляра объекта, что является трудоёмким и дорогостоящим процессом. Одним из крупнейших таких наборов является COCO (Common Objects in Context), содержащий более 200 000 размеченных изображений.
Интересные факты
- Термин «инстанс-сегментация» (instance segmentation) впервые был введён в научный оборот в 2014 году в работе по сегментации отдельных клеток.
- Архитектура Mask R-CNN в 2017 году получила награду за лучшую работу на конференции ICCV (International Conference on Computer Vision).
- Современные модели, такие как SAM (Segment Anything Model) от Meta (организация признана экстремистской и запрещена в РФ), способны выполнять инстанс-сегментацию без предварительного обучения на конкретных классах, используя подсказки (промпты) от пользователя.
Источники
- He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask R-CNN. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
- Lin, T. Y., et al. (2014). Microsoft COCO: Common Objects in Context. European Conference on Computer Vision (ECCV).
- Bolya, D., et al. (2019). YOLACT: Real-time Instance Segmentation. Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV).
- Wang, X., et al. (2020). SOLO: Segmenting Objects by Locations. European Conference on Computer Vision (ECCV).
- Cheng, B., et al. (2022). Masked-attention Mask Transformer for Universal Image Segmentation. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →