Обнаружение цели | Классический алгоритм Каскадная интерпретация R-CNN

глубокое обучение

Автор начинает с переоснащения при обучении / несоответствии качества при задаче вывода детектора и предлагает каскадную R-CNN на основе многоступенчатой ​​Структура сети ясна, эффект замечательный, и ее можно легко пересадить на другие детекторы, обеспечивающие повышение производительности на 2-4%

Документ: Cascade R-CNN: изучение высококачественного обнаружения объектов

Introduction


  Большинство современных алгоритмов обнаружения целей используютu=0.5Порог IoU используется для определения положительных и отрицательных выборок, что является довольно слабым порогом, заставляющим детектор генерировать множество зашумленных bndbox. Как показано на рисунке (а), многие ящики, которые, по мнению людей, скорее всего, являются отрицательными образцами, на самом деле имеют IoU больше 0,5. Таким образом, в статье надеются разработать детектор, способный распознавать как можно меньше bndbox, содержащих как можно меньше отрицательных образцов, как показано на рисунке (b).

  В статье проводятся эксперименты на регрессоре и детекторе с разными порогами IoU. Как видно из рисунка c, детекторы с разными порогами IoU имеют разную степень оптимизации для разных уровней bndbox Чем ближе пороги обучения bndbox IoU и детектора, тем выше улучшение регрессии коробки. На рисунке d детектор (u=0,5) работает лучше, чем детектор (u=0,6) при низком уровне IoU и, наоборот, при высоком уровне IoU, а при u=0,7 из-за отсутствия обучающих положительных образцов. и Вход выборки IoU во время вывода низкий, а общая производительность детектора (u = 0,7) снижается.

  Подводя итог, можно сделать следующие выводы:

  • Обученный детектор почти всегда улучшает качество Input bndbox.
  • Один детектор IoU оптимален для bndbox, близкого к его обучающему порогу IoU.
  • Простое увеличение порога IoU во время обучения напрямую не улучшает качество детектора.

  Поэтому в статье предлагается Cascade R-CNN для решения вышеуказанных проблем. Cascade R-CNN — это последовательное многоэтапное расширение, которое использует выходные данные предыдущего этапа для следующего этапа обучения.Чем позже этап, тем выше порог IoU, используемый для создания bndbox более высокого качества. Cascade R-CNN прост и эффективен и может быть напрямую добавлен к другим детекторам типа R-CNN, что значительно повышает производительность (2-4%).

Object Detection


Faster R-CNN

  Текущая классическая двухэтапная архитектура показана на рис. 3(а). Первый этап — это подсеть H0 бокса, которая используется для генерации предварительного bndbox. Второй этап — подсеть обнаружения H1, обработанная в определенной области, с учетом конечной оценки классификации C блока bndbox и координат B блока bndbox.

Iterative BBox at inference

  Некоторые исследователи считают, что регрессии с одним прямоугольником недостаточно для получения точной информации о местоположении, поэтому для точной настройки bndbox, который представляет собой итеративную регрессию с ограничивающим прямоугольником, необходимо несколько итераций:

  Реализация показана на рисунке 3(b), все головки одинаковы, но этот метод игнорирует две проблемы:

  • Как показано на рис. 1, детектор (u=0,5) является неоптимальным для всех высококачественных bndbox, даже снижая точность bndbox с IoU выше 0,85.

  • Рисунок 2 для bndbox(x, y, w, h)Из распределения разницы между GT и GT видно из рисунка, что распределение bndbox на разных этапах существенно отличается. Если регрессор оптимален для инициализированного распределения, он должен быть неоптимальным для более поздних стадий.

  Поэтому итеративный BBox требует множества ручных операций, таких как голосование по ящикам, и результаты неуклонно улучшаются. Как правило, выполнение одного и того же регрессора на bndbox более двух раз не принесет пользы.

Integral Loss

  Поскольку bndbox часто содержит мишени и определенный фон, сложно определить, является ли текущий bndbox положительным образцом

  Обычно используемый метод заключается в оценке IoU этого и GT.Когда IoU превышает пороговое значение, ему присваивается метка соответствующего GT. Однако установка порога очень сложна. Когда порог слишком высок, положительные образцы содержат очень мало фона, но это затруднит получение достаточного количества положительных образцов для обучения. легко генерировать близкие ложные срабатывания. Поэтому сложно найти единый классификатор, который последовательно оптимален для всех IoU bndbox.

  Можно попробовать использовать набор классификаторов, как показано на рис. 3(c), для оптимизации потерь bndbox для различных качеств.U={0.5, 0.55, ..., 0.75}Это набор пороговых значений IoU, установленных в соответствии с COCO. По определению, классификатор собирается во время вывода.

  Есть две проблемы с этим решением:

  • Количество положительных выборок для разных классификаторов разное.Как показано на рисунке 4, количество положительных выборок значительно уменьшается с увеличением u, а это означает, что качественные классификаторы склонны к переобучению.
  • Во время вывода высококачественные классификаторы должны иметь дело с bndbox относительно низкого качества, для которых они не оптимизированы.

  Таким образом, интегральные потери трудно показать с высокой точностью на многих уровнях IoU. По сравнению с исходной двухступенчатой ​​архитектурой архитектурный выигрыш от интегральных потерь относительно невелик.

Cascade R-CNN

Cascaded Bounding Box Regression

  Поскольку трудно обучить регрессор, который может обрабатывать все уровни IoU, задачу регрессии можно разложить на задачу каскадной регрессии, архитектура показана на рисунке 3(d).

  T – количество ступеней каскада, каждый регрессорf_tОн оптимален для текущего каскадного входа, а bndbox постоянно совершенствуется с углублением каскада. каскадная регрессия и итеративный BBox имеют следующие отличия:

  • iteravtive BBox — это метод постобработки, а каскадная регрессия — это процесс передискретизации, который может изменить распределение bndbox.
  • каскадная регрессия согласуется в обучении и выводе, нет никакой разницы
  • Множественные регрессоры каскадной регрессии оптимальны для входного распределения соответствующего этапа, в то время как итеративный BBox оптимален только для начального распределения.

  Когда Bndbox возвращается, чтобы иметь инвариантность к масштабу и местоположению, изучение координат переносится на изучение разностей координат. Поскольку интерполяция координат обычно невелика, ее нормируют\delta'=(\delta_x-\mu_x)/\sigma, чтобы сбалансировать потерю локализации и классификации. Cascade R-CNN вычисляет это среднее/дисперсию сразу после каждого этапа.

Cascaded Detection

  Есть два основных источника вдохновения для создания Cascade R-CNN:

  • Как показано на диаграмме 1-го этапа на рисунке 4, начальное распределение bndbox в основном приходится на области низкого качества, которые неэффективны для обучения качественных классификаторов.
  • Как видно из эксперимента на рис. 1(с), все кривые выше диагонали, то есть регрессор стремится улучшить IoU bndbox.

  Поэтому для установки(x_i, b_i)Начните с каскадного регресса для создания коллекций с высоким уровнем IoU.(x'_i, b'_i). Как показано на рисунке 4, этот метод может улучшить общий уровень IoU выборки, сохраняя при этом общее количество выборок примерно на том же уровне, что дает два преимущества:

  • Не будет переобучения регрессора для определенного порога
  • Детекторы высокого уровня оптимальны для высоких порогов IoU

  Как видно из рисунка 2, по мере углубления этапа некоторые выбросы будут отфильтровываться, что обеспечивает обучение детекторов с определенным порогом

  На каждом этапе t существует независимая пара пороговu_t(u_t > u_{t-1})оптимальный классификаторh_tи регрессорf_t,b^t=f_{t-1}(x^{t-1}, b^{t-1})является выходом предыдущего этапа,\lambda=1весовой коэффициент,[y^t\ge1]индикаторная функция, представляющая фонL_{loc}Не входит в расчет. В отличие от интегральных потерь, уравнение 8 обеспечивает последовательное обучение детекторов для постепенного улучшения качества bndbox. Во время логического вывода качество bndbox последовательно улучшается, и качественные детекторы должны сталкиваться только с качественным bndbox.

Experiment


Implementation Details

  Некоторые экспериментальные настройки:

  • Все регрессоры классифицированы, и каждая ступень каскада имеет одинаковую архитектуру.
  • Всего 4 этапа, один РПН, остальныеU=\{0.5, 0.6, 0.7\}детектор. Детектор первой ступени представляет собой обычный RPN, а остальные ступени используют в качестве входных данных выход предыдущей ступени.
  • Увеличение данных с использованием вертикального отражения и размера входного изображения одного изображения

Quality Mismatch

  На рисунке 5 показаны кривые AP для трех независимо обученных детекторов.U={0.5, 0.6, 0.7}, детектор (u=0,5) лучше всего работает при низком уровне IoU, детектор (u=0,6) лучше всего работает при высоком уровне IoU, а детектор (u=0,7) в целом работает хуже. Чтобы дополнительно объяснить результаты рисунка (а), в документе добавляется GT к набору предложений, чтобы получить результаты рисунка (b).Все детекторы имеют улучшенный AP, а детектор (u = 0,7) имеет наибольшее улучшение и почти глобально оптимальна. Таким образом, можно сделать следующие два вывода:

  • u=0.5Не лучший вариант, ограниченный низкокачественным bndbox
  • Высококачественный детектор, высококачественный вход bndbox

  Кроме того, на рис. 5(а) сравниваются характеристики детектора, когда в качестве входного используется выход каскада Cascade R-CNN. Когда качество входного bndbox улучшается, детектор значительно улучшается

  На рис. 6 сравниваются характеристики каждого каскадного детектора на каждой ступени. После улучшения качества входных данных каждый детектор получил преимущества.Например, детектор (u=0,7) был улучшен с исходного AP=0,256 до AP=0,383. Кроме того, сравнивая рис. 6 с рис. 5(а), можно сделать вывод, что детекторы, обученные совместно каскадом, более точны, чем обученные по отдельности.

Comparison with Iterative BBox and Integral Loss

  В работе Cascade R-CNN сравнивается с итеративным BBox и интегральным детектором потерь.Итерационный BBox реализован с использованием FPN+ 3 раза подряд, а интегральный детектор потерь используетU=\{0.5, 0.6, 0.7\}глава классификации

Localization: Как показано на рис. 7(a), одиночный детектор снижает точность входных данных с высоким IoU, и когда количество регрессий регрессора к bndbox увеличивается, снижение становится более очевидным. Наоборот, каскадный регрессор становится все лучше и лучше, практически опережая итеративный BBox.

Integral Loss: На рисунке 7(b) показаны интегральные потери каждого классификатора и интегральная точность (с использованием одного и того же регрессора), классификатор (u = 0,6) работает лучше всего, в то время как интегрированный классификатор не имеет усиления.

  В таблице 1 показаны конкретные значения трех методов оптимизации и базовой точности, При низких уровнях IoU Cascade R-CNN имеет меньше преимуществ, а при высоких уровнях преимущества очень значительны.

Ablation Experiments

Stage-wise Comparison: Таблица 2 суммирует сценические характеристики. Благодаря многоступенчатому многозадачному обучению производительность 1-го этапа была значительно улучшена, в то время как 2-й этап и 3-й этап поддерживаются на относительно высоком уровне, а интегрированный классификатор имеет наилучшую производительность.

IoU Thresholds: Все головки Cascade R-CNN инициализируются с порогом u=0,5, а соответствующий bndbox используется для обучения в последующем обучении. Как видно из первой строки Таблицы 3, каскадирование может улучшить базовую производительность, что показывает важность использования разных этапов для оптимизации различных входных распределений. Вторая строка показывает, что по мере увеличения порога IoU детектор может генерировать больше качественных bndbox и уменьшать генерацию близких ложных срабатываний.

Regression Statistics: постепенно обновлять статистическую информацию о разнице координат bndbox.Из таблицы 3 видно, что обучение сети не очень чувствительно к статистике этой информации.

Number of Stages: В таблице 4 обобщается влияние количества стадий на производительность. Двухэтапный может значительно улучшить эффект базового уровня, а после добавления 4-го этапа (u=0,75), хотя производительность высокого уровня IoU и улучшается, общая производительность снижается. Поэтому трехэтапность — лучший компромисс

Comparison with the state-of-the-art

Таблица 5 сравнивает производительность Cascade R-CNN с основным одноэтапным детектором и двухэтапным детектором Из таблицы видно, что улучшение производительности Cascade R-CNN очень очевидно, и оно превосходно во всех аспектах. .

Generalization Capacity

Detection Performance: На всех базовых детекторах использование Cascade R-CNN дает улучшение на 2–4%, что показывает, что Cascade R-CNN можно широко использовать в различных архитектурах детекторов.

Parameter and Timing: Увеличение числа параметров Cascade R-CNN связано с количеством ступеней, которое линейно с головкой детектора базовой линии. Кроме того, поскольку время расчета головки детектора очень мало по сравнению с RPN, дополнительные затраты на расчет Cascade R-CNN относительно невелики.

Conclusion


  В работе предлагается качественная многоступенчатая архитектура обнаружения объектов Cascade R-CNN, решающая проблему переобучения при обучении и рассогласования IoU при выводе. Cascade R-CNN подходит для различных базовых линий детекторов, что значительно повышает производительность.

Писать нелегко, пожалуйста, не перепечатывайте без разрешения~ Для получения дополнительной информации, пожалуйста, обратите внимание на личный публичный аккаунт WeChat [Заметки по разработке алгоритмов Xiaofei]

work-life balance.