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

Faster R-CNN

Faster R-CNN — это архитектура свёрточной нейронной сети для решения задачи обнаружения объектов (object detection) на изображениях, предложенная в 2015 году группой исследователей из Microsoft Research (Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun). Faster R-CNN является развитием идей предыдущих моделей семейства R-CNN (Region-based Convolutional Neural Network) и на момент публикации обеспечивала существенное ускорение работы по сравнению с предшественниками, достигая почти реального времени обработки (около 5—17 кадров в секунду на графических ускорителях того времени). Основным нововведением архитектуры стала интеграция механизма генерации регионов-кандидатов (Region Proposal Network, RPN) непосредственно в свёрточную сеть, что позволило отказаться от внешних алгоритмов селективного поиска и сделать процесс обнаружения полностью сквозным (end-to-end).

История создания

До появления Faster R-CNN задачи обнаружения объектов решались с помощью двух основных подходов. Первый, основанный на скользящем окне, требовал перебора всех возможных положений и масштабов прямоугольников на изображении, что было вычислительно затратно. Второй подход, реализованный в оригинальной R-CNN (2014), использовал метод селективного поиска (Selective Search) для генерации примерно 2000 регионов-кандидатов, которые затем классифицировались свёрточной сетью. Недостатком R-CNN была низкая скорость: каждый регион обрабатывался отдельно, и на одно изображение уходили десятки секунд.

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

Faster R-CNN, представленная на конференции NeurIPS 2015, решила эту проблему, заменив селективный поиск на лёгкую свёрточную сеть — Region Proposal Network (RPN). RPN обучается совместно с основной сетью и генерирует прямоугольные предложения (proposals) непосредственно из карт признаков. Это позволило сократить время генерации регионов с 2 секунд (селективный поиск) до 10 миллисекунд, а общее время обработки изображения — до 0,2 секунды на GPU.

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

Faster R-CNN состоит из трёх основных модулей, соединённых последовательно:

  1. Базовая свёрточная сеть (backbone) — глубокая свёрточная нейронная сеть (например, VGG-16, ResNet-50, ResNet-101), которая извлекает карту признаков (feature map) из входного изображения. Эта карта имеет меньшую пространственную размерность, чем исходное изображение (обычно в 16 или 32 раза меньше), но содержит высокоуровневые семантические признаки. Все последующие операции выполняются на этой карте, что обеспечивает вычислительную эффективность.
  1. Region Proposal Network (RPN) — небольшая свёрточная сеть, которая принимает на вход карту признаков и для каждой пространственной позиции (точки на карте) предсказывает:
  • Координаты прямоугольников-кандидатов (bounding boxes) — до k вариантов на каждую точку, где k — количество «якорей» (anchors). Якоря — это заранее заданные прямоугольники различного масштаба и соотношения сторон (например, 3 масштаба × 3 соотношения = 9 якорей). RPN предсказывает смещения относительно этих якорей.
  • Оценку «объектности» (objectness score) — вероятность того, что внутри прямоугольника находится какой-либо объект (а не фон). RPN не определяет класс объекта, а только выделяет потенциально интересные области.

После предсказаний применяется процедура подавления немаксимумов (Non-Maximum Suppression, NMS), чтобы удалить сильно перекрывающиеся прямоугольники и оставить только наиболее уверенные предложения (обычно 200—300 штук).

  1. Голова обнаружения (detection head) — модуль, который для каждого предложения от RPN выполняет:
  • RoI Pooling (Region of Interest Pooling) — операция, которая преобразует прямоугольник произвольного размера из карты признаков в фиксированный по размеру (например, 7×7) вектор признаков. Это необходимо, чтобы классификатор мог обрабатывать регионы разного размера.
  • Классификация — полносвязные слои, которые для каждого региона предсказывают вероятности принадлежности к одному из классов объектов (включая класс «фон»).
  • Уточнение координат (bounding box regression) — дополнительная регрессия, которая корректирует координаты прямоугольника, чтобы точнее обвести обнаруженный объект.

Обучение

Faster R-CNN обучается в несколько этапов или совместно (end-to-end). В оригинальной работе использовалась четырёхэтапная процедура: сначала обучалась RPN, затем голова обнаружения, потом эти шаги повторялись с инициализацией от предыдущих этапов. Позднее были предложены методы совместного обучения, где все модули оптимизируются одновременно с помощью единой функции потерь, включающей:

  • Потерю классификации для RPN (бинарная кросс-энтропия: объект vs фон).
  • Потерю регрессии для RPN (smooth L1 loss для смещений якорей).
  • Потерю классификации для головы обнаружения (многоклассовая кросс-энтропия).
  • Потерю регрессии для головы обнаружения (smooth L1 loss для уточнения координат).

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

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

  • Высокая точность — на момент появления Faster R-CNN устанавливала рекорды на эталонных наборах данных (PASCAL VOC, MS COCO). Даже по современным меркам она остаётся конкурентоспособной, особенно для задач, где требуется высокая точность локализации.
  • Сквозное обучение — вся архитектура обучается совместно, что позволяет оптимизировать все компоненты под конкретную задачу.
  • Универсальность — архитектура не привязана к конкретной базовой сети; в качестве backbone могут использоваться различные свёрточные сети (VGG, ResNet, Inception, MobileNet), что позволяет балансировать между точностью и скоростью.
  • Масштабируемость — количество якорей и параметры NMS легко настраиваются под конкретные типы объектов (например, для мелких объектов можно добавить больше якорей малого масштаба).

Недостатки

  • Скорость — хотя Faster R-CNN значительно быстрее предшественников, она уступает одноэтапным детекторам (YOLO, SSD, RetinaNet), которые обрабатывают изображение за один проход без явной генерации регионов. Для задач реального времени (30+ FPS) Faster R-CNN часто оказывается слишком медленной.
  • Сложность реализации — архитектура включает несколько компонентов, которые требуют тщательной настройки (якоря, пороги NMS, параметры RoI Pooling). Это усложняет внедрение по сравнению с более простыми моделями.
  • Чувствительность к мелким объектам — из-за многократного уменьшения пространственного разрешения в backbone сети мелкие объекты (менее 10—20 пикселей) могут быть потеряны на карте признаков, что снижает точность их обнаружения.

Применение

Faster R-CNN широко используется в различных областях компьютерного зрения:

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

Развитие и влияние

Faster R-CNN стала основой для множества последующих архитектур. В частности, она легла в основу семейства Mask R-CNN (2017), которое добавляет ветвь семантической сегментации для выделения контуров объектов на уровне пикселей. Идея RPN также была адаптирована в трёхмерных детекторах (например, PointRCNN для облаков точек) и в моделях для видео (TubeR-CNN).

Несмотря на появление более быстрых одноэтапных детекторов, Faster R-CNN остаётся популярным выбором в задачах, где точность важнее скорости, а также в качестве эталона для сравнения новых методов. Многие современные библиотеки компьютерного зрения (Detectron2, MMDetection, TensorFlow Object Detection API) включают готовые реализации Faster R-CNN с различными backbone и предобученными весами.

Источники

  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 (NeurIPS).
  2. Girshick, R. (2015). Fast R-CNN. IEEE International Conference on Computer Vision (ICCV).
  3. Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation. IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
  4. He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask R-CNN. IEEE International Conference on Computer Vision (ICCV).
  5. Lin, T.-Y., et al. (2014). Microsoft COCO: Common Objects in Context. European Conference on Computer Vision (ECCV).

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

На главную BFOmetr →