Паноптическая сегментация (Panoptic Segmentation) — гайд по разметке данных

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

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

Паноптическая сегментация

Что такое паноптическая сегментация?

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

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

Семантическая сегментация — это способ сегментации, который определяет, к какому классу принадлежит каждый пиксель изображения. Ее главная особенность в том, что все объекты одного класса (например, несколько автомобилей) обозначаются одинаково, без разделения на отдельные экземпляры.

Семантическая сегментация - машины


Инстанс-сегментация, напротив, учитывает отдельные экземпляры объектов одного класса — каждому из них присваивается индивидуальная маска и метка.  Это дает возможность точно определить границы объектов внутри одного класса, даже если они находятся рядом или перекрывают друг друга. При этом другие фоновые объекты, не относящиеся к целевому классу, обычно игнорируются.

Semantic Instance разметка машин

Наконец, паноптическая сегментация объединяет принципы семантической и инстанс-сегментации для наиболее точного понимания сцены. Она позволяет одновременно выделять фоновые области как единые сегменты (небо, дорогу, деревья) и различать отдельные объекты внутри одного класса (автомобили). 

Semantic Instance Panoptic разметка машин

Применение паноптической сегментации в ML и CV

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

Автономный транспорт

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

Робототехника

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

Медицинская диагностика

В медицине паноптическая сегментация позволяет детально анализировать медицинские снимки, такие как МРТ, КТ или рентген. С ее помощью можно точно сегментировать органы, ткани и патологические образования, что повышает точность диагностики и помогает врачам в постановке диагноза.

Спутниковый анализ

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

Видеонаблюдение и системы безопасности

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

Разметка данных для паноптической сегментации

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

  1. Подготовка данных

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

  1. Определение классов и объектов для разметки

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

  1. Выбор инструмента для разметки

Для паноптической сегментации используют специализированные платформы (например, CVAT или Label Studio), которые позволяют создавать и редактировать точные контуры объектов, а также экспортировать разметку в нужных форматах. 

  1. Ручная разметка с помощью полигонов

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

Как выполняется разметка:

  • Выбор объекта. На изображении определяется объект, который необходимо сегментировать.
  • Создание точек полигона. Разметчик, выбрав инструмент полигон, последовательно кликает по границам объекта, расставляя его вершины. Чем больше точек, тем точнее контур повторяет форму объекта.
  • Замыкание полигона. После расстановки всех точек необходимо завершить полигон, соединив последнюю точку с первой.  В некоторых инструментах есть функция автоматического замыкания контура.
  • Добавление меток. Аннотированный объект получает соответствующую метку класса, после чего цикл повторяется, пока все изображение не будет размечено.
  1. Проверка и корректировка разметки

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

  1.  Сохранение и экспорт данных

После проверки данные сохраняются в нужном формате (например, COCO JSON), чтобы модель могла использовать их для обучения. Выбор формата зависит от требований алгоритма сегментации и совместимости с используемыми фреймворками.

Неоднозначные моменты в разметке: как избежать ошибок

Субъективность разметки

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

Чтобы снизить риск ошибок, необходимо создавать детальные гайдлайны, в которых прописано, как именно следует размечать объекты (где должна проходить граница, что считать «частью» объекта, как близко ставить точки и т. д.) и приводить примеры разрешения спорных случаев.

Правильная работа со слоями

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

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

Ключевые выводы

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

Ваша заявка успешно отправлена!

Мы скоро свяжемся с вами для обсуждения деталей проекта