Анкер Faster RCNN

10

В статье Faster RCNN, когда речь идет об привязке, что они подразумевают под использованием «пирамид справочных блоков» и как это делается? Означает ли это, что в каждой из опорных точек W * H * k создается ограничивающий прямоугольник?

Где W = ширина, H = высота и k = количество соотношений сторон * количество шкал

ссылка на статью: https://arxiv.org/abs/1506.01497

BadProgrammer
источник
Это очень хороший вопрос.
Майкл Р. Черник

Ответы:

10

Якоря объяснил

Якоря

В настоящее время, игнорируя причудливый термин «пирамиды опорных блоков», якоря - это не что иное, как прямоугольники фиксированного размера, которые нужно подавать в сеть предложений по регионам. Анкеры определены над последней сверточной картой признака, то есть есть (ЧАСееaTUремaп*WееaTUремaп)*(К)из них, но они соответствуют изображению. Затем для каждого якоря RPN прогнозирует вероятность содержания объекта в целом и четырех координат коррекции для перемещения и изменения размера якоря в нужное положение. Но какое отношение геометрия якорей имеет к RPN?

Якоря фактически появляются в функции потери

При обучении RPN сначала метка двоичного класса назначается каждому якору. Якорям с пересечением через объединение ( IoU ), перекрывающимся с прямоугольником заземления, превышающим определенный порог, присваивается положительная метка (аналогично якорям с IoU, меньшим, чем данный порог, будет присваиваться отрицательное значение). Эти метки также используются для вычисления функции потерь:

Функция потери RPN

является выходом классификационного заголовка RPN, который определяет вероятность того, что якорь будет содержать объект. Для якорей, помеченных как Отрицательные, при регрессии не происходит никаких потерь - p , метка истинности основания равна нулю. Другими словами, сеть не заботится о выведенных координатах для отрицательных якорей и рада, если она правильно их классифицирует. В случае положительной привязки потеря регрессии учитывается. t - выходной сигнал регрессионной головки RPN, вектор, представляющий 4 параметризованные координаты прогнозируемой ограничительной рамки. Параметризация зависит отгеометрии якоряи выглядит следующим образом:пп*T

введите описание изображения здесь

Икс,Y,вес,Икс,Иксa,Икс*Y,вес,час

Кроме того, якоря без меток не классифицируются и не изменяются, а RPM просто выбрасывает их из вычислений. Как только работа RPN выполнена, и предложения сгенерированы, остальные очень похожи на Fast R-CNN.

Махан Фатхи
источник
@ Фати А что если у нас будет много классов? Насколько я знаю, в Fast R-CNN каждому обучающему RoI назначается один наземный класс правды. Итак, я думаю, что-то подобное происходит здесь?
thanasissdr
@ Фати Я полностью согласен с тем, что вы говорите, так что, я полагаю, вы согласны со мной. Я имею в виду, что авторы оригинальной статьи для Faster R-CNN использовали только два класса (фон / объект) для простоты, пытаясь объяснить, как работает RPN, верно? Таким образом, вместо двух классов у меня могло бы быть больше двух, и я мог бы взять известную функцию кросс-энтропийной потери, верно?
thanasissdr
@thanasissdr Основная идея Faster R-CNN заключалась в том, что «когда нейронные сети настолько хороши во всем остальном, почему бы не использовать их и для региональных предложений?». Сравнивая Fast R-CNN со стандартным R-CNN, единственное отличие состоит в том, что предложения RoI, которые снова делаются с использованием тех же самых старых методов, например, SelectiveSearch или EdgeBoxes, отображаются из необработанного изображения в сверточные элементы и затем передаются ФК. Таким образом, процесс прямого прохождения каждого RoI через CNN опускается.
Махан Фатхи,
В Faster R-CNN RPN учится предлагать подходящие регионы. Как только RPN сделан, остальное похоже на Fast R-CNN, и FC классифицируют и регрессируют предложения.
Махан Фатхи
@thanasissdr Да. Мы на одной странице. Я полагаю, что вы можете классифицировать в RPN, но это было бы излишним, поскольку сеть FC снова выполняет классификацию и не испытывает трудностей при отклонении нежелательных предложений. Также подумайте о конвейере, как вы собираетесь использовать результаты классификации и как они могут помочь? Моя последняя точка зрения - классификация (фон / объект) является краеугольным камнем в Faster R-CNN.
Махан Фатхи,
1

Я прочитал эту статью вчера, и, на первый взгляд, она меня тоже смутила. Перечитав, я пришел к такому выводу:

  • Последний уровень исходной сети (ZF или VGG-16) служит входом для сети предложений региона и пула RoI. В случае VGG-16 этот последний конвойный слой - это 7x7x512 (HxWxD).
  • Этот слой сопоставлен с 512-мерным слоем со 3x3слоем свертки. Размер вывода 7x7x512(если используется заполнение).
  • Этот слой отображается на 7x7x(2k+4k)(например 7x7x54) слой с 1x1извилистым слоем для каждого из kякорных блоков.

Теперь согласно рисунку 1 в статье вы можете иметь пирамиду входных изображений (те же изображения с разным масштабом), пирамиду фильтров (фильтры другого масштаба, в том же слое) или пирамиду опорных блоков. Последний относится к kякорным ящикам на последнем уровне сети предложений региона. Вместо фильтров с разными размерами, которые уложены друг на друга (средний корпус), фильтры с другим размером и соотношением сторон уложены друг на друга.

Короче говоря, для каждой точки привязки ( HxW, например 7x7) пирамиды эталонных коробок ( k, например 9) используется.

Pieter
источник
но что именно якорный ящик? Используется ли цель каждого якорного блока: в качестве входных данных для RPN для прогнозирования дельты ширины и высоты якорного ящика для каждого якорного ящика, который считается частью переднего плана?
BadProgrammer
RPN предсказывает как дельта-сдвиг местоположения переднего плана, так и оценку объекта. Последний пытается явно предсказать, является ли это фоном или передним планом (также см. Сноску 3).
Питер
Не могли бы вы объяснить, как 3x3конвой слой переводится 7x7? В прототипе написано, что отступ на последнем слое VGG16 равен 1.
Клик