Когда я сегодня увидел YOLOv4, я был немного взволнован и взволнован. После долгого ожидания YOLOv4, наконец, появился ты
Адрес бумаги:АР Вест V.org/PDF/2004.10…
Адрес гитхаба:GitHub.com/Alex Malicious AB/Большой…
Я думаю, что автор очень аутентичен, и статья прилагается с открытым исходным кодом.Нет ничего счастливее этого!
Прежде всего, прикрепите ментальную карту резюме статьи, чтобы помочь всем лучше понять!
Ниже приводится перевод статьи.В некоторых местах перевод может быть не очень подготовлен.Вопросы исправлений и дополнений приветствуются.
(Интеллект-карту и бумажный перевод в формате PDF можно получить в публичном аккаунте [Computer Vision Alliance] в ответ на YOLOv4)
Резюме
Есть много функций, которые могут повысить точность сверточных нейронных сетей (CNN). Комбинации этих функций необходимо практически проверить на больших наборах данных, и требуется теоретическое подтверждение результатов. Некоторые функции работают только с некоторыми моделями и только с некоторыми проблемами или только с небольшими наборами данных, в то время как некоторые функции (например, пакетная нормализация и остаточные соединения) работают с большинством моделей, задач и наборов данных. Мы предполагаем, что такие общие функции включают взвешенные остаточные соединения (WRC), частичные межэтапные соединения (CSP), кросс-мини-пакетную нормализацию (CmBN), самосостязательное обучение (SAT) и активацию Mish. Мы используем следующие новые функции: WRC, CSP, CmBN, SAT, Mish Activation, Mosaic Data Augmentation, CmBN, DropBlock Regularization и CIoU Loss, а также объединяем некоторые из этих функций для достижения самых современных результатов:Использование Tesla V10 в наборе данных MS COCO обеспечивает 43,5% AP (65,7% AP50) при скорости 65 кадров в секунду в реальном времени.Ссылка на открытый исходный код:GitHub.com/Alex Malicious AB/Большой….
1. Введение
Большинство детекторов объектов на основе CNN подходят только для рекомендательных систем. Например, поиск бесплатной парковки городской камерой выполняется медленной точной моделью, а предупреждение о столкновении автомобиля связано с быстрой неточной моделью. Повышение точности детекторов объектов в режиме реального времени позволяет использовать их не только для рекомендательных систем быстрой генерации, но и для независимого управления процессами и сокращения человеческого участия. Работа детектора объектов в реальном времени на обычном графическом процессоре (GPU) позволяет запускать его по доступной цене. Самые точные современные нейронные сети не могут работать в режиме реального времени и требуют обширного обучения размером с мини-пакет с использованием массивных графических процессоров.Мы решаем такие проблемы, создавая CNN, которые работают в режиме реального времени на обычных графических процессорах и требуют только одного обычного графического процессора для этого обучения.
Основной целью этой работы является разработка быстродействующего детектора объектов в генеративной системе, оптимизированной для параллельных вычислений, вместо разработки теоретической метрики с низким уровнем вычислений (BFLOP). Мы хотим, чтобы разработанные объекты было легко обучать и использовать. Как показывают результаты YOLOv4 на рис. 1, любой, кто использует обычные графические процессоры для обучения и тестирования, может получать высококачественные и убедительные результаты обнаружения объектов в режиме реального времени. Наш вклад резюмируется следующим образом:
- Мы разрабатываем эффективную и мощную модель обнаружения объектов. Это позволяет каждому использовать графический процессор 1080Ti или 2080Ti для обучения сверхбыстрых и точных детекторов объектов.
- Мы подтверждаем влияние современных методов обнаружения «бесплатный мешок» и «специальный мешок» во время обучения детекторов.
- Мы модифицировали современные методы, чтобы сделать их более эффективными и более подходящими для обучения на одном графическом процессоре, включая CBN [89], PAN [49], SAM [85] и т. д.
2. Связанная работа
2.1 Модели обнаружения объектов
Алгоритм обнаружения объектов обычно состоит из двух частей: одна представляет собой основу, предварительно обученную в ImageNet, а другая — головную часть, используемую для прогнозирования категории объекта и ограничивающей рамки. Для детекторов, работающих на платформах GPU, магистралью может быть VGG [68], ResNet [26], ResNeXt [86] или DenseNet [30]. Для детекторов, работающих на платформах ЦП, магистралью может быть SqueezeNet [31], MobileNet [28, 66, 27, 74] или ShuffleNet [97, 53]. Для головы он обычно делится на две категории, т. е. одноуровневые детекторы объектов и двухуровневые детекторы объектов. Наиболее репрезентативными двухступенчатыми детекторами объектов являются серии R-CNN [19], включающие быстрый R-CNN [18], более быстрый R-CNN [64], R-FCN [9] и Libra R-CNN [58]. Также можно сделать двухэтапные детекторы объектов без привязки, такие как RepPoints [87]. Для одноэтапных детекторов объектов наиболее репрезентативными моделями являются YOLO [61, 62, 63], SSD [50] и RetinaNet [45]. В последние годы были разработаны безанкерные однокаскадные детекторы объектов. Такими детекторами являются CenterNet [13], CornerNet [37, 38], FCOS [78] и др. В последние годы были разработаны безанкерные однокаскадные детекторы объектов, такие как CenterNet [13], CornerNet [37, 38], FCOS [78] и др. Детекторы объектов, разработанные в последние годы, часто вставляют несколько слоев между позвоночником и головой, и эти слои обычно используются для сбора карт признаков на разных этапах. Мы можем назвать это горловиной детектора объектов. Как правило, шея состоит из нескольких восходящих путей и нескольких нисходящих путей. Сети с этим механизмом включают Feature Pyramid Network (FPN) [44], Path Aggregation Network (PAN) [49], BiFPN [77] и NAS-FPN [17]. В дополнение к вышеперечисленным моделям, некоторые исследователи сосредотачиваются на непосредственном построении новых магистральных сетей для обнаружения объектов (DetNet [43], DetNAS [7]) или новых целых моделей (SpineNet [12], HitDetector [20]) превосходящих.
В целом обычный детектор состоит из следующих частей:
- Вход: изображение, патч, пирамида изображений.
- Скелеты: VGG16 [68], ResNet-50 [26], SpineNet [12], EfficientNet-B0/B7 [75], CSPResNeXt50 [81], CSPDarknet53 [81]
- шея:
- Прочие блоки: СПП [25], АСПП [5], РФБ [47], САМ [85]
- Блоки агрегации путей: FPN [44], PAN [49], NAS-FPN [17] ], Full-connected FPN, BiFPN [77], ASFF [48], SFAM [98]
- Головы:
- Плотное предсказание (один этап):
- RPN [64], SSD [50], YOLO [61], RetinaNet [45] (на основе привязки)
- CornerNet [37], CenterNet [13], MatrixNet [60], FCOS [78] (без анкеров)
- Плотное предсказание (один этап):
- Разреженный прогноз (двухэтапный):
- Faster R-CNN [64], R-FCN [9], Mask R-CNN [23] (на основе привязки)
- RepPoints[87] (без анкора)
2.2 Bag of freebies
Как правило, традиционные детекторы объектов обучаются в автономном режиме. Поэтому исследователям всегда нравилось использовать это преимущество и разрабатывать лучшие методы обучения, которые позволяют детекторам объектов достигать большей точности без увеличения стоимости логического вывода. Эти методы, которые просто меняют стратегию обучения или просто увеличивают стоимость обучения, мы называем «халявой». Обнаружение данных часто используется методами обнаружения объектов и подходит под определение халявы.Целью увеличения данных является увеличение изменчивости входных изображений, чтобы разработанная модель обнаружения объектов была более устойчивой к изображениям, полученным из разных сред.Например, фотометрическое искажение и геометрическое искажение — два широко используемых метода дополнения данных, которые, несомненно, полезны для задач обнаружения объектов. При работе с фотометрическими искажениями мы регулируем яркость, контрастность, оттенок, насыщенность и шум изображения. Для геометрических искажений мы добавили случайное масштабирование, кадрирование, отражение и вращение.
Упомянутый выше метод увеличения данных представляет собой полную корректировку пикселей и сохраняет всю исходную информацию о пикселях в скорректированной области. Кроме того, некоторые исследователи, работающие над увеличением данных, сосредотачиваются на моделировании проблем окклюзии объектов. Они добились хороших результатов в классификации изображений и обнаружении объектов. Например, random erase [100] и CutOut [11] могут случайным образом выбрать прямоугольную область на изображении и заполнить ее случайными или дополнительными значениями нулей. Что касается пряток [69] и сетки-маски [6], они случайным образом или равномерно выбирают несколько прямоугольных областей на изображении и заменяют их всеми нулями. Если аналогичные концепции применяются к картам объектов, существуют методы DropOut [71], DropConnect [80] и DropBlock [16]. Кроме того, некоторые исследователи предложили методы для увеличения данных с использованием нескольких изображений вместе. Например, MixUp [92] использует два изображения для умножения и суммирования изображений с разными коэффициентами, а затем использует эти наложенные коэффициенты для настройки меток. Для CutMix [91] он накладывает обрезанное изображение на прямоугольную область других изображений и настраивает метки в соответствии с размером области смешивания. В дополнение к вышеупомянутым методам, GAN передачи стиля [15] также используется для увеличения данных, и это использование может эффективно уменьшить смещение текстуры, изученное CNN.
В отличие от различных методов, представленных выше, некоторые другие бесплатные методы предназначены для решения проблемы потенциально необъективного семантического распределения в наборах данных. При решении проблемы смещения семантического распределенияОчень важной проблемой является проблема дисбаланса данных между разными классами., эта проблема обычно решается с помощью сложного анализа примеров в двухэтапном конструкторе объектов [72] или онлайн-анализа сложных примеров [67]. Но методы интеллектуального анализа экземпляров не подходят для одноуровневых детекторов объектов, поскольку такие детекторы относятся к архитектуре плотного прогнозирования. Поэтому Linet и др. [45] предложили фокальную потерю для решения проблемы дисбаланса данных, которая существует среди различных категорий. Другая очень важная проблема заключается в том, что трудно выразить степень связи между различными категориями с помощью однократного представления. Это представление часто используется при реализации меток. Сглаживание меток, предложенное в [73], заключается в преобразовании жестких меток в мягкие для обучения, что может сделать модель более надежной. Чтобы получить лучшие программные метки, Исламет и др. [33] представили концепцию дистилляции знаний для разработки сети оптимизации меток.
Последний пакет подарков — это целевая функция для регрессии ограничивающей рамки.Традиционные детекторы объектов обычно используют среднеквадратичную ошибку (MSE) для прямой регрессии координат центральной точки, высоты и ширины BBox., т. е. {xcenter, ycenter, w, h}, или регрессия по верхней левой и нижней правой точкам, т. е. {xtopleft, ytopleft, xbottomright, ybottomright}.Для методов на основе привязки необходимо оценить соответствующее смещение, например {xcenterOffset, ycenterOffset, wOffset, hoffset} и {xtopleftoffset, ytopleftoffset, xbottomright toffset, ybottomright toffset}, например {xtopleftoffset, ytopleftoffset} и {xtopleftoffset, ytopleftoffset}. Однако прямая оценка значения координат каждой точки в BBox рассматривает эти точки как независимые переменные без фактического учета целостности самого объекта. Чтобы лучше справиться с этой проблемой, некоторые исследователи недавно предложили потерю IoU [90], которая учитывает покрытие прогнозируемых областей BBOX и покрытие реальных областей BBOX. Процесс расчета потерь IOU инициирует расчет четырех координатных точек BBOX путем выполнения IOU с достоверностью земли, а затем объединения сгенерированных результатов в полный код. Поскольку IOU является масштабно-инвариантным представлением, оно может решить проблему увеличения потерь с увеличением масштаба, когда традиционным методом вычисляются потери l1 или l2 для {x, y, w, h}. В последнее время поисковики улучшают потери IOU. Например, потери GIOU [65] включают в себя форму и ориентацию объекта в дополнение к зоне охвата. Они предлагают найти BBOX наименьшей площади, который может охватывать как прогнозируемый BBOX, так и фактический BBOX, и использовать этот BBOX в качестве знаменателя для замены знаменателя, первоначально использовавшегося в потерях IOU. Для потерь DIoU [99] дополнительно учитывается расстояние до центров объектов, а для потерь CIoU [99] одновременно учитывается площадь перекрытия, расстояние между центральными точками и соотношение сторон. При решении проблемы регрессии BBox Ciou может добиться большей скорости сходимости и точности.
2.3 Bag of spedials
Для тех подключаемых модулей и методов постобработки, которые добавляют лишь небольшую стоимость логического вывода, но могут значительно повысить точность обнаружения объектов, мы называем их «специальными». Как правило, эти подключаемые модули используются для улучшения определенных свойств модели, таких как расширение рецептивного поля, введение механизма внимания или расширение возможностей интеграции функций и т. д., в то время как постобработка — это метод, используемый для фильтрации прогноза. результаты модели.
Распространенными модулями, которые можно использовать для усиления рецептивного поля, являются SPP [25], ASPP [5] и RFB [47]. Модуль SPP возник из Spatial Pyramid Matching (SPM) [39], первоначальный метод SPM состоит в том, чтобы разбить карту признаков на несколько x-неравных блоков, где {1, 2, 3, ...} могут быть пространственными пирамидами, а затем извлеките функции Bag of words. SPP интегрирует SPM в CNN и использует операцию максимального пула вместо операции набора слов. Благодаря модулю SPP, предложенному Heet et al. [25] выведет одномерный вектор признаков, который невозможно применить в полностью сверточной сети (FCN). Таким образом, при разработке YOLOv3 [63] Редмон и Фархади улучшили модуль SPP как конкатенацию выходов максимального объединения с размером ядра k × k, где k = {1, 5, 9, 13} и шагом, равным 1. . При таком дизайне относительно большой пул k × kmx эффективно увеличивает восприимчивый диапазон функций магистрали. После добавления улучшенной версии модуля SPP YOLOv3-608 обновляет AP50 на 2,7% в задаче обнаружения объектов MS COCO с дополнительными вычислительными затратами на 0,5%. Операционная разница между модулем ASPP [5] и улучшенным модулем SPP в основном связана с исходным размером ядра k × k, максимальным шагом свертки, равным размеру ядра от 1 до 3 × 3, коэффициентом расширения, равным tok, и шагом, равным 1. Модуль RFB будет использовать несколько расширенных сверток k × kkernel с коэффициентом расширения, равным stok, и шагом, равным 1, чтобы получить более полный пространственный охват, чем ASPP. RFB [47] тратит всего 7% дополнительного времени вывода, чтобы улучшить AP50 SSD на MS COCO на 5,7%.
Обычно используемые модули внимания при обнаружении объектов в основном делятся на канальное внимание и точечное внимание, которые представлены сжатым возбуждением (SE) [29] и модулем пространственного внимания (SAM) [85] соответственно. Хотя модуль SE может улучшить точность TOP-1 на 1% в задаче классификации изображений Im-ageNet, он обычно увеличивает время вывода примерно на 10% на GPU, поэтому он больше подходит для использования на мобильных устройствах, хотя Модуль SE в задаче классификации изображений Im-ageNet может повысить точность TOP-1 на 1%, но обычно увеличивает время вывода примерно на 10% на графическом процессоре. Для SAM нужно всего лишь доплатить 0,1% от суммы расчета, что может повысить точность TOP-1 ResNet50-SE на 0,5% в задаче классификации изображений ImageNet. Лучше всего то, что это вообще не влияет на скорость логического вывода на графическом процессоре.
С точки зрения интеграции функций ранняя практика заключается в интеграции низкоуровневых физических функций в высокоуровневые семантические функции с использованием соединений KIP [51] или гиперколонок [22]. С ростом популярности методов многомасштабного прогнозирования, таких как нечеткие нейронные сети, было предложено множество облегченных модулей, которые объединяют различные пирамиды признаков. К модулям этого типа относятся SfAM [98], ASFF [48] и BiFPN [77]. Основная идея SfAM заключается в использовании модуля SE для выполнения взвешивания на уровне канала на многомасштабных сшитых картах объектов. ASFF использует Softmax в качестве поточечного иерархического взвешивания, а затем добавляет карты объектов разных масштабов; BiFPN использует взвешенные остаточные соединения с несколькими входами для повторного взвешивания уровней шкалы, а затем добавляет карты объектов разных масштабов.
В исследованиях глубокого обучения некоторые люди сосредотачиваются на поиске хороших функций активации. Хорошая функция активации позволяет градиентам распространяться более эффективно без чрезмерных вычислительных затрат. В 2010 году Наир и Хин-тон [56] предложили ReLU, чтобы в основном решить проблему исчезающего градиента, часто встречающуюся в традиционных функциях активации тангенса и сигмоиды. Впоследствии LReLU [54], PReLU [24], ReLU6 [28], Scale Exponential Linear Unit (SELU) [35], Swish [59], hard-Swish [27] и Mish [55] и т. д., которые имеют также были предложены методы решения проблемы исчезающего градиента. Основная цель LReLU и PReLU — решить проблему, заключающуюся в том, что градиент ReLU равен нулю, когда выход меньше нуля. Что касается ReLU6 и хард-Swish, то они специально разработаны для квантованных сетей. Для самонормализации нейронной сети для достижения этой цели предлагается функция активации SELU. Следует отметить, что и Swish, и Mishare имеют постоянно различимые активации.
Обычно используемый метод постобработки при обнаружении объектов на основе глубокого обучения — это NMS, который можно использовать для фильтрации тех BBox, которые не могут предсказать один и тот же объект, и оставлять только кандидаты BBox с более высокой скоростью отклика. Метод, который пытается улучшить NMS, согласуется с методом оптимизации целевой функции. Первоначальный метод, предложенный NMS, не учитывал контекстуальную информацию, поэтому Girshicket et al. [19] добавили показатель достоверности классификации в качестве эталона в R-CNN и выполнили жадную NMS в порядке от высокого к низкому в соответствии с порядком оценок достоверности. Для мягких систем управления сетью [1] рассматривается проблема, заключающаяся в том, что окклюзия объектов может привести к падению показателя достоверности жадной системы управления сетью с показателем IoU. Способ мышления разработчиков DIoU NMS [99] состоит в том, чтобы добавить информацию о центральном расстоянии в процесс скрининга BBox на основе softNMS. Стоит отметить, что, поскольку ни один из вышеперечисленных методов постобработки напрямую не задействует функции захваченного изображения, постобработка больше не требуется при последующей разработке методов без привязки.
3. Методология
Его основная цель — быстрая работа нейронных сетей в производственных системах и оптимизация для параллельных вычислений, а не теоретический индикатор с низким уровнем вычислений (BFLOP). Мы предлагаем два варианта нейронных сетей реального времени:
- Для GPU мы используем небольшое количество групповых (1-8) сверточных слоев: CSPResNeXt50/CSPDarknet53.
- Для VPU — мы используем сгруппированные свертки, но больше не используем блоки сжатия и возбуждения (SE) — в частности сюда входят следующие модели: EfficientNet-lite/MixNet[76]/GhostNet[21]/Mo-bileNetV3
3.1 Selection of architecture
Наша цель — ввести разрешение сети, количество сверточных слоев, количество параметров (filtersize2фильтрНайдите наилучший баланс между количеством каналов/групп и количеством выходных слоев (фильтров). Например, многочисленные исследования показали, что CSPResNext50 лучше, чем CSPDarknet53, для классификации объектов в наборе данных ILSVRC2012 (ImageNet). Однако, наоборот, CSPDarknet53 лучше, чем CSPResNext50, с точки зрения обнаружения объектов в наборе данных MS COCO.
Следующая цель — выбрать другие блоки с разных уровней магистрали для разных уровней детектора, чтобы увеличить рецептивное поле и лучший метод агрегации параметров: FPN, PAN, ASFF, BiFPN.
Лучшая эталонная модель для классификации не всегда является лучшей для детектора. По сравнению с классификаторами детекторы должны удовлетворять следующим условиям:
- Увеличенный сетевой вход для обнаружения мелких объектов
- больше слоев - чтобы получить большее рецептивное поле для покрытия увеличенного входного изображения
- Дополнительные параметры — для улучшения возможности обнаружения нескольких объектов разного размера на одном изображении.
Предполагается, что в качестве базовой может быть выбрана модель с большим рецептивным полем (3×3 сверточных слоя) и большим числом параметров.В таблице 1 показана информация CSPResNeXt50, CSPDarknet53 и Effi-cientNet B3.CSPResNext50 содержит только 16 сверточных слоев с рецептивными полями 3×3, 425×425 и 20,6 млн параметров, тогда как CSPDarknet53 содержит 29 сверточных слоев с рецептивными полями 3×3, 725×725 и 27,6 млн параметров.Это теоретическое доказательство в сочетании с нашими обширными экспериментами показывает, что нейронная сеть CSPDarknet53**Оба служат основой детектораизлучшая модель**.
Эффекты различных размеров рецептивных полей на эффект обнаружения следующие:
- Максимальный размер объекта - позволяет просматривать весь объект
- Максимальный размер сети — позволяет просматривать контекст вокруг объектов
- Превышение размера сети — увеличение связи между точками изображения и окончательная активация
мы вДобавить блок SPP на CSPDarknet53, так как он значительно увеличивает рецептивное поле, изолирует наиболее важные контекстуальные особенности и почти не замедляет работу сети.Мы используем PANET вместо FPN, используемого в YOLOv3.В качестве метода агрегирования параметров для разных уровней кости, для разных уровней детектора.
Наконец, мы выбираем магистраль CSPDarknet53, дополнительный модуль SPP, Neck агрегации путей PANET и заголовок YOLOv3 (на основе привязки) в качестве архитектуры YOLOv4.
В дальнейшем мы планируем значительно расширить наполнение пакета подарков (BoF) детектора, что теоретически может решить некоторые проблемы и повысить точность детектора, а также экспериментально проверить влияние каждой функции по очереди.
Мы не используем кросс-GPU пакетную нормализацию (CGBN или SyncBN) или дорогостоящее специализированное оборудование. Это позволяет любому воспроизвести наши последние результаты на традиционном графическом процессоре, таком как GTX 1080Ti или RTX2080Ti.
3.2 Selection of BoF and BoS
Чтобы улучшить обучение обнаружению объектов, CNN обычно используют следующие методы:
- Активация: ReLU, дырявый-ReLU, параметр-ReLU, ReLU6, SELU, Swish или Mish
- Потери регрессии ограничивающей рамки: MSE, IoU, GIoU, CIoU, DIoU
- Увеличение данных: CutOut, MixUp, CutMix
- Методы регуляризации: DropOut, DropPath [36], Spatial DropOut [79] или DropBlock.
- Нормализация сетевых активаций по среднему и дисперсии: пакетная нормализация (BN) [32], пакетная нормализация между графическими процессорами (CGBN или SyncBN) [93], нормализация отклика фильтра (FRN) [70] или пакетная нормализация между итерациями (CBN) [93]. 89]
- Перекрестные соединения: остаточные соединения, взвешенные остаточные соединения, многовходовые взвешенные остаточные соединения или частичные соединения с перекрестным этапом (CSP).
Что касается функции активации обучения,Поскольку PReLU и SELU сложнее обучать, а ReLU6 специально разработан для квантованных сетей, мы удалили указанные выше функции активации из списка кандидатов.. Среди методов реквантования люди, опубликовавшие Drop-Block, провели подробное сравнение своего метода с другими методами, и их метод регуляризации выиграл много. следовательно,Мы без колебаний выбрали DropBlock в качестве метода регуляризации.. Что касается выбора метода нормализации, syncBN не рассматривается, поскольку мы ориентируемся на стратегию обучения с использованием только одного графического процессора.
3.3 Additional improvements
Чтобы сделать разработанный детектор более подходящим для обучения на одном графическом процессоре, мы выполнили следующее.Дополнительные конструкции и улучшения:
- Мы представляем новый метод увеличения данных: мозаику и самосостязательное обучение (SAT).
- При применении генетического алгоритма мы выбираем оптимальные гиперпараметры
- Мы модифицируем некоторые существующие методы, чтобы сделать наш дизайн пригодным для эффективного обучения и обнаружения — улучшенный SAM, улучшенный PAN и нормализация мини-пакетов (CmBN).
Мозаика — это новый метод увеличения данных, который смешивает 4 обучающих изображения. Таким образом, смешиваются четыре разных контекста, а CutMix смешивает только два.
Это позволяет обнаруживать объекты вне их обычного контекста. Кроме того, пакетная нормализация вычисляет статистику активации по 4 различным изображениям на каждом слое. Это значительно снижает потребность в больших мини-партиях.
Самосостязательное обучение (SAT) также представляет собой новый метод увеличения данных, который работает в два этапа вперед-назад. На первом этапе нейронная сеть меняет исходное изображение вместо сетевых весов. Таким образом, нейронная сеть выполняет состязательную атаку на себя, изменяя исходное изображение, чтобы создать уловку, что желаемый объект не присутствует на изображении. На втором этапе нейронная сеть обучается обнаруживать объекты на модифицированном изображении в обычном режиме.
CmBN представляет собой модифицированную версию CBN, как показано на рисунке 4, определяемую как перекрестная мини-пакетная нормализация (CMBN). Это собирает статистику только между мини-пакетами в пределах одного пакета.
Мы модифицируем SAM с пространственного внимания на точечное внимание и заменяем короткие соединения PAN конкатенацией, как показано на рис. 5 и рис. 6 соответственно.
3.4 YOLOv4
В этом разделе мы подробно расскажем о YOLOv4.
Состав YOLOv4:
Использование YOLOv4:
4. Эксперименты
Мы проверяем влияние различных методов улучшения обучения на точность классификатора на наборе данных ImageNet (ILSVRC 2012 Val), а затем на наборе данных MS Coco (test-dev 2017).
4.1 Experimental setup
В эксперименте по классификации изображений ImageNet гиперпараметры по умолчанию следующие: количество шагов обучения — 8 миллионов шагов; размер пакета и размер мини-пакета — 128 и 32 соответственно; принята стратегия планирования скорости обучения с полиномиальным затуханием и начальная скорость обучения 0,1, разминка Количество шагов 1000 шагов, импульс и вес установлены на 0,9 и 0,005 соответственно. Во всех наших экспериментах с BoS используются те же гиперпараметры, что и в настройках по умолчанию, а в экспериментах с BoF мы увеличиваем количество шагов обучения на 50%. В экспериментах BoF мы проверяем методы регуляризации MixUp, CutMix, Mosaic, размытия данных и сглаживания маркеров. В экспериментах с BoS мы сравнили влияние функций активации LReLU, SWISH и MISHISH. Все эксперименты обучались с использованием графических процессоров 1080Ti или 2080Ti.
В эксперименте по обнаружению цели MS COCO гиперпараметры по умолчанию следующие: количество шагов обучения равно 500 500; принята стратегия планирования скорости обучения с уменьшением шага, начальная скорость обучения равна 0,01, а коэффициент 0,1 умножается на 400 000 шагов и 450 000 шагов соответственно. ; Затухание импульса и затухание веса установлены на 0,9 и 0,0005 соответственно. Все архитектуры используют один графический процессор для выполнения многомасштабного обучения с размером пакета 64 и размером мини-пакета 8 или 4, в зависимости от архитектуры и ограничений памяти графического процессора. За исключением эксперимента по поиску гиперпараметров с использованием генетического алгоритма, остальные эксперименты проводились с настройками по умолчанию. Генетический алгоритм обучается с потерей GIoU с использованием алгоритма YOLOv3-SPP, выполняющего поиск набора Min-Val5k в 300 эпохах. Мы проводим эксперименты с генетическим алгоритмом со скоростью обучения при поиске 0,00261, импульсом 0,949, порогом долговой расписки 0,213 для определения истинности и нормализацией потерь 0,07%. Мы проверяем большое количество алгоритмов BoF, включая устранение чувствительности сетки, увеличение данных moSAIC, пороговое значение IOU, генетические алгоритмы, сглаживание меток классов, нормализацию кросс-мини-пакетов, состязательное обучение, планировщик косинусного отжига, динамический размер мини-пакета, DropBlock, оптимизированные якоря, различные типы IOU потерь. Мы также проводили эксперименты на различных BoS, включая MISH, SPP, SAM, RFB, BiFPN и Gaus-Sian YOLO [8]. Для всех экспериментов мы используем только один графический процессор для обучения и, таким образом, не используем такие методы, как syncBN, который оптимизирует несколько графических процессоров.
4.2 Influence of different features on Classifier training
Во-первых, мы исследуем влияние различных признаков на обучение классификатора, в частности, влияние сглаживания меток класса, влияние различных методов увеличения данных, двустороннее размытие, смешивание, CutMix и Mosaic, как показано на рисунке 7, а также влияние различных Действия Аффекты, такие как Leaky-relu (по умолчанию), SWISH и MISH.
В наших экспериментах, как показано в таблице 2, точность классификатора повышается за счет введения таких функций, как: увеличение данных CutMix и Mosaic, сглаживание меток классов и активация Mish. Таким образом, наша BoF-Backbone (Bag Of Freebies) для обучения классификаторов включает в себя следующее: расширение данных CutMix и Mosaic и сглаживание меток классов. Кроме того, мы также использовали активацию MISH в качестве дополнительной опции, как показано в таблицах 2 и 3.
4.3 Influence of different features on Detector training
Дальнейшие исследования касаются влияния различных пакетов со свободными веществами (детекторы BOF) на точность обучения детектора.как показано в таблице 4. Мы значительно расширили список BOF, исследуя различные свойства, повышающие точность детектора без ущерба для FPS:
Далее мы исследуем влияние различных специализированных пакетов (детекторов BOS) на точность обучения детектора, включая PAN, RFB, SAM, Gaussian YOLO(G) и ASFF, как показано в таблице 5. В наших экспериментах детекторы работали лучше всего при использовании SPP, PAN и SAM.
4.4 Influence of different backbones and pretrained weightings on Detector training
Кроме того, мы исследуем влияние различных моделей опорной сети на точность детектора, как показано в таблице 6. Пожалуйста, обрати внимание,Модель с наилучшей точностью классификации не всегда является лучшей с точки зрения точности детектора.
Во-первых, хотя модель CSPResNeXt-50, обученная с различными функциями, имеет более высокую точность классификации по сравнению с моделью CSPDarknet53, модель CSPDarknet53 показывает более высокую точность обнаружения объектов.
Во-вторых, использование BoF и Mish для обучения классификатора CSPResNeXt50 повышает точность его классификации, но дальнейшее применение этих предварительно обученных весов для обучения детектора снижает точность детектора. Однако использование BoF и Mish для обучения классификатора CSPDarknet53 повышает точность как классификатора, так и детектора, предварительно обученного с этим взвешенным классификатором. В результате магистраль CSPDarknet53 больше подходит для детекторов, чем CSPResNeXt50.
Мы видим, что модель CSPDarknet53 обладает большей способностью повышать точность детектора за счет различных улучшений.
4.4 Influence of different mini-batch size on Detector training
Наконец, мы анализируем результаты, полученные моделями, обученными на разных размерах мини-партий, и результаты показаны в таблице 7. Из результатов, показанных в таблице 7, мы видим, что размер мини-партии мало влияет на производительность детектора после добавления стратегий обучения BoF и BoS. Этот результат показывает, что после внедрения BoF и BoS больше нет необходимости использовать для обучения дорогие графические процессоры. Другими словами, любой может использовать традиционные графические процессоры только для обучения хороших детекторов.
5. Результаты
Сравнение результатов, полученных с другими современными детекторами объектов, показано на рисунке 8. YOLOv4 превосходит самые быстрые и точные детекторы как по скорости, так и по точности.
Поскольку в разных методах для проверки времени вывода используются графические процессоры разных архитектур, мы запускаем YOLOv4 на графических процессорах широко используемых архитектур Maxwell, Pascal и VoltaArchitecture и сравниваем их с другими современными методами. В таблице 8 приведены результаты сравнения частоты кадров с использованием графического процессора Maxwell, либо GTX Titan X (Maxwell), либо графического процессора Tesla M40. В таблице 9 приведены результаты сравнения частоты кадров с использованием графического процессора Pascal, который может быть Titan X (Pascal), Titan XP, GTX 1080 Ti или Tesla P100 GPU. В таблице 10 приведены результаты сравнения частоты кадров с использованием графического процессора Volta, который может быть графическим процессором Titan Volta или Tesla V100.
6. Выводы
Мы предлагаем современные детекторы с более высокой скоростью (FPS) и точностью (MS COCO AP50...95 и AP50), чем все доступные альтернативные детекторы. Описываемый детектор можно обучить и использовать на обычных GPU с 8-16GB-VRAM, что делает возможным его широкое применение. Первоначальная концепция одноступенчатого детектора на основе якоря продемонстрировала свою реализуемость. Мы проверили большое количество функций и решили использовать некоторые из них для повышения точности наших классификаторов и детекторов. Эти функции можно использовать в качестве передового опыта для будущих исследований и разработок.
7. Благодарности
Авторы хотели бы поблагодарить Гленна Джохера за идею увеличения данных Mosaic с использованием генетического алгоритма для выбора гиперпараметров и решения проблем чувствительности сетки.GitHub.com/ultra Еще одна ICS….
Только для обмена, не представляет позицию этой официальной учетной записи, контакт с нарушением будет удален. Отчет Альянса компьютерного зрения | Публичный аккаунт CVLianMeng