Сегодня мы собираемся обсудить метод, предложенный исследователями из четырех организаций, одним из которых является ByteDance AI Lab (известная своим приложением TikTok). Они предоставляют нам новый метод, называемый Sparse R-CNN (не путать с Sparse R-CNN, который работает с разреженными свертками в задачах трехмерного компьютерного зрения, таких как that), который обеспечивает почти самую современную производительность в обнаружении и использовании объектов. создание полностью разреженных и обучаемых ограничивающих рамок

Связанных с работой

Начнем с краткого обзора существующих методов обнаружения.

Плотный метод

Одним из широко используемых конвейеров является одноступенчатый детектор, который
непосредственно предсказывает метку и расположение якорных ящиков,
плотно покрывая пространственные положения, масштабы и соотношения сторон
за один прием. Например SSD или YOLO.

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

  1. центр ограничивающей рамки (bx, автор)
  2. ширина (bw)
  3. высота (bh)
  4. значение c соответствует классу объекта (например, автомобиль, светофор и т. д.).

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

Это плотный метод, потому что он не ищет интересные области на данном изображении, которые потенциально могут содержать объект. Вместо этого YOLO разбивает изображение на ячейки, используя сетку 19 × 19. Но в целом одноступенчатый детектор может создавать ячейки размером W × H, по одной на пиксель. Каждая ячейка отвечает за прогнозирование k ограничивающих рамок (в этом примере k выбрано как 5). Таким образом, мы получаем большое количество ограничивающих рамок Ш × В × k для одного изображения.

Плотно-разреженный метод

Существуют двухступенчатые детекторы, которые используют плотные предложения, созданные с использованием RPN, такие как предложенная бумага Faster R-CNN. Эти детекторы уже много лет доминируют в современном обнаружении объектов.

Используя RPN, он получает разреженный набор блоков предложений переднего плана из кандидатов в плотные области, а затем уточняет местоположение каждого предложения и
прогнозирует его конкретную категорию.

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

Разреженный метод

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

В рецензируемом документе использование RPN избегается и заменяется небольшим набором блоков предложений (например, 100 на изображение). Эти блоки получаются с помощью обучаемых блоков предложений и функций предложения в сети. Формальный предсказывает 4 значения (x, y, h, w) для каждого предложения, а последний предсказывает вектор скрытого представления длиной 256 каждого содержимого bbox. Выученные блоки предложений используются в качестве разумной статистики для последующего уточнения, а изученные особенности предложения используются для введения механизма внимания. Этот механизм очень похож на тот, что используется в бумаге DETR. Эти манипуляции выполняются внутри интерактивной головы динамического экземпляра, которую мы рассмотрим в следующем разделе.

Предлагаемые особенности модели

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

Интерактивная голова динамического экземпляра

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

Функции предложения используются как веса для сверток, на изображении выше они упомянуты как «Params». Функция RoI обрабатывается
этой сгенерированной сверткой для получения окончательной функции. Таким образом, ячейки с большей частью информации переднего плана влияют на окончательное расположение и классификацию объекта. Модуль самовнимания встроен в динамическую голову, чтобы рассуждать об отношениях между объектами и влияет на предсказания с помощью этой свертки.

Главный результат

Авторы предоставляют несколько сравнительных таблиц, показывающих производительность нового метода. Sparse R-CNN сравнивается с RetinaNet, Faster R-CNN и DETR в двух вариантах с ResNet50 и ResNet100.

Здесь мы видим, что Sparse R-CNN превосходит RetinaNet и Faster R-CNN как в R50, так и в R100, но он работает очень похоже на архитектуры на основе DETR.

По мнению авторов, модель DETR на практике представляет собой модель от плотного к разреженному, поскольку в ней используется разреженный набор объектных запросов для взаимодействия с глобальной (плотной) функцией изображения. Отсюда и новизна статьи по сравнению с DETR.

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

Покажи мне код!

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

Все подробности по реализации вы можете найти в авторском коде, основанном на кодовых базах FAIR DETR и detectron2: https://github.com/PeizeSun/SparseR-CNN

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

[1] Более быстрый R-CNN: к обнаружению объектов в реальном времени с помощью региональных сетей https://arxiv.org/abs/1506.01497

[2] Алгоритм YOLO и обнаружение объектов YOLO: Введение https://appsilon.com/object-detection-yolo-algorithm/

[3] Sparse R-CNN: Сквозное обнаружение объектов с обучаемыми предложениями https://arxiv.org/abs/2011.12450