Открыть сервис

Region Proposal Network

Region Proposal Network — это тип свёрточной нейронной сети, предназначенный для генерации прямоугольных областей (предложений), которые с высокой вероятностью содержат объекты интереса на изображении. RPN является ключевым компонентом архитектуры Faster R-CNN, одной из наиболее распространённых моделей для обнаружения объектов (object detection). Основная задача RPN — заменить традиционные методы скользящего окна и селективного поиска, обеспечивая более быструю и эффективную генерацию регионов-кандидатов.

История

До появления RPN задача обнаружения объектов решалась в два этапа: сначала генерировались потенциальные области интереса (region proposals), затем для каждой из них выполнялась классификация и уточнение координат. Первые методы, такие как Selective Search (Uijlings et al., 2013) и EdgeBoxes (Zitnick & Dollár, 2014), были медленными и не могли быть обучены сквозным образом вместе с детектором. В 2015 году группа исследователей из Microsoft Research (Ren, He, Girshick, Sun) предложила архитектуру Faster R-CNN, где RPN встраивается непосредственно в сеть детекции. Это позволило сократить время генерации предложений с нескольких секунд до миллисекунд и впервые сделать полный пайплайн обнаружения объектов полностью обучаемым от начала до конца. Статья «Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks» была представлена на конференции NIPS 2015 и с тех пор стала одной из самых цитируемых в области компьютерного зрения.

Архитектура и принцип работы

RPN работает поверх карты признаков, полученной от базовой свёрточной сети (backbone), такой как VGG-16, ResNet или MobileNet. Карта признаков представляет собой уменьшенное в несколько раз изображение, где каждый пиксель соответствует некоторой пространственной области исходного кадра.

Скользящее окно и анкеры

На карте признаков применяется небольшое свёрточное окно (например, 3×3). Для каждой позиции этого окна RPN генерирует несколько анкерных боксов (anchor boxes) — заранее заданных прямоугольников различного масштаба и соотношения сторон, центрированных в этой точке. Типичный набор анкеров включает 3 масштаба (например, 128², 256², 512² пикселей) и 3 соотношения сторон (1:1, 1:2, 2:1), что даёт 9 анкеров на каждую позицию. Для карты признаков размером, например, 60×40 это означает 60×40×9 = 21 600 потенциальных предложений.

Две параллельные ветви

Каждый анкерный бокс обрабатывается двумя параллельными полносвязными слоями:

  • Ветвь классификации (cls): двухклассовый классификатор, который определяет, содержит ли анкер объект (foreground) или является фоном (background). Выход — 2k значений (k — число анкеров на позицию), где первое значение — вероятность фона, второе — объекта.
  • Ветвь регрессии (reg): регрессор, который предсказывает 4 смещения (dx, dy, dw, dh) для уточнения координат анкерного бокса относительно истинного ограничивающего прямоугольника (ground truth). Выход — 4k значений.

Обучение

RPN обучается с использованием многозадачной функции потерь, включающей:

  • Потерю классификации — кросс-энтропийная потеря для бинарной классификации (объект/фон).
  • Потерю регрессии — гладкая L1-потеря (smooth L1) для предсказанных смещений относительно истинных.

Анкеры размечаются как положительные, если их пересечение с истинным прямоугольником (IoU) превышает 0.7, и как отрицательные, если IoU меньше 0.3. Анкеры с промежуточными значениями игнорируются. Для баланса классов используется стратегия случайной выборки: из всех анкеров выбирается мини-батч (например, 256), где соотношение положительных и отрицательных образцов не превышает 1:1.

Не максимальное подавление (NMS)

После предсказания RPN генерирует множество перекрывающихся предложений. Для устранения дублирования применяется алгоритм не максимального подавления (Non-Maximum Suppression, NMS). NMS сортирует предложения по вероятности содержания объекта, затем последовательно удаляет те, чьё пересечение с более вероятным предложением превышает заданный порог (обычно 0.7). В результате остаётся, например, 2000 или 300 лучших предложений, которые передаются на следующий этап — классификацию и уточнение координат в сети-детекторе (например, Fast R-CNN).

Классификация

RPN можно классифицировать по нескольким признакам:

По способу генерации анкеров

  • Фиксированные анкеры — используются заранее заданные масштабы и соотношения сторон, как в оригинальной Faster R-CNN.
  • Адаптивные анкеры — параметры анкеров подбираются на основе статистики обучающей выборки (например, с помощью K-средних на размерах истинных прямоугольников).
  • Динамические анкеры — анкеры генерируются нерегулярно, в зависимости от содержимого изображения (например, в Guided Anchoring).

По архитектуре

  • Одноуровневая RPN — стандартная реализация с одним свёрточным окном.
  • Многоуровневая RPN — используется в Feature Pyramid Network (FPN), где RPN применяется на нескольких уровнях пирамиды признаков, что улучшает обнаружение объектов разного размера.

По типу базовой сети

  • На основе VGG — исторически первая реализация.
  • На основе ResNet — более глубокая архитектура, часто используется с FPN.
  • Лёгкие варианты — на основе MobileNet, ShuffleNet для мобильных устройств.

Применение

RPN является фундаментальным строительным блоком в современных системах обнаружения объектов. Основные области применения:

  • Автономное вождение — обнаружение пешеходов, транспортных средств, дорожных знаков на видеопотоке в реальном времени.
  • Медицинская диагностикавыделение патологических областей на рентгеновских снимках, КТ, МРТ.
  • Промышленный контроль качества — поиск дефектов на производственных линиях.
  • Видеонаблюдение и безопасность — детекция подозрительных объектов, подсчёт людей.
  • Робототехниканавигация и манипуляция объектами.
  • Системы дополненной реальности — распознавание и отслеживание объектов в кадре.

Преимущества и недостатки

Преимущества

  • Скорость: генерация предложений занимает порядка 10 миллисекунд на изображение, что в десятки раз быстрее Selective Search.
  • Сквозное обучение: RPN обучается вместе с детектором, что позволяет оптимизировать всю систему под конкретную задачу.
  • Качество предложений: RPN генерирует меньше ложных срабатываний по сравнению с классическими методами.
  • Универсальность: RPN может быть адаптирована под различные базовые архитектуры и задачи.

Недостатки

  • Зависимость от анкеров: фиксированные анкеры плохо работают для объектов с нестандартными пропорциями (например, длинные трубы, узкие столбы).
  • Вычислительная сложность: для карт признаков большого размера количество анкеров может быть очень велико (сотни тысяч), что требует значительных ресурсов памяти.
  • Дисбаланс классов: подавляющее большинство анкеров являются фоном, что требует специальных техник обучения (например, OHEM — Online Hard Example Mining).
  • Дублирование предложений: NMS может удалять полезные предложения при высоком перекрытии объектов.

Развитие и альтернативы

После появления RPN было предложено множество улучшений и альтернатив:

  • FPN (Feature Pyramid Network) — интеграция RPN с пирамидой признаков для обнаружения объектов разного масштаба.
  • Cascade RPN — каскадная структура, где несколько RPN последовательно уточняют предложения.
  • MetaAnchor — динамическая генерация анкеров на основе информации об изображении.
  • Transformer-based детекторы (DETR, Deformable DETR) — отказ от анкеров и RPN в пользу механизма внимания, однако такие модели требуют больше вычислительных ресурсов и данных для обучения.

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

Источники

  1. Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. Advances in Neural Information Processing Systems (NIPS).
  2. Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., & Belongie, S. (2017). Feature Pyramid Networks for Object Detection. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
  3. Uijlings, J. R. R., van de Sande, K. E. A., Gevers, T., & Smeulders, A. W. M. (2013). Selective Search for Object Recognition. International Journal of Computer Vision.
  4. Zitnick, C. L., & Dollár, P. (2014). Edge Boxes: Locating Object Proposals from Edges. European Conference on Computer Vision (ECCV).
  5. Girshick, R. (2015). Fast R-CNN. Proceedings of the IEEE International Conference on Computer Vision (ICCV).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →