ENIGMA AI
ENIGMA AI

Расскажите про архитектуру детектора объектов на изображениях на ваш выбор.

встречается 1× middle architecture

Как ответить

Расскажу про архитектуру Faster R-CNN — она была стандартом для детекции объектов несколько лет и до сих пор актуальна из-за хорошего баланса точности и скорости. Главная идея: мы не скользим окном по всем позициям, а сначала генерируем несколько тысяч кандидатов-регионов (region proposals), а потом классифицируем каждый.

Архитектура состоит из трёх частей:

  • Backbone (Feature Extractor) — обычно ResNet-50 или VGG-16. Изображение прогоняем через свёрточную сеть до последнего feature map. Для ResNet-50 это слой перед avg pooling, размер карты — H/32 x W/32 x 2048 (для входа 800x800 — 25x25x2048).
  • RPN (Region Proposal Network) — лёгкая свёрточная подсеть, которая на каждой позиции feature map оценивает 9 anchor boxes (3 масштаба × 3 соотношения сторон). RPN выдаёт два выхода: foreground/background score (2 канала) и 4 регрессионных координаты смещения для каждого anchor. После NMS (non-maximum suppression) с порогом IoU 0.7 остаётся ~2000 регионов, из них для обучения берём 256 (сэмплируем 1:1 фон/объекты).
  • RoI Head (Detector) — для каждого региона применяем RoI Pooling (или RoI Align, чтобы избавиться от квантования). Получаем фиксированный вектор 7x7xC, прогоняем через два полносвязных слоя (обычно 4096 нейронов), потом два параллельных выхода: Softmax для N+1 классов (N объектов + фон) и регрессия bounding box для каждого класса.

Ключевая инновация Faster R-CNN — объединение RPN и детектора в одной сети. Feature map для обеих веток общий, что ускоряет инференс. На обучении используем мультитаск-лосс: Lcls (логарифмическая потеря для классификации) + λ·Lreg (smooth L1 для регрессии боксов). λ обычно 10.

Из нюансов, которые стоит помнить:

  • Размер входного изображения влияет на производительность — типично 800x1333 или 600x1000.
  • Anchor scaling адаптируют под датасет: для COCO — площади 128², 256², 512²; для мелких объектов на производстве — 32², 64², 128².
  • На COCO mAP@0.5:0.95 достигает ~36% для ResNet-50, ~42% для ResNet-101.
  • Слабое место — тяжело детектировать объекты малого размера из-за глубокого backbone с большим stride.

Сейчас чаще используют одностадийные детекторы (YOLO, RetinaNet), но Faster R-CNN остаётся эталоном для случаев, где важна точность, а не FPS (например, анализ медицинских изображений).

Ключевые тезисы

  • Трёхкомпонентная архитектура: Backbone (ResNet/VGG) + RPN + RoI Head
  • RPN генерирует регионы с помощью anchor boxes на общем feature map, что ускоряет по сравнению с Selective Search
  • RoI Pooling (или Align) приводит регионы разного размера к одному вектору для классификации и регрессии боксов
  • Мультитаск-обучение: classification loss + regression loss с весовым коэффициентом λ=10
  • Проблема детекции мелких объектов из-за большого stride backbone

Что спросят дальше

  • — Чем RoI Align отличается от RoI Pooling, и в каких случаях это критично?
  • — Как ты будешь модифицировать архитектуру, чтобы улучшить детекцию объектов размером меньше 32x32 пикселя?
  • — Почему на инференсе используют NMS, а на обучении — нет? Какой порог IoU выбираешь?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение