Обзор: ParseNet - Чем шире, тем лучше (семантическая сегментация)

В этой статье мы кратко рассмотрим ParseNet. Используя ParseNet, добавляется глобальный контекст и повышается точность. Это статья 2016 ICLR с более чем 200 цитированием, когда я писал эту статью. (Сик-Хо Цанг @ средний)

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

Что покрывается

  1. Модуль ParseNet
  2. Результаты

1. Модуль ParseNet

На самом деле ParseNet прост, как на рисунке выше.

На нижнем пути, на определенном сверточном слое, нормализация с использованием нормы l2 выполняется для каждого канала.

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

Причина наличия нормы L2 заключается в том, что более ранние слои обычно имеют большие значения, чем более поздние уровни.

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

И после нормализации также вводится обучаемый коэффициент масштабирования γ для каждого канала:

3. Результаты

3.1. SiftFlow

При добавлении и нормализации pool6 + fc7 + conv5 + conv4 с использованием модуля ParseNet до FCN-32s, 40,4% означает получение долговых расписок, что лучше, чем FCN-16s.

3.2. PASCAL Контекст

При добавлении и нормализации pool6 + fc7 + conv5 + conv4 + conv3 с помощью модуля ParseNet к FCN-32s получается 40,4% долговых обязательств, что лучше, чем FCN-8s.

Мы также можем видеть, что без нормализации он плохо работает для модуля ParseNet.

3.3. ПАСКАЛЬ ЛОС 2012

  • Базовый уровень ParseNet: это DeepLabv1 без CRF, 67,3%
  • ParseNet: базовый уровень ParseNet с модулем ParseNet, 69,8%
  • DeepLab-CRF-LargeFOV: DeepLabv1, 70,3%

Хотя ParseNet имеет более низкую производительность, чем DeepLab-CRF-LargeFOV, он по-прежнему конкурентоспособен и представляет собой структуру сквозного обучения, в то время как CRF - это этап постобработки, в отличие от DeepLabv1.

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

Хотя он имеет меньшую производительность, чем DeepLabv1 (с CRF), он используется в DeepLabv3 и DeepLabv3 +.

Ссылка

Мои похожие обзоры

[FCN] [DeconvNet] [DeepLabv1 и DeepLabv2]