Аннотация: Современные методы семантической сегментации сталкиваются с тремя проблемами.
Эта статья опубликована в сообществе Huawei Cloud Community "Сводка методов SOTA для набора данных семантической сегментации Cityscapes", оригинальный автор: fdafad.
1 Введение в набор данных Cityscapes
Набор данных для оценки Cityscapes — это набор данных о городских ландшафтах, который был продвинут и выпущен Mercedes-Benz в 2015 году. В настоящее время он признан одним из самых авторитетных и профессиональных наборов данных для сегментации изображений в области машинного зрения. Cityscapes содержит 5000 тщательно аннотированных изображений сцен вождения в городских условиях (2975поездов, 500значений,1525тестов). Он имеет плотные пиксельные аннотации (покрытие 97%) для 19 категорий, 8 из которых имеют сегментацию на уровне экземпляра. Названия конкретных категорий показаны в Таблице 1 ниже.
Таблица 1 Названия категорий в наборе данных Cityscapes
2 Глубокое обучение репрезентации с высоким разрешением для визуального распознавания (HRNet)
2.1 Мотивация
Текущие методы семантической сегментации сталкиваются с тремя проблемами, первая из которых заключается в том, что разрешение на основе FCN будет терять информацию при переходе от высокого к низкому разрешению.
Методы семантической сегментации требуют признаков с высоким разрешением.На рисунке 1 показаны несколько классических методов, основанных на FCN.Их общая точка состоит в том, чтобы получить карты признаков с низким разрешением через сеть, а затем восстановить до высокого разрешения с помощью повышающей дискретизации или деконволюции.
Рис. 1. Несколько классических структур, основанных на методе FCN.
Они выглядят по-разному, но основные основные идеи одинаковы. Эти методы имеют недостаток,Разрешение от высокого к низкому потеряет информацию!
2.2 Структура модели и основной код
Чтобы решить проблему в версии 2.1, команда авторов (MSRA и Китайская академия наук) предложила метод, основная идея которого заключается в следующем:Не восстанавливайте высокое разрешение, а сохраняйте разрешение". Как показано на Рисунке 2 ниже, это базовая структура сети сохранения с высоким разрешением. Структура параллельна картам признаков разного разрешения, одно и то же разрешение занимает одну ветвь, а разные разрешения занимают разные ветви. И между разными ветвями добавьте пути (косые черты в рисунок) для формирования сети высокого разрешения.
Рис. 2 Базовая структура сети высокого разрешения
Механизм на рисунке 2 состоит из 4 этапов, и каждый блок синего цвета фона является этапом. В методе SOTA используется сеть HRNet-W48, структура которой показана на рисунке 3.
Рисунок 3 Структурная схема HRNet-W48
HRNet V2-W48 должен добавить сетку ствола (белая область на рисунке 3) к началу 4 ступеней (синяя, зеленая, красная и желтая области на рисунке 3) и добавить головку сегмента к хвосту (не показано). на рисунке). Ниже приводится введение в сетку ствола, 4 этапа и головку сегмента по порядку.
(1) сетка для ствола
Сеть ствола состоит из двух узких мест, что совпадает со структурой Resnet.После двух узких мест размер входного изображения изменяется с H*W*3 на (H/4)*(W/4)*256.
(2) 4 этапа
- Компоненты на каждом этапе настроены, как показано в таблице 2 ниже, на примере hrnet_48.
- Стадии связаны через transition_layer, а стадия состоит из повторяющегося базового модуля HighResolutionModule.
- HighResolutionModule состоит из ветвей и fuse_layers в конце ветвей.
- Каждая ветвь состоит из повторяющихся базовых блоков, их количество указано в таблице 2.
Таблица 2 Таблица конфигурации модели HRNet-W48
A: переходный слой между стадиями: завершите преобразование каналов и уменьшение размера между этапами, то есть прямая линия, соединяющая различные цвета фона на рис. 3, и косая черта между этапами косой черты, указывающая без какой-либо обработки.
Рис. 4. Код построения переходного слоя между этапами
B: этап сборки
Каждый этап состоит из нескольких повторяющихся модулей HighResolutionModules, поэтому ядром этапа фреймворка является создание модуля HighResolutionModule. Создание HighResolutionModule выполняется в два этапа: создание ветки, построение fuse_layers в конце ветки.
Постройте ветвь: 4 последовательных базовых блока на рисунке 3 являются ветвью.
Рис. 5. Код сборки ветки в HighResolutionModule
Построить плавкий слой:
Синяя рамка на следующем рисунке — это пример, иллюстрирующий процесс обработки слоя плавкого слоя:
Рис. 6. Слой фьюзера
Рис. 6. Строительный код слоя fuselayer в HighResolutionModule
3 объектно-контекстных представления для семантической сегментации (OCR)
3.1 Мотивация
Вторая из трех проблем, с которыми сталкиваются современные методы семантической сегментации, заключается в том, что информация о контексте объекта не разрешается должным образом.
Контекстные признаки: каждый пиксель изображения не может быть изолирован, пиксель должен иметь определенную связь с окружающими пикселями, а взаимосвязь большого количества пикселей создает различные объекты на изображении, поэтому контекстный признак относится к пикселю. какая-то связь с окружающими пикселями. В частности, для семантической сегментации изображения при оценке того, к какой категории принадлежит пиксель в определенном положении, полностью учитывается не только значение серого пикселя, но и соседние с ним пиксели.
Текущий метод анализирует контекстную информацию, как показано ниже на рисунке 7. Например, красная точка — это точка, которая нас интересует, а окружающие зеленые точки отбираются.Можно видеть, что зеленая точка разделена на две части: одна часть принадлежит автомобилю, а другая его часть фону. Текущий метод не делает различий.
Рис. 7 Контекстная инфографика
так что нам делать? Мы находим этот объект с помощью пиксельных представлений окружающих объектов. Следовательно, нам нужно вынести пиксели, принадлежащие объекту вокруг красного пикселя, в качестве контекста, как показано на рисунке 8 ниже:
Рис. 8 Диаграмма контекстной информации области объекта
3.2 Структура модели и основной код
Основная идея: OCR предлагает новый метод реляционного контекста, который изучает взаимосвязь между пикселями и функциями области объекта на основе результатов грубой сегментации для улучшения описания характеристик пикселей. Структура модели показана на рисунке ниже.
Рис. 9 Структурная схема модели OCR
этапы расчета:
- STEP1: получить результат грубой сегментации.
Окончательный вывод FM из магистрали подключается к набору конверсионных операций, а затем вычисляются кросс-энтропийные потери.
- STEP2: получить функцию области объекта.
В сочетании с рисунком 9 видно, что на этом этапе для выполнения матричного умножения требуются две ветви тензоров:
Tensor1: представление в пикселях, последний уровень FM в магистральной сети, размерность b×c×h×w->b×c×hw
Tensor2: область мягкого объекта, результат FM после softmax, размерность b×k×h×w->b×k×hw
Выходной результат после умножения Tensor1 и tensor2 равен b×k×c, а b×k×c — это представление функции области объекта на рисунке 9.
Рис. 10 Код вычисления функции площади объекта
- STEP3: получить отношение пикселя к области.
В сочетании с рисунком 9 видно, что на этом этапе для выполнения матричного умножения требуются две ветви тензоров:
Tensor1: представление в пикселях, последний уровень FM в магистральной сети, размерность b×c×h×w->b×c×hw
Tensor2: функция области объекта в STEP2, размерность b×k×c
В коде размеры двух тензоров преобразуются, а размеры преобразованных двух тензоров составляют b×key×hw и b×key×k соответственно. Выражение отношения пиксель-область, полученное путем умножения двух тензоров, равно b×k×h×w.
- STEP4: вычисляет окончательное представление контекста объекта объекта.
В сочетании с рисунком 9 видно, что на этом этапе для выполнения матричного умножения требуются две ветви тензоров:
Tensor1: соотношение пиксел-область, полученное в STEP3, размерность b×k×h×w.
Tensor2: функция области объекта в STEP2, размерность b×k×c
После перемножения двух признаков получается признак контекста объекта, который показан красным блоком на рисунке 10.
Рис. 11. Соответствующий код в шагах 2–4
4 SegFix: независимое от модели уточнение границ для сегментации (SegFix)
4.1 Мотивация SegFix
Третьей проблемой, с которой сталкиваются методы на основе FCN, является неточная сегментация краев. На рисунке 12 ниже показан график ошибок результата сегментации. В первом столбце на рисунке 12 ниже показана карта сегментации GT, а во втором, третьем и четвертом столбцах показаны карты ошибок для DeepLabv3/HRNet/Gated-SCNN соответственно. Эти примеры взяты из набора значений Cityscapes. Мы видим, что для всех трех методов на тонкой границе много ошибок.
Рис. 12 Карта ошибок результатов сегментации модели
Основываясь на эмпирических наблюдениях, что предсказания меток для внутренних пикселей более надежны, замена первоначальных ненадежных предсказаний граничных пикселей предсказаниями для внутренних пикселей может улучшить сегментацию краев модели. Предлагается новый независимый от модели механизм постобработки для уменьшения результатов сегментации путем замены меток граничных пикселей метками, соответствующими внутренним пикселям, тем самым уменьшая граничные ошибки.
4.2 Структура модели и основной код
Из описания в 4.1 естественно возникают два вопроса: (1) как определить край и (2) как связать краевые пиксели с внутренними пикселями. Это делается посредством ветви предсказания края и ветви предсказания направления. После получения хороших прогнозов границ и направлений его можно напрямую использовать для оптимизации карты сегментации, прогнозируемой существующими методами. Итак, еще одна проблема заключается в том, как применить существующие прогнозы для направления ассоциации ребер к фактической оптимизации прогнозирования. В основном это осуществляется с помощью ветви смещения координат. Эти три ветви составляют основную структуру SegFix, структурная схема которой показана на рисунке 13.
Рис. 13 Структурная схема модели SegFix
ветвь предсказания границ:
ветвь предсказания направления:
Получите истинное значение:
**
**
Ветка смещения координат:
**
**
5 Hierarchical Multi-Scale Attention for Semantic Segmentation
5.1 Мотивация
Крупномасштабные объекты лучше сегментируются на картах объектов с меньшим разрешением, в то время как для мелкомасштабных объектов требуются мелкие детали, чтобы судить о результатах сегментации, поэтому результаты прогнозирования лучше на картах объектов с более высоким разрешением. А также в статье анализируются причины такой ситуации, как показано на следующем рисунке.
Рис. 12. Производительность сегментации объектов разного размера при разном разрешении
Поэтому в этой статье используется подход механизма внимания, позволяющий сети научиться наилучшим образом комбинировать прогнозы логического вывода в нескольких масштабах. Очень интуитивный способ — вводить изображения разного разрешения и позволить сети узнать, какое разрешение следует использовать для какого объекта.
5.2 Структура модели
Рисунок 13 Иерархический многоуровневый механизм внимания
Фаза обучения:
Механизм внимания, предложенный в этой статье, аналогичен предыдущему методу (Внимание к масштабу: сегментация семантического изображения с учетом масштаба, метод слева на рис. 13), обучению плотной маски для каждого масштаба, а затем объединению прогнозов в разных масштабах. , эти многомасштабные прогнозы получают окончательный результат путем умножения пикселей по маскам, а затем суммирования пикселей по масштабам.
В нашем иерархическом подходе изучаются относительные маски внимания между соседними шкалами вместо изучения всех масок внимания для каждого фиксированного набора шкал. При обучении сети обучаются только соседние пары масштабов. Как показано на рисунке 13 выше, учитывая набор карт признаков из более низкого масштаба, можно предсказать плотную корреляцию внимания между двумя масштабами изображения. В эксперименте, чтобы получить пару масштабированных изображений, возьмите входное изображение и уменьшите его в 2 раза, чтобы использовать масштаб 2, чтобы были входные данные в 1x и масштабированные в 0,5x, конечно, другие масштабы уменьшения масштаба также возможен выбор. Важно отметить, что сами сетевые входные данные представляют собой масштабированную версию исходного тренировочного изображения, поскольку мы дополняем его масштабированием изображения во время обучения. Это позволяет сети научиться предсказывать относительное внимание в диапазоне масштабов изображения.
Во время обучения данное входное изображение масштабируется с коэффициентом r, где r=0,5 означает понижение дискретизации в 2 раза, r=2,0 означает повышение дискретизации в 2 раза, а r=1 означает отсутствие операций. Для тренировочного процесса выберите r = 0,5 и r = 1,0. Следовательно, для обучения и логического вывода в обоих масштабах, с U в качестве билинейной операции повышающей дискретизации и ∗ и + в качестве умножения и сложения на уровне пикселей, соответственно, уравнение можно формализовать как:
Шаги расчета веса внимания α по приведенной выше формуле:
1) Получите вывод дополнений модуля OCR, то есть сплошной синий блок на рисунке 9.
2) Увидев несколько последовательных конв-бн-релу, получить вектор размерности b×1
3) После выполнения согмоида для вектора b×1 получается вес внимания α для партии.
Этап вывода:
На этапе логического вывода изученное внимание применяется иерархически для объединения N предсказаний различных масштабов. Что касается сочетания шкал, то более низкие шкалы имеют приоритет, а затем постепенно поднимаются до более высоких шкал, поскольку они содержат более глобальную контекстную информацию, а для шкал, которые необходимо улучшить, можно использовать более высокие прогнозы.
В многомасштабных рассуждениях последовательность каждой комбинации шкал: {2,0, 1,5, 1,0, 0,5}
6 бумажных ссылок
1.HRNet:АР Вест V.org/ABS/1908.07…
2. Оптическое распознавание:АР Вест V.org/ABS/1909.11…
3. Сегфикс:АР Вест V.org/ABS/2007.04…
4. Иерархический мультимасштаб Внимание:АР Вест V.org/ABS/2005.10…
Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~