BlendMask извлекает более точные функции сегментации экземпляров, комбинируя семантическую информацию верхнего и нижнего уровня с более разумным модулем смешивания Эффект этой модели является современным, но структура очень оптимизирована, а скорость вывода не медленный Максимальная точность может достигать 41,3AP, производительность и скорость версии BlendMask-RT в реальном времени составляют 34,2mAP и 25FPS соответственно, а метод оптимизации статьи очень ценен для изучения, его стоит прочитать
Бумага: BlendMask: «Сверху вниз» встречается «снизу вверх» для сегментации экземпляров
- Адрес бумаги:АР Вест V.org/ABS/2001.00…
Introduction
В первые дни существует два типа моделей плотной сегментации экземпляров: подход сверху вниз и подход снизу вверх.
top-down apporach
Модель сверху вниз сначала получает область блока с помощью некоторых методов, а затем выполняет извлечение маски для пикселей в этой области.Эта модель обычно имеет следующие проблемы:
- Локальная согласованность между функциями и масками будет потеряна.В документе обсуждается Deep-Mask и используется fc для предложения масок.
- Извлечение избыточных функций, разные блоки будут повторно извлекать маску один раз
- Информация о местоположении теряется из-за использования сверток, которые сжимают карту объектов.
bottom-up apporach
Восходящая модель сначала выполняет попиксельное прогнозирование для всего изображения, генерирует вектор признаков для каждого пикселя, а затем группирует пиксели некоторыми методами. Благодаря попиксельному прогнозированию и малому размеру шага локальная согласованность и информация о положении могут хорошо сохраняться, но все еще существуют следующие проблемы:
- Сильная зависимость от качества попиксельных прогнозов может легко привести к неоптимальной сегментации.
- Из-за низкоразмерного извлечения масок возможность сегментации сложных сцен (несколько категорий) ограничена.
- Требует сложных методов постобработки
hybridizing apporach
Принимая во внимание вышеуказанные проблемы, в статье сочетаются стратегии «сверху вниз» и «снизу вверх», а также используется информация на уровне экземпляра (bbox) для прогнозирования обрезки и веса на пиксель. Хотя FCIS и YOLACT имеют схожие идеи, в документе говорится, что они плохо обрабатывают функции верхнего и нижнего уровня.Высокоразмерные функции содержат общую информацию об экземпляре, в то время как низкоразмерные функции сохраняют лучшую информацию о местоположении, в центре внимания статьи заключается в изучении того, как комбинировать высокие и низкие размерные признаки.Основные вклады заключаются в следующем:
- Предложил основанный на предложении метод слияния масок экземпляров, блендер, который улучшает метод слияния YOLACT и FCIS на 1,9 и 1,3 мАп соответственно на COCO.
- Простой сетевой алгоритм BlendMask на основе FCOS
- Время вывода BlendMask не увеличивается с количеством прогнозов, как у детектора второго порядка.
- Точность и скорость BlendMask лучше, чем у Mask R-CNN, а mAP маски на 1,1 выше, чем у лучшей полностью сверточной сети сегментации экземпляров Tensor-Mask.
- Поскольку нижний модуль может одновременно сегментировать несколько объектов, BlendMask можно использовать непосредственно для сегментации панорамы.
- Выход маски Mask R-CNN фиксируется как
, выходной пиксель маски BlendMask может быть очень большим и не ограничивается FPN.
- BlendMask универсален и гибок и может использоваться в других задачах распознавания на уровне экземпляра, таких как обнаружение ключевых точек, с небольшими изменениями.
Our methods
Overall pipeline
BlendMask включает в себя сеть обнаружения и ветвь маски. Ветвь маски состоит из 3 частей. Нижний модуль используется для прогнозирования карт оценок, верхний слой используется для прогнозирования внимания экземпляров, а модуль блендера используется для интеграции оценок и внимания. общая архитектура показана на рисунке 2.
- Bottom module
Карты очков, предсказанные нижним модулем, в тексте называются базой.
размер
, где N — размер партии, K — количество оснований,
размер ввода, и
- размер выходного шага карт оценок.
В документе используется декодер DeepLab V3+. Декодер содержит два входа: функцию низкого уровня и функцию высокого уровня. Функция высокого уровня подвергается повышающей дискретизации, а затем объединяется с функцией низкого уровня. Также здесь можно использовать другие структуры, а на вход нижнего модуля может быть фича бэкбона, или это может быть пирамида фич, аналогичная YOLACT или Panoptic FPN
- Top Layer
К каждой вышке обнаружения прикреплен сверточный слой для прогнозирования внимания на высшем уровне.. В YOLACT каждый уровень пирамиды (
) вывод
за
, то есть общее значение веса каждого канала, соответствующего базе. Выход бумаги
за
,
— разрешение внимания, то есть значение веса пикселя, соответствующего каждому каналу базы, с более мелкой детализацией, что является поэлементной операцией (описано далее).
Поскольку внимание представляет собой трехмерную структуру (), поэтому он может узнать некоторую информацию об уровне экземпляра, например приблизительную форму и положение объекта.
Значение относительно невелико, делаются только грубые прогнозы, обычно максимальное значение равно 14, а выходной канал равен (
) для достижения свертки. Перед отправкой в следующий модуль используйте метод постобработки FCOS, чтобы выбрать верхние блоки D bbox.
и соответствующее внимание
, конкретный метод выбора заключается в выборе достоверности классификации
Верхние квадраты D порога, порог обычно равен 0,05.
- Blender module
Модуль Blender является ключевой частью BlendMask, которая объединяет выходные данные позиционно-зависимой базы в соответствии с вниманием.
Blender module
Вход модуля блендера является базой нижнего уровняи избранные внимания на высшем уровне
и бокс
Во-первых, используйте ROIPooler Mask R-CNN для перехвата каждого bboxСоответствующая базовая область и изменение размера на фиксированный
карта характеристик размера
. В частности, используя RoIAlign с коэффициентом выборки = 1, в каждом бине выбирается только 1 точка, а Mask R-CNN выбирает 4 точки в каждом бине. При обучении gt bbox используется напрямую как предложения, а при инференсе используется напрямую результат обнаружения FCOS
размер вниманиячем
маленький, поэтому надо
интерполировать из
стать
,
Тогда правильноK-мерное внимание нормализуется softmax отдельно для создания набора карт оценок.
Тогда для каждого регионаиз
и соответствующая карта очков
из
Выполните поэлементное произведение и, наконец, добавьте результаты K, чтобы получить
На рисунке 1 визуализирована работа модуля смешивания.Вы можете увидеть характеристики внимания и базы, а также процесс слияния, который можно назвать очень ярким.
Configurations and baselines
Гиперпараметры BlendMask следующие:
-
, разрешение нижнего уровня RoI
-
, разрешение предсказания верхнего уровня
-
, количество баз (каналов)
- Вход нижнего модуля может быть функцией магистральной сети или FPN.
- Метод выборки базы может быть ближайшим соседом или билинейным объединением.
- Метод интерполяции для внимания верхнего уровня может быть ближайшим соседом или билинейной выборкой.
Сокращения для документовДля представления модели магистральные признаки C3 и C5 используются в качестве входных данных нижнего модуля, внимание верхнего уровня использует интерполяцию ближайшего соседа, а нижний уровень использует билинейную интерполяцию, которая согласуется с RoIAlign.
Semantics encoded in learned bases and attentions
Результаты визуализации базы и внимания показаны на рисунке 3. В документе считается, что BlendMask может извлекать два вида информации о положении:
- Находится ли пиксель на объекте (семантические маски)
- Находится ли пиксель в определенной части объекта (функции, зависящие от положения), например, в верхнем левом углу, в нижнем правом углу.
Красная и синяя базы определяют верхнюю правую и нижнюю левую части цели соответственно, желтая база определяет точки с высокой вероятностью на цели (семантическая маска), а зеленая база активирует границу объекта. -чувствительные функции помогают выполнять сегментацию на уровне экземпляра, а семантическая маска может дополнять чувствительные к положению, делая конечный результат более плавным. Из-за изучения более точных функций BlendMask использует гораздо меньшую базовую широту, чем YOLACT и FCIS (4 против 32 против 49).
Experiment
Эксперимент по абляции
- Merging methods: Blender vs. YOLACT vs. FCIS
Статья превращает blender в модель слияния двух других алгоритмов для экспериментов.Как видно из таблицы 1, метод слияния Blender лучше, чем два других алгоритма.
- Top and bottom resolutions
Как видно из таблицы 2, с увеличением разрешения точность становится все выше и выше.Чтобы сохранить эффективность затрат, отношение R/M сохраняется выше 4. В целом, время вывода относительно стабильный.
- Number of bases
Из таблицы 3 видно, что K=4 является оптимальным
- Bottom feature locations: backbone vs. FPN
Как видно из рисунка 4, использование функций FPN в качестве входных данных нижнего модуля не только повышает эффективность, но и ускоряет время вывода.
- Interpolation method: nearest vs. bilinear
Билинейный на 0,2 AP выше, чем у ближайшего соседа при интерполяции внимания верхнего уровня.
При интерполяции карт оценок нижнего уровня билинейность на 2AP выше, чем у ближайшего соседа
- Other improvements
В статье также проводились другие эксперименты по улучшению сетевого эффекта.Хотя эти приемы в определенной степени улучшили сеть, они не были добавлены в окончательную сеть.
Main result
- Quantitative results
Судя по результатам, BlendMask лучше текущего алгоритма сегментации экземпляров с точки зрения эффекта и скорости, но один момент заключается в том, что когда R-50 не использует мультимасштаб, эффект BlendMask хуже, чем у Mask R-CNN.
- Real-time setting
Для сравнения с YOLACT в статье преобразована компактная версия BlendMask-RT: 1) Уменьшено количество сверток прогнозирующей головы 2) Объединить классификационную башню и коробчатую башню 3) Использовать Proto-FPN и удалить P7. Судя по результатам, BlendMask-RT на 7 мс быстрее и на 3,3 AP выше, чем YOLACT.
- Qualitative results
Результаты визуализации представлены на рисунке 4. Видно, что эффект BlendMask лучше, чем у Mask R-CNN, поскольку разрешение маски BlendMask составляет 56, а у Mask R-CNN — всего 28. трудно различить соседние экземпляры, а у BlendMask такой проблемы нет
Discussions
- Comparison with Mask R-CNN
Структура BlendMask аналогична Mask R-CNN.Он ускоряется за счет удаления чувствительной к положению карты признаков и повторного извлечения признаков маски, а также заменяет исходный сложный глобальный расчет признаков блендером, управляемым вниманием.
Еще одним преимуществом BlendMask является то, что он создает высококачественные маски, а выходное разрешение не ограничивается сэмплированием верхнего уровня. Для Mask R-CNN увеличение разрешения увеличит время расчета головы, и необходимо увеличить глубину головы, чтобы извлечь точные признаки маски. Кроме того, время вывода Mask R-CNN будет увеличиваться по мере увеличения количества блоков, что неблагоприятно для вычислений в реальном времени.
Наконец, модуль блендера очень гибок, потому что прогнозирование внимания экземпляра верхнего уровня имеет только один сверточный слой, который почти бесплатно можно добавить к другим алгоритмам обнаружения.
- Panoptic Segmentation
BlendMask может выполнять задачи панорамной сегментации, используя ветвь семантической сегментации Panoptic-FPN. Судя по результатам, BlendMask работает лучше
Суммировать
BlendMask объединяет семантическую информацию верхнего и нижнего уровня с помощью более разумного модуля блендера для извлечения более точных функций сегментации экземпляров.Эта модель объединяет структуру различных превосходных алгоритмов, таких как YOLACT, FOCS, Mask R-CNN, сравнение сложно, но это имеет большое справочное значение. Модель BlendMask очень оптимизирована, эффект современный, скорость вывода не низкая, максимальная точность может достигать 41,3 AP, производительность и скорость версии BlendMask-RT в реальном времени составляют 34,2 мАд. и 25FPS соответственно, а эксперименты в статье сделаны хорошо, стоит почитать
Справочное содержание
- Обучение чтению на бумаге — (DeeplabV3+) кодировщик-декодер с Atrous Separable Convolution
- Калифорнийский университет предложил: алгоритм сегментации экземпляров в реальном времени YOLACT, до 33 FPS/30mAP! Теперь с открытым исходным кодом!
- FCOS - очень хороший метод обнаружения целей без якоря.
Если эта статья была вам полезна, ставьте лайк или смотрите~ Для получения дополнительной информации, пожалуйста, обратите внимание на личный публичный аккаунт WeChat [Примечания по разработке алгоритмов Xiaofei].