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

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

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

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

Применение паноптической сегментации в ML и CV
Паноптическая сегментация используется в самых разных задачах машинного обучения и компьютерного зрения, где важно не только определять объекты, но и учитывать их взаимное расположение. Рассмотрим несколько примеров:
Автономный транспорт
В беспилотных автомобилях паноптическая сегментация помогает моделям анализировать окружающую среду. Она позволяет точно различать дорогу, тротуары, транспортные средства, пешеходов и другие элементы городской сцены. Это необходимо для безопасного движения, распознавания препятствий и предсказания поведения участников дорожного движения.
Робототехника
В робототехнике паноптическая сегментация используется для навигации и ориентации автономных систем. Например, городские сервисные роботы или автономные складские системы используют ее для анализа окружающей обстановки, избегания столкновений и планирования маршрутов.
Медицинская диагностика
В медицине паноптическая сегментация позволяет детально анализировать медицинские снимки, такие как МРТ, КТ или рентген. С ее помощью можно точно сегментировать органы, ткани и патологические образования, что повышает точность диагностики и помогает врачам в постановке диагноза.
Спутниковый анализ
Паноптическая сегментация также активно используется в обработке спутниковых снимков. Она помогает анализировать ландшафт, определять границы водоемов, лесных массивов, городских объектов и инфраструктуры. Это полезно для экологического мониторинга, сельского хозяйства и градостроительного планирования.
Видеонаблюдение и системы безопасности
В системах безопасности паноптическая сегментация позволяет не только распознавать людей и объекты, но и анализировать их поведение. Это используется в интеллектуальных системах видеонаблюдения для контроля общественных пространств, детекции подозрительных действий и мониторинга потока людей в реальном времени.
Разметка данных для паноптической сегментации
Для того, чтобы модели машинного обучения научились выполнять задачи сегментации, им нужны данные, размеченные соответствующим образом. Процесс аннотирования изображений включает несколько последовательных этапов:
- Подготовка данных
В первую очередь необходимо собрать и подготовить изображения, ориентируясь на ключевые объекты, которые нужно сегментировать. Если, к примеру, целью является выделение автомобилей, датасет должен содержать кадры с машинами в разных условиях (ракурсы, освещение, погода).
- Определение классов и объектов для разметки
На втором этапе необходимо сформировать полный список классов, которые будут размечаться, и определить правила аннотации для каждого из них. В частности, нужно заранее продумать, какие объекты важно выделять как отдельные экземпляры, а какие нужно отнести к фоновым (например, дорогу или небо). Четкая инструкция гарантирует единообразие работы всех аннотаторов и снижает риск ошибок или неоднозначных ситуаций при разметке данных.
- Выбор инструмента для разметки
Для паноптической сегментации используют специализированные платформы (например, CVAT или Label Studio), которые позволяют создавать и редактировать точные контуры объектов, а также экспортировать разметку в нужных форматах.
- Ручная разметка с помощью полигонов
После того как все необходимые данные собраны и загружены в выбранный инструмент аннотирования, аннотаторы приступают к ручной разметке. Для этого используется инструмент полигон, позволяющий очертить границы каждого объекта с высокой точностью.
Как выполняется разметка:
- Выбор объекта. На изображении определяется объект, который необходимо сегментировать.
- Создание точек полигона. Разметчик, выбрав инструмент полигон, последовательно кликает по границам объекта, расставляя его вершины. Чем больше точек, тем точнее контур повторяет форму объекта.
- Замыкание полигона. После расстановки всех точек необходимо завершить полигон, соединив последнюю точку с первой. В некоторых инструментах есть функция автоматического замыкания контура.
- Добавление меток. Аннотированный объект получает соответствующую метку класса, после чего цикл повторяется, пока все изображение не будет размечено.
- Проверка и корректировка разметки
Когда разметка завершена, необходимо проверить точность аннотаций, так ошибки в границах объектов или неправильно присвоенные классы могут негативно сказаться на обучении модели. Проверка может выполняться вручную или с помощью автоматизированных инструментов.
- Сохранение и экспорт данных
После проверки данные сохраняются в нужном формате (например, COCO JSON), чтобы модель могла использовать их для обучения. Выбор формата зависит от требований алгоритма сегментации и совместимости с используемыми фреймворками.
Неоднозначные моменты в разметке: как избежать ошибок
Субъективность разметки
Визуальное восприятие у разных людей различается. Один разметчик может обвести границу объекта чуть шире, считая мелкие детали важными, а другой — наоборот, «срезать» выступы. Кроме того, сами объекты могут выглядеть неочевидно: например, если дорожное покрытие почти неотличимо от тротуара, легко запутаться, что считать границей каждого из них.
Чтобы снизить риск ошибок, необходимо создавать детальные гайдлайны, в которых прописано, как именно следует размечать объекты (где должна проходить граница, что считать «частью» объекта, как близко ставить точки и т. д.) и приводить примеры разрешения спорных случаев.
Правильная работа со слоями
В паноптической сегментации важно одновременно учитывать фоновые области и отдельные объекты. Если размещать все полигоны на одном слое, возникает риск, что они будут некорректно перекрывать друг друга. Чтобы этого избежать, рекомендуется использовать инструменты с поддержкой многослойности, позволяющие гибко организовать слои по уровням.
Учитывая эти нюансы и следуя описанным рекомендациям, можно достичь более высокого единообразия аннотаций. Чем лучше исходные данные, тем более точной будет модель машинного обучения.
Ключевые выводы
Паноптическая сегментация — один из самых точных методов разметки данных для компьютерного зрения. Он объединяет в себе преимущества семантической и инстанс-сегментации, позволяя моделям лучше понимать структуру сцены. Этот метод широко используется в автономном транспорте, медицине, робототехнике и многих других областях, где важно точное разделение объектов и фона.