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

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

Если вам нужно сегментировать данные и вы ищете платформу для аннотирования данных, в Ango Hub есть все, что вам нужно для начала. Если вместо этого вы ищете аутсорсинг для сегментации ваших изображений, Ango Service — это то, что вам нужно. Но вернемся к паноптической сегментации.

Что такое сегментация изображения?

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

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

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

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

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

Например, называются человек, кот, машина, ключ и мяч. вещи.

Вещество (семантическое). Бесчисленное количество аморфных областей с одинаковой текстурой называется веществом. Материал вообще образует неделимую несчетную область внутри изображения.

Например, дороги, вода, небо и т. д. относятся к категории "вещи".

Типы сегментации изображения

Зная две концепции, упомянутые выше, мы можем углубиться в сегментацию изображений. Есть три основные категории:

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

По сути, это означает идентификацию элементов изображения.

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

Сегментация экземпляра таким образом идентифицирует объекты на изображении

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

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

Формат паноптической сегментации

Так как же нам добиться сохранения как семантической категории, так и категории экземпляра одного и того же изображения? Кириллов и др. из Facebook AI Research и Гейдельбергского университета решили эту проблему очень интуитивно. Для паноптической сегментации существуют следующие свойства.

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

Файл аннотаций для каждого изображения: поскольку каждый пиксель помечен и ему присвоены значения пикселей, он часто сохраняется как отдельный (по соглашению, png) файл со значениями пикселей, а не как набор полигонов или RLE. кодирование.

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

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

Изображение выше было изображением 600 x 400, и, аналогично, паноптическая сегментация также является изображением 600 x 400. Однако в то время как входное изображение имеет значения пикселей в диапазоне 0–255 (диапазон оттенков серого), выходное изображение паноптической сегментации имеет совсем другой диапазон значений. Каждое значение пикселя в результирующем файле паноптической сегментации представляет класс для этого пикселя.

Как аннотации хранятся в формате паноптической сегментации

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

Какой класс соответствует любому значению пикселя в выходных данных паноптической сегментации?

Во-первых, давайте проверим, какие классы у нас есть:

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

Теперь давайте перейдем к выводу паноптической сегментации. Если мы получим уникальные значения пикселей в паноптической сегментации, то получим следующий результат:

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

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

Математически нам нужно декодировать эти значения пикселей, чтобы получить индексы классов, которые они представляют. Обычно кодирование паноптической сегментации таково, что: значение пикселя % (оператор модуля) смещение дает нам идентификатор класса.

Из-за нашей математической операции выше 2000 % 1000 = 5000 % 1000 = 0 . Таким образом, мы видим, что значение пикселя 2000 фактически относится к тому же классу, что и значение пикселя 5000. Т.е. Оба они принадлежат к классу 0. Точно так же значения 1038 и 3038 принадлежат к одному и тому же классу 38.

Сопоставляя наши идентификаторы классов с классами модели, мы получаем следующий вывод. Мы видим, что 38 — это Tennis_racket, а 0 — это класс person, и аналогично для других классов. таким образом отвечая на наш первоначальный вопрос о том, какие значения пикселей соответствуют какому классу в метке паноптической сегментации.

Фреймворки для паноптической сегментации

Паноптический FPN

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

Они используют Mask-RCNN, изначально предназначенную для экземплярной сегментации, и добавляют к ней ветвь семантической сегментации. Каждая ветвь использует магистраль Feature Pyramid Network для извлечения признаков. FPN извлекает и масштабирует функции таким образом, что, когда они встречаются в разных пропорциях, сеть все равно может правильно их обнаруживать.

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

Mask2Бывший

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

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

Эта структура также использует две основные ветви: ветвь Pixel Decoder и ветвь Transformer Decoder. Пиксельный декодер выполняет задачу, очень похожую на FPN, рассмотренную выше, т. е. масштабирование извлеченных признаков до различных пропорций. Декодер преобразователя использует различные масштабы признаков и выходные данные преобразователя и объединяет пиксельные декодеры для предсказания маски и класса различных объектов.

Наборы данных паноптической сегментации

КОКО Паноптик

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

АДЭ20К

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

Мапиллярный

Набор картографических данных представляет собой набор из 25 000 изображений с высоким разрешением. Изображения относятся к 124 категориям семантических объектов и 100 категориям экземпляров. Набор данных содержит изображения со всего мира, охватывающие 6 континентов. Эти данные идеально подходят для задач паноптической сегментации в индустрии автономных транспортных средств.

Городские пейзажи

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

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

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

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

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

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

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

Автор: Баладж Салим
Технический редактор: Онур Айдын

Первоначально опубликовано на https://ango.ai 16 августа 2022 г.