В чем разница между «алгоритмами регрессии BB, используемыми в вариантах R-CNN», по сравнению с методами локализации «BB в YOLO»? - PullRequest
1 голос
/ 05 апреля 2019

Вопрос:

В чем разница между ограничительной рамкой (BB), создаваемой «алгоритмами регрессии BB в детекторах объектов на основе регионов» и «ограничительной рамкой в ​​детекторах одиночного выстрела»? и могут ли они использоваться взаимозаменяемо, если нет, то почему?

Понимая варианты алгоритмов R-CNN и Yolo для обнаружения объектов, я натолкнулся на два основных метода обнаружения объектов, т.е. на основе регионов (R-CNN) и на основе скользящих окон ниш (YOLO).

Оба используют разные варианты (от сложного к простому) в обоих режимах, но, в конце концов, они просто локализуют объекты на изображении с помощью ограничивающих рамок !. Я просто пытаюсь сосредоточиться на локализации (при условии, что классификация происходит!) Ниже, так как это больше относится к заданному вопросу и кратко объяснил мое понимание:

  • регион на основе

    • Здесь мы позволяем нейронной сети прогнозировать непрерывные переменные (координаты BB) и называем это регрессией.
    • Регрессия, которая определена (которая вообще не является линейной), представляет собой просто CNN или другие варианты (все слои были дифференцируемыми), выходные значения - четыре значения (?, ?, ℎ, ?), где (?, ? ) укажите значения положения левого угла и (ℎ, ?) высоту и ширину ВВ.
    • Чтобы обучить этот NN, плавная потеря L1 использовалась, чтобы узнать точный BB, штрафуя, когда выходные данные NN сильно отличаются от помеченных (?, ?, ℎ, ?) в обучающем наборе!
  • Ниша-Скользящее окно (сверточно реализовано!) На основе :

    • Сначала мы делим изображение на, скажем, 19 * 19 ячеек сетки.
    • способ, которым вы назначаете объект ячейке сетки, выбирая среднюю точку объекта, а затем назначая этот объект той ячейке сетки, которая содержит среднюю точку объекта. Таким образом, каждому объекту, даже если объекты охватывают несколько ячеек сетки, этот объект присваивается только одной из ячеек сетки 19 на 19.
    • Теперь вы берете две координаты этой ячейки сетки и вычисляете точное BB (bx, by, bh, bw) для этого объекта, используя некоторый метод, такой как
    • (bx, by, bh, bw) относительно ячейки сетки, где x & y - центральная точка, а h & w - высота точного BB, т. Е. Высота ограничивающего прямоугольника указывается в виде доли от общего ширина ячейки сетки и h & w могут быть> 1.
    • Существует несколько способов вычисления точного BB, указанных в статье.

Оба алгоритма:

  • выводит точные ограничивающие рамки.!

  • работает в контролируемых настройках обучения, они использовали маркированный набор данных, где метки хранят ограничивающие рамки (вручную пометил мой аннотатор, используя такие инструменты, как labelimg ) для каждого изображения в файле JSON / XML формат.

Я пытаюсь понять два метода локализации на более абстрактном уровне (а также имею глубокое представление об обоих методах!), Чтобы получить больше ясности:

  • чем они отличаются? &

  • почему были созданы 2, я имею в виду, каковы точки неудачи / успеха 1 на другом?.

  • и могут ли они использоваться взаимозаменяемо, если нет, то почему?

Пожалуйста, не стесняйтесь поправлять меня, если я где-то ошибаюсь, обратная связь высоко ценится! Ссылка на какой-либо конкретный раздел исследовательской работы будет более полезной!

1 Ответ

1 голос
/ 07 апреля 2019

Существенные отличия заключаются в том, что двухступенчатый Faster R-CNN-подобный более точный, а одноступенчатый YOLO / SSD-подобный более быстрый.

В двухэтапных архитектурах первый этап обычно предполагает предложение по региону, а второй - для классификации и более точной локализации. Вы можете думать о первом этапе как об одноэтапной архитектуре, когда различие состоит в том, что предложение региона отделяет только «объект» от «фона», тогда как одноэтапное различает все классы объектов. Более конкретно, на первом этапе, также в виде скользящего окна, RPN сообщает, присутствует ли объект или нет, и, если есть, - грубо указать область (ограничивающую рамку), в которой он находится. Этот регион используется на втором этапе для классификации и регрессии ограничивающего прямоугольника (для лучшей локализации), сначала объединяя соответствующие признаки из предложенного региона, а затем проходя через архитектуру, аналогичную быстрой R-CNN (которая выполняет классификацию + регрессию). .

Что касается вашего вопроса об обмене между ними - почему вы хотите это сделать? Обычно вы выбираете архитектуру в соответствии с вашими наиболее насущными потребностями (например, задержка / мощность / точность), и вы не захотите обмениваться между ними, если нет какой-то сложной идеи, которая каким-то образом вам поможет.

...