Многоэтапное (двухэтапное) обнаружение объектов

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

Одна ветвь детекторов объектов основана на многоэтапных моделях. В результате работы R-CNN одна модель используется для выделения областей объектов, а вторая модель используется для классификации и дальнейшего уточнения локализации объекта. Такие методы, как известно, являются относительно медленными, но очень мощными, но недавний прогресс, такой как совместное использование функций, улучшил двухступенчатые детекторы, чтобы иметь такую ​​же вычислительную стоимость, что и одноступенчатые детекторы. Эти работы сильно зависят от предыдущих работ и в основном основаны на предыдущем конвейере в качестве основы. Поэтому важно понимать все основные алгоритмы в двухкаскадных детекторах.

Выбор статей для этого поста в основном основан на опросе[8].

R-CNN [1]

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

  1. Генерировать предложения регионов: модель должна рисовать кандидатов объектов на изображении, независимо от категории.
  2. Второй этап — это полностью сверточная нейронная сеть, которая вычисляет признаки из каждой области-кандидата.
  3. Заключительный этап — это полносвязный слой, представленный в документе как SVM.

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

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

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

Авторы также используют классификатор ограничивающей рамки, обученный для дальнейшего уточнения оценки ограничивающей рамки, сделанной путем сегментации. Другая полносвязная сеть обучена вводить карты объектов и смещения ограничивающей рамки регрессии в 4 кортежах (r, c, h, w), представляющих относительные переводы и коэффициенты масштабирования ширины/высоты в логарифмическом масштабе. Этот метод показал повышение производительности в исследовании абляции как R-CNN BB.

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

Поскольку домен изображений изменяется на изображения искаженных окон, модель классификатора дополнительно обучается на искаженных изображениях и новых метках. При обучении классификатора регионы с >0,5 IoU по отношению к блоку наземной истины (GT) считаются классом и обучаются выводить класс блока GT. Если блок не перекрывается значительно с каким-либо блоком GT или когда область имеет ‹0,5 IoU с каждым блоком, классификатор должен классифицировать регион в фоновом классе. Чтобы устранить потенциальный дисбаланс классов, выбираются 32 положительных региона и 96 фоновых регионов, чтобы сформировать мини-партию размером 128.

В то время как регионы с >0,5 IoU считаются полностью перекрывающимися, в документе рассматриваются регионы с 0,3‹IoU‹0,5 как частично перекрывающиеся. Эти случаи обрабатываются особым образом, предоставляя смешанную метку класса фона и класса GT.

Превосходство производительности R-CNN по сравнению с другими методами обусловлено идеей выполнять выборочный поиск в стиле «снизу вверх», а также с использованием CNN для локализации объектов и методов, используемых при точной настройке сети на данных обнаружения объектов. Эта работа сочетает в себе работы из классического CV и глубокого обучения для улучшения обнаружения объектов. Но R-CNN требует очень много времени, потому что он применяет CNN примерно к 2000 деформированным областям выборочного поиска.

РЕЗЮМЕ

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

SPP-сеть[2]

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

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

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

Хотя уровень SPP не был предложен авторами, они были первыми, кто рассмотрел возможность использования слоев SPP в CNN. СПП обладают следующими свойствами:

  1. Генерирует вывод фиксированной длины независимо от размера ввода
  2. Известно, что он устойчив к деформации объекта (регуляризация)
  3. Может извлекать информацию из различных масштабов (разрешений)

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

Конвейер обнаружения объектов SPP-Net показан на рисунке выше. CNN выполняется один раз на полном изображении, и выходные признаки CNN обрезаются на основе областей, обнаруженных с помощью выборочного поиска. SPP применяется к каждой культуре, и класс прогнозируется на основе выходных данных слоя SPP. Таким образом, сверточные слои применяются к изображению только один раз, и применяются только более светлые слои FC, соответствующие количеству обнаруженных областей.

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

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

РЕЗЮМЕ

  • Предлагает применить Spatial Pyramid Pooling для вывода объектов фиксированной длины для произвольных входных размеров.
  • Улучшает процедуру обучения/вывода для обработки, чтобы сократить количество прямых проходов с одного прохода для каждой области (~ 2000 областей на изображение) до одного прямого прохода для полного изображения.

Быстрый R-CNN[3]

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

R-CNN работают медленно, потому что для каждого предложения объекта выполняется прямой проход. В то время как SPP-Nets решили эту проблему и ускорили R-CNN в 100 раз во время тестирования, обучение представляет собой многоэтапный процесс, требующий множества шагов интенсивных вычислений, которые ускоряются только в 3 раза по сравнению с R-CNN. Кроме того, фиксированные слои свертки накладывают ограничения на точность сети.

На рисунке выше показан конвейер Fast R-CNN. CNN обрабатывает изображение, и карта объектов обрезается по предложению объекта. Затем слой объединения области интереса (RoI) извлекает вектор фиксированной длины, который затем обрабатывается через полносвязные сети для прогнозирования вероятностей классов и уточнения ограничивающей рамки.

Уровень пула RoI является частным случаем уровня SPP с одним уровнем пирамиды. Окно h × w RoI разделено на сетку H × W с размером каждой h/H × w/W, максимальное объединение применяется к каждой ячейке сетки. Выход всегда представляет собой вектор в форме H × W. Процесс Fast R-CNN очень похож на конвейер SPP-Net, только с небольшими изменениями.

Ранее в сетях SPP обратное распространение через слои свертки было неэффективным, поскольку принимающее поле потенциально охватывает все изображение, которое очень велико. Fast R-CNN решает эту проблему, одновременно обучая несколько образцов области интереса из одного изображения в виде мини-пакета. Функциями можно делиться во время обучения, что ускоряет обучение и избавляет от функций кэширования. Этот трюк называется иерархическая выборка. Кроме того, Fast R-CNN совместно оптимизирует регрессоры классификатора и ограничительной рамки с потерей многозадачности вместо обучения по отдельности.

Также внесены некоторые дополнительные улучшения в алгоритмы R-CNN. Например, Fast R-CNN использует надежную потерю L1 вместо потери L2 для регрессии. Также есть изменения в гиперпараметрах. В документе также сочетаются методы R-CNN и SPP-Net. Подробные пояснения приведены в статье. Fast R-CNN смог достичь точности SOTA, будучи на несколько порядков быстрее как при обучении, так и при тестировании.

РЕЗЮМЕ

  • Изменяет SPP на объединение RoI
  • Эффективное обучение за счет выборки нескольких фрагментов из одного изображения — только один проход вперед/назад на слоях свертки.
  • -› Включено обучение экстракторов функций свертки с помощью обратного распространения.

Быстрее R-CNN[4]

В документе указывается, что этап предложения объектов является вычислительным узким местом для обнаружения объектов в реальном времени. В качестве решения Faster R-CNN реализует сети региональных предложений (RPN), которые совместно используют слои свертки с сетью извлечения признаков, внося предельные затраты на вычисление предложений объектов. Конвейер совместим с Fast R-CNN, за исключением того, что предложение объекта делается через обученный RPN, как показано на рисунке ниже.

Модель RPN получает карту объектов, вычисленную экстрактором объектов, и выводит список предложений объектов, сдвигая небольшую CNN на карте объектов. В каждом месте скользящего окна сеть предсказывает предложения объектов для k эталонных блоков (якорей), каждое предложение объекта состоит из 4 координат и оценки, которая оценивает вероятность объекта. Модель RPN описана на рисунке ниже.

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

При обучении модели RPN каждому якорю присваивается бинарная метка на основе IoU с ограничивающей рамкой достоверности. Метки могут быть положительными, отрицательными или нейтральными в зависимости от IoU с полем достоверности. Модель RPN обучается на оценках оценок и координат. В статье обсуждаются три способа совместного обучения двух моделей с помощью градиентного спуска. В документе сеть обучается с использованием альтернативного обучения, при котором сначала обучается RPN, а предложения, вычисленные в процессе, используются для обучения Fast R-CNN.

РЕЗЮМЕ

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

Сети функциональных пирамид (FPN) [5]

Пирамиды характеристических изображений (рисунок а) обеспечивают многомасштабное представление функций, которое может быть удобно при обнаружении объектов, поддерживая инвариантность масштаба. Модель должна уметь определять все масштабы объектов на изображении, а изменение слоев пирамиды может легко компенсировать дисперсию масштабов объектов. Но очевидно, что для вычисления признаков нескольких уровней требуется значительно больше времени, и он не используется в конвейерах, таких как Fast/Faster R-CNN (рисунок b).

Сверточные нейронные сети по своей сути вычисляют многомасштабные представления признаков, поскольку каждый слой иерархически вычисляет карты признаков разного разрешения. Однако предыдущие работы, в которых использовалось иерархическое свойство CNN для создания пирамиды изображений с небольшими вычислениями (рисунок c), были неполными. Проблема сопоставления промежуточных признаков CNN заключается в том, что признаки естественным образом передают различную семантику в зависимости от глубины сети. Чтобы в полной мере использовать CNN для многомасштабных представлений признаков, важно, чтобы слои имели сильную семантику во всех масштабах.

Предлагаемый FPN (рисунок d) описывается как

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

Разработанная для предоставления богатой семантики функциям с высоким разрешением, FPN представляет собой архитектуру, подобную U-Net. Путь снизу вверх (красный) — это CNN с прямой связью. Каждое разрешение представлено в виде стадии, и для каждой стадии определен один уровень пирамиды. Путь сверху вниз (синий) создает объекты с более высоким разрешением за счет повышающей дискретизации семантически более сильных карт объектов с более высоких уровней пирамиды. Интуитивно понятно, что большее количество операций может улучшить семантику карт объектов с любым масштабом, предоставляя богатые многомасштабные функции. Функции дополнительно улучшаются с использованием функций восходящего пути, проецируемых через боковые связи.

Конвейер FPN предоставляет общее решение для создания многомасштабных карт объектов с богатым семантическим содержанием. При применении к конвейеру обнаружения объектов Faster R-CNN архитектура FPN применяется как в сети RPN для создания предложений ограничительной рамки, так и в магистрали классификатора на основе региона Fast R-CNN. FPN адаптируется к RPN путем замены магистральной сети и подачи выходных данных FPN вместо одной карты объектов. При применении якорей мы применяем каждую шкалу якорей на разных уровнях входа пирамиды. например Якоря размером {32² , 64² , 128² , 256² , 512²} для карты объектов {P2, P3, P4, P5, P6}. Сеть обнаружения Faster R-CNN применяется к одному из списков карт объектов, определяемых в соответствии с размером ограничивающей рамки.

РЕЗЮМЕ

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

Маска R-CNN[6]

Mask R-CNN предлагается для решения несколько иной проблемы сегментации экземпляров. Вкратце, эта проблема представляет собой комбинацию обнаружения объектов и семантической сегментации. Как показано выше, задача направлена ​​на создание попиксельных границ, разделяющих объекты.

Mask R-CNN основан на конвейере Faster R-CNN, но имеет три выхода для каждого предложения объекта вместо двух. Дополнительная ветвь предсказывает K(# классов) бинарных масок объектов, которые сегментируют объект каждого класса на изображении. Окончательная карта сегментации экземпляра, которую нужно нарисовать, выбирается с использованием результата ветви классификации. Это называется маской decoupling и предсказанием класса.

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

ROI, представляющие собой небольшие карты объектов, вычисляются с помощью операции объединения RoI, которая жестко разделяет карту объектов на бины. Это связано с тем, что это приводит к несоответствию между областью интереса и извлеченными функциями, которые игнорируются при классификации, но могут повредить маски на уровне пикселей, на которые могут сильно повлиять небольшие переводы. Предлагается слой RoIAlign, сглаживающий жесткую нарезку RoIPool. Слой RoIAlgin представляет собой билинейную интерполяцию большой карты в карту меньшего размера. Результаты показывают значительный прирост производительности, и авторы предлагают дополнительные доказательства того, что проблема заключалась в непоследовательном выравнивании.

Чтобы обучить ветвь маски, к исходной функции потерь классификации и регрессии ограничивающей рамки добавляется термин потерь L_mask. Термин потери маски рассчитывается как кросс-энтропийная потеря между наземной картой сегментации истинности с классом k и k-й маской.

Эта статья не только обеспечила высокопроизводительную сегментацию экземпляров, но и привела к удивительным результатам в обнаружении обычных объектов ограничивающей рамки и других задачах, таких как оценка позы. В приведенной выше таблице показаны результаты обнаружения объекта ограничивающей рамки, где Mask R-CNN превосходит более быстрый R-CNN. Faster R-CNN, RoIAlgin показывает результаты, когда потеря маски не использовалась во время обучения. Результаты демонстрируют, что конвейер обнаружения объектов изучает более обобщенные, богатые функции при обучении с целью прогнозирования по маске.

РЕЗЮМЕ

  • Предлагает общую структуру для сегментации экземпляров на основе Faster R-CNN путем введения ветки по маске.
  • Исправляет слой RoIPooling, устраняя несоответствия при нарезке.
  • Простая, но замечательная бумага :)

Каскад R-CNN[7]

Если IoU превышает пороговое значение u, исправление считается примером класса или иным образом считается фоновым классом. Прогнозы ограничительной рамки становятся зашумленными при обучении на наборе данных, сделанном с использованием свободных порогов IoU, таких как u = 0,5. Но увеличение порога IoU не решает проблему из-за несоответствия оптимального IoU для обучения/вывода. Это также резко уменьшит количество положительных образцов, создав проблемы с несбалансированными данными, что показано на низкой производительности красного графика на правом графике. Различение «близких, но неправильных» ограничивающих рамок важно, но не исследовалось в предыдущей работе.

На графиках показаны три детектора, обученные пороговым значениям IoU u = 0,5, 0,6, 0,7. Как показано на рисунке слева, каждая модель лучше всего работает в своем диапазоне IoU. В документе приводится больше аргументов о том, почему одному классификатору трудно одинаково хорошо работать на всех уровнях IoU. Основываясь на предположении, что один детектор оптимален для одного уровня качества, Cascade R-CNN обучает последовательность детекторов, обученных с увеличением порогов IoU.

В Faster R-CNN (рис. а) сеть RPN предоставляет область интереса для уточнения полей и классификации. В Cascade R-CNN последовательности головок предоставляется оценка ограничивающей рамки предыдущей главы вместо RoI RPN, интерпретируемая как итеративное уточнение оценок ограничивающей рамки (рис. b, d). Теоретически вывод следующей головки должен постепенно улучшать местоположение ограничительной рамки, но обучение уточнений ограничительной рамки с небольшими пороговыми значениями IoU не улучшит IoU выше определенного значения (график c выше). Поэтому Cascade R-CNN спроектирован как каскад различных специализированныхрегрессоров (рис. d). Следовательно, более глубокие стадии могли постепенно улучшаться в сторону более высоких порогов IoU, как описано на гистограмме IoU ниже.

РЕЗЮМЕ

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

Вывод

Мы рассмотрели основные подходы к многоэтапному обнаружению объектов. Темпы прогресса в этих алгоритмах были поистине удивительными. Тривиальные алгоритмы R-CNN были медленными и неэффективными. Многие из ключевых идей передовых алгоритмов были основаны на совместном использовании (например, SPP-Net, Fast R-CNN, Mask R-CNN) и возможности градиентного обучения ранее фиксированных компонентов конвейера (например, Fast R-CNN, Faster R-CNN, Cascade R-CNN), чтобы эффективно изучать более богатые функции. Обнаружение объектов является важной областью компьютерного зрения, а многоэтапное обнаружение объектов является основным методом обнаружения объектов.

Недавней работой в области многоэтапного обнаружения объектов является DetectoRS, в котором предлагается улучшить основу сети, предложив пирамиду рекурсивных функций. Хотя в последнее время внимание к обнаружению объектов сместилось в сторону подходов, основанных на Transformer, эти статьи о многоэтапном обнаружении объектов дают отличное представление о глубоком обучении в целом. Подборка статей, представленных в этом посте, в основном основывалась на [8].

использованная литература

[1] Гиршик, Р., Донахью, Дж., Даррелл, Т., и Малик, Дж. (2014). Богатая иерархия функций для точного обнаружения объектов и семантической сегментации. В Материалы конференции IEEE по компьютерному зрению и распознаванию образов (стр. 580–587).

[2] Хе, К., Чжан, X., Рен, С., и Сунь, Дж. (2015). Объединение пространственных пирамид в глубокие сверточные сети для визуального распознавания. Транзакции IEEE по анализу шаблонов и машинному интеллекту, 37(9), 1904–1916.

[3] Гиршик, Р. (2015). Быстрый р-спн. В Материалы международной конференции IEEE по компьютерному зрению (стр. 1440–1448).

[4] Рен, С., Хе, К., Гиршик, Р., и Сан, Дж. (2015). Быстрее R-CNN: на пути к обнаружению объектов в реальном времени с сетями региональных предложений. Достижения в области нейронных систем обработки информации, 28, 91–99.

[5] Лин, Т.Ю., Доллар, П., Гиршик, Р., Хе, К., Харихаран, Б., и Белонги, С. (2017). Сети-пирамиды для обнаружения объектов. В Материалы конференции IEEE по компьютерному зрению и распознаванию образов (стр. 2117–2125).

[6] Хе, К., Гкиоксари, Г., Доллар, П., и Гиршик, Р. (2017). Маска R-CNN. В Материалы международной конференции IEEE по компьютерному зрению (стр. 2961–2969).

[7] Кай, З., и Васконселос, Н. (2018). Cascade R-CNN: погружение в высококачественное обнаружение объектов. В Материалы конференции IEEE по компьютерному зрению и распознаванию образов (стр. 6154–6162).

[8] Цзяо Л., Чжан Ф., Лю Ф., Ян С., Ли Л., Фэн З. и Цюй Р. (2019). Обзор обнаружения объектов на основе глубокого обучения. Доступ IEEE, 7, 128837–128868.