В этой статье подробно описана структура сети YOLOv1-YOLOv9, а также итерации между каждой версией.
Сравнение YOLOv1-YOLOv8Как показано в таблице ниже:
Model | Anchor | Input | Backbone | Neck | Predict/ Train |
---|---|---|---|---|---|
YOLOv1 | Якорный ящик (7*7 сеток, 2 якоря) | resize(448*448*3): обучение — 224*224, тестирование — 448*448; | GoogLeNet (24*Conv+2*FC+reshape; Dropout для предотвращения переобучения; последний уровень использует функцию линейной активации, а остальные слои используют функции активации ReLU); | никто | IOU_Loss, нмс; сетка прогнозирует только 2 блока, и все они относятся к одной категории; полносвязный слой напрямую прогнозирует значение координаты bbox; |
YOLOv2 | Поле привязки (сетки 13*13, 5 привязок: выберите априорное поле с помощью k-средних) | изменение размера (416*416*3): 416/32=13, конечный результат заключается в том, что нечетное значение имеет фактическую центральную точку на основе исходного обучения, для которого добавляются образцы высокого разрешения 448x448 (10 эпох); тонкая настройка; | Darknet-19 (19*Conv+5*MaxPool+AvgPool+Softmax; слой FC не используется, BN и ReLU используются после каждой свертки, чтобы предотвратить переобучение (выпадение отбрасывается); предлагается сквозной слой: разделение функций с высоким разрешением. Наложение больших на функции низкого разрешения для объединения функций, что полезно для обнаружения небольших целей); | никто | IOU_Loss, нмс; сеть прогнозирует 5 блоков, каждый блок может относиться к разным категориям; прогнозирует смещение относительно блока привязки (после определенной итерации модели обучения, преобразования размера входного изображения), механизм совместного обучения; ; |
YOLOv3 | Рамка привязки (13*13 сеток, 9 привязок: три шкалы*три соотношения сторон) | resize(608*608*3) | Darknet-53 (53*Conv, BN и Leaky ReLU используются после каждого сверточного слоя для предотвращения переобучения, остаточного соединения); | FPN (многомасштабное обнаружение, объединение функций) | IOU_Loss, нмс; прогнозирование по нескольким меткам (функция классификации softmax заменена на логистический классификатор); |
YOLOv4 | якорный ящик | изменение размера (608*608*3), улучшение данных мозаики, улучшение данных обучения самоконфронтации SAT | CSPDarknet53 (модуль CSP: более богатые комбинации градиентов при сокращении вычислений, перекрестная мини-пакетная нормализация (CmBN) и активация Mish, регуляризация DropBlock (произвольное удаление большого блока нейронов), использование улучшенного механизма внимания SAM: в пространственных местоположениях добавляется вес); | SPP (сделать входные изображения разных размеров согласованными за счет максимального объединения), PANnet (изменить PAN, заменить add на concat) | CIOU_Loss, DIOU_nms; Само-противное обучение SAT: на основе исходного изображения добавьте шум и установите порог веса, чтобы нейронная сеть могла подготовиться к состязательным атакам. Сглаживание меток классов: сгладьте абсолютную метку (например: [ 0,1 ]→[0.05,0.95]), то есть результаты классификации имеют определенную степень нечеткости, что повышает способность сети противостоять переобучению; |
YOLOv5 | якорный ящик | resize(608*608*3)、Улучшение данных мозаики、Адаптивный расчет якорного ящика、Адаптивное масштабирование изображения | CSPDarknet53 (модуль CSP, BN и Leaky ReLU используются после каждого сверточного слоя для предотвращения переобучения, модуль Focus); | SPP、PAN | GIOU_Loss, DIOU_Nms; сопоставление между сетками (нахождение двух сеток, ближайших к целевой центральной точке, среди четырех сеток выше, ниже, слева и справа от текущей сетки, плюс текущая сетка, всего три сетки); |
YOLOX | никтоякорный ящик | resize(608*608*3) | Darknet-53 | SPP、FPN | CIOU_Loss, DIOU_Nms, Decoupled Head, стратегия распределения меток SimOTA; |
YOLOv6 | никтоякорный ящик | resize(640*640*3) | EfficientRep Backbone (оператор Rep) | SPP、Rep-PAN Neck | SIOU_Loss, DIOU_Nms, Efficient Decoupled Head, стратегия распределения меток SimOTA; |
YOLOv7 | якорный ящик | resize(640*640*3) | Darknet-53 (модуль CSP заменяет модуль ELAN; понижающая дискретизация становится слоем MP2; BN и SiLU используются после каждого сверточного слоя для предотвращения переобучения); | SPP、PAN | CIOU_Loss, DIOU_Nms, стратегия распределения меток SimOTA, обучение со вспомогательной головкой (за счет увеличения затрат на обучение, повышения точности без влияния на время вывода); |
YOLOv8 | никтоякорный ящик | resize(640*640*3) | Даркнет-53 (модуль C3 заменен модулем C2F) | SPP、PAN | CIOU_Loss, DFL_Loss, DIOU_Nms, стратегия распределения меток TAL, Decoupled Head; |
Основная идея серии YOLO состоит в том, чтобы преобразовать обнаружение цели в задачу регрессии, используя всю картинку в качестве входных данных сети, а через нейронную сеть получают положение ограничивающей рамки и ее категорию.
(1) Разделите изображение:YOLOВоля Разделение входного изображениядляфиксированныйразмер изсетка。
(2) Прогнозирование ограничивающей рамки и категории:для каждогосетка,YOLO предсказывает фиксированное число (обычно 5 или 3).
ограничивающая рамка. Каждая ограничивающая рамка описывается пятью основными атрибутами: положением ограничивающей рамки (координаты центра, ширина и высота) и достоверностью объекта, содержащегося в ограничивающей рамке. Кроме того, каждая ограничивающая рамка также прогнозирует класс объекта.
(3) Одиночный проход вперед:YOLOчерез сверточную нейронную сетьсеть(CNN)Сделайте одиночный пас вперед,Одновременно спрогнозируйте расположение и категории всех ограничивающих рамок. по сравнению с Другим алгоритмом обнаружения целей,Например, предлагаемый метод, основанный на скользящем окне или регионе.,YOLO имеет более высокую скорость,Потому что для завершения прогноза требуется только один прямой проход.
(4) Функция потерь:YOLOделать Использование потери многозадачностифункцияприйти на тренировкусеть。потеряфункция Включает потерю позиции、потеря доверияи Потеря категории。Измерения потерь позиций прогнозируют ограничивающие рамкиимежду реальными ограничивающими рамкамиизразница в местоположении。потеря доверияизмерить ограничительную рамкудапредсказать правильно Понятно Цель,И наказать фоновую коробку из-за уверенности. Потеря категории измеряет целевую категорию по точности прогноза.
(5) Немаксимальное подавление (Немаксимальное Suppression):в предсказанииизвнутри ограничивающей рамки,Может быть несколько перекрывающихся полей.,представляют одну и ту же цель. для Устранение лишнего из ограничивающих рамок,YOLO использует немаксимальный алгоритм подавления,Отфильтруйте лучшие ограничивающие рамки на основе достоверности и перекрытия.
детектор объектовиз Начинаем описывать структурудлятри части:Backbone, NeckиHead。На изображении ниже показан высокий уровеньизBackbone, Neck и Схема головы.
Backbone отвечает за извлечение характеристик из входного изображения.Обычно это сверточная нейроннаясеть(CNN),Обучены крупномасштабным задачам классификации изображений.,Например, ImageNet. Магистральная сеть фиксирует иерархию функций в разных масштабах.,Извлечение низкоуровневых функций (таких как края и текстуры) из более ранних слоев.,Извлекайте высокоуровневые функции (такие как части объектов и семантическую информацию) на более глубоких уровнях.
Шея – это промежуточный компонент, соединяющий позвоночник и голову.Он агрегирует и уточняет извлечение данных из магистральной сети.изособенность,Обычно он фокусируется на улучшении пространственной и семантической информации в разных масштабах. Шея может включать дополнительные сверточные слои, пирамиды признаков (FPN) или другие механизмы.,Улучшить представление функций.
Голова — последний компонент детектора объектов. Он отвечает за прогнозирование на основе функций Backbone и Neck.Обычно он состоит из одной или нескольких конкретных задач.изребеноксетькомпозиция,Выполните классификацию и позиционирование,и недавние сегментация экземпляров и оценка позы. Шея ручки головы обеспечивает из функций,для генерирует прогнозы для каждого кандидата. наконец,этап постобработки,Например, немаксимальное подавление (NMS).,Отфильтровать перекрывающиеся прогнозы,Сохраняются только обнаружения с наивысшей достоверностью.
(Бумажный адрес:https://arxiv.org/pdf/1506.02640.pdf)
До того, как был предложен YOLOv1, серия алгоритмов R-CNN доминировала в области обнаружения целей. Серия R-CNN имеет высокую точность обнаружения, но из-за двухступенчатой структуры сети скорость обнаружения не может соответствовать требованиям реального времени и подвергается критике. Чтобы выйти из этого тупика, общей тенденцией является более быстрый детектор объектов.
2016, Джозеф Redmon、Santosh Divvala、Ross Гиршик и др. предложили одноэтапный метод обнаружения целей. Он обнаруживает очень быстро, может обрабатывать 45 кадров в секунду и легко работать в режиме реального времени. Из-за высокой скорости и особого метода автор Воля назвал его для: You Only Look Однажды (таково полное название того, что мы часто называем YOLO) результаты были опубликованы на CVPR2016, что привлекло всеобщее внимание.
Основная идея YOLO состоит в том, чтобы преобразовать обнаружение цели в задачу регрессии, используя все изображение в качестве входных данных сети и только через нейронную сеть для получения положения ограничивающего прямоугольника и его категории.
Теперь кажется, что структура сети YOLOv1 очень ясна. Это традиционная одноэтапная сверточная нейронная сеть:
(1) Стратегия обнаружения
YOLOv1использоватьизда“разделяй и властвуй”из Стратегия,Воля Картинка равномерно разделена на сетки 7х7.,Каждая сетка отвечает за прогнозирование центральной точки, попадающей в сетку и цель. В более быстром R-CNN,Это получение цели из интересующей области через RPN.,Этот метод имеет высокую точность,Но нужно дополнительно обучить РПНсеть,этотникто Подозрение на усиленное обучениеизгруз。В YOLOv1,Сетка 7х7 получается делением,Эти 49 сеток эквивалентны целевой области интереса.。проходитьэтотдобрый Способ,Нам не нужно проектировать дополнительную РПНсеть,Именно это делает одноступенчатую работу YOLOv1 простой и быстрой.
Конкретный процесс реализации выглядит следующим образом:
① Разделить изображение на.
Ячейка сетки. Если центр объекта попадает в эту сетку, сеть отвечает за прогнозирование объекта.
② Каждая сетка должна предсказать B ограничивающих рамок, и каждая ограничивающая рамка должна быть предсказана.
Всего у уверенности 5 значений.
③ Каждая сетка также прогнозирует информацию о категории, записанную как категории C.
④ В целом.
Сетки: каждая сетка должна прогнозировать B ограничивающие рамки и классы C. Сетевой выход представляет собой
тензоров.
в реальном процессе,YOLOv1 делит изображение на сетки 7х7.,И каждая сетка предсказывает 2 ящика (Box1иBox2),20 категорий. Так что на самом деле,S=7,B=2,С=20. Тогда выходная форма будет следующей:
。
(2) Функция целевых потерь
Убыток состоит из трех частей,точка Неда:Потеря прогнозирования координат, потеря достоверности прогнозирования, потеря прогнозирования категории。
。
。
(1) Преимущества
(2) Ограничения
(Бумажный адрес:https://arxiv.org/pdf/1612.08242.pdf#page=4.24)
YOLOv2Joseph RedmonиAli Написал Фархадина CVPR 2017. Он включает в себя некоторые улучшения по сравнению с оригинальным YOLOиз.,Держите ту же скорость,Также более мощный,Возможность обнаружения 9000 категорий,этотнекоторыйУлучшите следующие моменты:
(1)Расположениеиметьна сверточном слоеизпакетная нормализацияУлучшенная сходимость,И сделайте регуляризатор, чтобы уменьшить переобучение;
(2) Классификатор высокого разрешения,иYOLOv1 то же самое,Они предварительно обучили Модель на ImageNet с разрешением 224x224. Однако,на этот раз,Доработали Модель 10 раз на разрешении для448x448изImageNet,Улучшена производительность при вводе с высоким разрешением;
(3) Полная свертка。Они снимают плотный слой,use использует полностью сверточную архитектуру.
(4) Используйте привязку для прогнозирования ограничивающих рамок.。ихделать Используйте набор коробок априориAnchor,Эти якоря имеют предопределенные формы.,Используется для сопоставления объекта с формой прототипа.,Как показано на рисунке 6.,Для каждой ячейки сетки определено несколько якорей.,Система прогнозирует каждый якорь, координату и категорию. Размер вывода сети пропорционален количеству якорей на ячейку сетки.
(5) Группировка измерений。Выбирайте хорошоизAnchorиметьпомощьсеть Научитесь прогнозировать точнееизограничивающая рамка。Автор тренируетсяизограничивающая рамкаруководить Понятноk-meansкластеризация,найти лучше из приора. Они выбрали пять якорей,Хороший компромисс между отзывом и сложностью.
(6) Прямое предсказание местоположения。компенсация от других прогнозовиз Различные методы,YOLOv2 следует той же философии.,Прогнозируемые координаты положения относительно ячеек сетки,сетьдля Каждый блок прогнозирует пять границ коробка, каждая граница поле имеет пять значений
,в
Эквивалентно ПК YOLOv1, окончательные координаты ограничивающего прямоугольника показаны на рисунке 7.
(7) Детализированные функции。иYOLOv1по сравнению с,YOLOv2 удаляет слой объединения,Для входного изображения 416x416из,Получите карту объектов размером 13x13из.
(8) Многомасштабное обучение。потому чтоYOLOv2Нетделать Использовать полностью связный слой,Входные данные могут быть разных размеров. Чтобы сделать YOLOv2 устойчивым к различным размерам входных данных.,Автор случайным образом тренирует Модель,Меняйте размер каждые 10 пакетов (с 320x320 на 608x608).
YOLOv2 использует Darknet-19 в качестве сети извлечения функций, и ее общая структура выглядит следующим образом:
Улучшенный YOLOv2: Darknet-19, кратко описанный следующим образом:
①. Как и в VGG, используется множество ядер свертки 3x3, и после каждого объединения количество каналов ядра свертки следующего слоя = канал вывода объединения x 2.
② После каждого слоя свертки добавляется слой BN для предварительной обработки.
③. использовать ПонятноУменьшение размерностииз Мысль,Поместите свертку 1x1из между 3x3,Используется для сжатия объектов.
④ К окончательным результатам сети добавляется глобальный средний уровень пула.
⑤ Всего используется 19 сверточных слоев и 5 слоев пула.
Для лучшего объяснения сравните Darknet-19 с сетями YOLOv1 и VGG16:
Протестировано на наборе данных VOC2007, YOLOv2 имеет точность 76,8 mAP при скорости 67 кадров в секунду и точность 78,6 м А при скорости 40 кадров в секунду; Это хороший компромисс между скоростью и точностью. На рисунке ниже показан YOLOv1 после добавления различных методов улучшения.,Обнаружение изменений производительности. Видно, что после различных методов улучшения,Точность обнаружения YOLOv2 была значительно улучшена по сравнению с исходной версией.
По сравнению с YOLOv1,Недостатки,Никакого сочетания многомасштабных функций и прогнозов.,пройти модуль(Pass-Through Использование модуля не только улучшает детализированные функции, но также оказывает определенное влияние на пространство и распределение функций, а способность обнаружения небольших целей существенно не улучшилась.
(Бумажный адрес:https://arxiv.org/pdf/1804.02767.pdf)
2018 год,делать ВОЗRedmonсноваYOLOv2из База上做Понятноодиннекоторыйулучшать。особенность Отдел добычиточкаиспользоватьDarknet-53сетьструктуразаменить оригинализDarknet-19,Многомасштабное обнаружение достигается с использованием сетевой структуры пирамиды признаков.,Метод классификации использует логистическую регрессию вместо softmax.,Он учитывает практичность, обеспечивая при этом точность обнаружения целей.
От YOLOv1 до YOLOv3 улучшение производительности каждого поколения тесно связано с улучшением магистральной сети (магистральной сети). В YOLOv3 автор предоставляет не только даркнет-53, но и облегченный крошечный даркнет. Если вы хотите иметь как точность, так и скорость обнаружения, вы можете выбрать darknet-53 в качестве магистрали. Если вы хотите добиться более высокой скорости обнаружения, вы можете пойти на компромисс в отношении точности; Тогда крошечный даркнет — хороший выбор для вас. Короче говоря, гибкость YOLOv3 делает его предпочтительным для многих людей в практических проектах.
По сравнению с магистральной сетью YOLOv2, YOLOv3 значительно улучшилась. С помощью идеи остаточной сети YOLOv3 улучшает исходный даркнет-19 до даркнет-53. Общая структура, представленная в статье, выглядит следующим образом:
Darknet-53В основном состоит из1x1и3x3изсверткаслойкомпозиция,Каждый сверточный слой содержитпакетная нормализацияслойиодинLeaky ReLU, цель добавления этих двух частей — предотвратить переобучение. Сверточный уровень, уровень BN и LeakyReLU вместе образуют базовый CBL Darknet-53. Поскольку в Даркнет-53 таких CBL 53, он называется Даркент-53.
Чтобы более наглядно понять структуру сети Даркнет-53, вы можете посмотреть на картинку ниже:
(Источник изображения: Цзяндабай)
чтобы лучше понять эту картинку,Лицом нижеосновной блокобъяснять:
По сравнению с Darknet-19, Darknet-53 в основном имеет следующие улучшения:
(1) Входной разъем
(2) Магистральная сеть
Darknet-53, магистральная сеть YOLOv3, содержит сверточные слои (Convolutional Слой), остаточный слой (Остаточный Слой), слой объединения объектов (Функция Fusion Layer),Количество слоев и углубление сети повышают точность обнаружения.,Введение большого количества остаточных сетевых модулей уменьшает проблему градиентного спуска, вызванную углублением слоев сети.,Внедрение модуля пирамидального пула позволяет обеспечить входные данные разного размера и выходные данные унифицированного размера.
(3) Сеть шеи
YOLOv3изнексеть — FPN (многомасштабное обнаружение, объединение функций),FPN(Feature Pyramid Network) — это структура пирамиды функций, используемая для задач обнаружения целей и семантической сегментации. Целью его разработки является решение проблемы выделения признаков одного масштаба при работе с целями разных масштабов.
Основные идеи ФПН заключаются в следующем:
(4) Выходной терминал
YOLOv3существоватьвыходизулучшатьдаПрогнозирование по нескольким меткам (переменная softmaxфункция для логистического классификатора)。В YOLOv1,Обычно softmaxфункция используется в качестве функции активации классификатора.,Воля Каждая категория результатов преобразуется в распределение вероятностей.
Однако,Для YOLOv3 такая задача обнаружения нескольких меток,Цель может принадлежать к нескольким категориям,Использование softmax приведет к тому, что вероятность нескольких категорий превысит 1.,Не соответствует требованиям к проблеме с несколькими метками. поэтому,В YOLOv3,использовать логистический классификатор для функции активации классификатора.
Логистический классификатор рассматривает выходные данные каждой категории как независимую задачу двоичной классификации и использует сигмовидную функцию для активации каждой категории. Сигмовидная функция ограничивает вывод от 0 до 1, указывая вероятность существования каждой категории.
Как показано на рисунке ниже, показаны результаты испытаний различных усовершенствованных алгоритмов обнаружения целей в наборе данных COCO. Очевидно, что YOLOv3 имеет более высокую скорость вывода, когда точность обнаружения почти одинакова.
Как показано в таблице ниже,Были испытаны различные одноступенчатые и двухступенчатые сети. Нашел путем сравнения,YOLOv3 достиг того же уровня, что и современные продвинутые детекторы. Высочайшая точность обнаружения – одноступенчатая RetinaNet,Но скорость вывода YOLOv3iz намного выше, чем у RetinaNet.
(Бумажный адрес:https://arxiv.org/pdf/2004.10934.pdf)
После YOLOv3 не существует новой версии YOLO. До апреля 2020 года Алексей Bochkovskiy、Chien-Yao WangиHong-Yuan Mark Ляо опубликовал статью YOLOv4[50] об ArXiv. Первоначально разные авторы предлагали новый YOLO. "официальный "Версия кажется странной;Однако,YOLOv4 поддерживает ту же концепцию YOLO — в режиме реального времени, с открытым исходным кодом, сквозную структуру DarkNet — и улучшения очень радуют.,Сообщество быстро приняло эту версию как официальную версию YOLOv4.
YOLOv4изуникальностьлежит в:
Это эффективная и мощная сеть обнаружения целей. Это делает GTX доступным для всех 1080Ti или2080TiизGPUприйти на тренировкуодинсупер быстроиточныйиз Цельдетектор。
В статье проверяется влияние большого количества передовых методов на эффективность обнаружения целей.
Текущие расширенные методы обнаружения объектов были улучшены, чтобы сделать их более эффективными и более подходящими для обучения на одном графическом процессоре. Эти улучшения включают CBN, PAN, SAM и т. д.
(Источник изображения: Цзяндабай)
Давайте сначала представим его подробноYOLOv4изОсновные компоненты:
YOLOv4 = CSPDarknet53 (магистральная сеть) + дополнительный модуль SPP (шея) + агрегация путей PANet (шея) + YOLOv3 (голова)
(1) Входной разъем
Никто Очевидные изменения.
(2) Магистральная сеть
(3) Сеть шеи
(4) Выходной терминал
В YOLOv4,действительно вводит новую метрику расстояния,сказатьдляCIOU。
CIOU — усовершенствованная функция потери обнаружения объектов.,Используется для измерения расстояния между предсказанными и реальными ящиками. CIOU является дальнейшим расширением DIoUiz.,Помимо учета положения коробки и расстояния между фигурами,Также введен дополнительный параметр для измерения соотношения сторон поля и согласованности.
Формула расчета CIOU выглядит следующим образом:
,в,IoU означает «Пересечение через Союз».,d представляет собой евклидово расстояние между предсказанным ящиком и центральной точкой реального ящика.,c представляет диагональное расстояние между предсказанным и истинным ящиком. в ЦМОУ,α — параметр,Используется для балансировки соотношения сторон кадра, согласованности и расстояния между позициями кадра. v — вспомогательный термин,Используется для штрафования за разницу в соотношении сторон между прогнозируемым и реальным блоком.
Потеря CIOU используется для оптимизации обнаружения объектов за счет минимизации CIOU. Его можно использовать как часть функции потери позиционирования.,Используется для измерения точности позиционирования поля прогнозирования. Внесено потерей БКИУ из,YOLOv4 может лучше оптимизировать положение, форму и соотношение сторон ограничивающей рамки.,Тем самым повышается точность и надежность обнаружения целей.
Как показано ниже,О наборе данных обнаружения целей COCO,Были протестированы различные современные современные детекторы целей. можно найти,Обнаружение YOLOv4iz в два раза быстрее, чем EfficientDet,Производительность сопоставима. в то же время,Воля YOLOv3 FPS увеличен на 10% и 12% соответственно,Победите YOLOv3!
На основе приведенного выше анализа,Подвести итогYOLOv4принеси намизпреимуществоиметь:
(кодовый адрес:https://github.com/ultralytics/yolov5)
YOLOv5иметьYOLOv5s、YOLOv5m、YOLOv5l、YOLOv5xчетыре версии。документсередина,Структуры этих Модельизов в основном одинаковы.,Разница заключается в двух параметрах deep_multipleModel, глубине иwidth_multipleModel, ширине. Точно так же, как когда мы покупаем одежду, порядок размеров тот же.,YOLOv5sсеть — наименьшая по глубине и наименьшая по ширине карта объектов среди серии YOLOv5. Остальные три типа основаны на этом и продолжают углубляться.,Продолжайте расширяться.
(Источник изображения: Цзяндабай)
Основные компоненты:
(1) Входной разъем
Никто Очевидные изменения.
(2) Магистральная сеть
(3) Сеть шеи
Никто Очевидные изменения.
(4) Выходной терминал
Никто Очевидные изменения.
В наборе данных COCO, когда размер входного исходного изображения составляет: 640x640, данные обнаружения пяти различных версий модели YOLOv5 следующие:
В наборе данных COCO, когда размер входного исходного изображения составляет: 1280x1280, данные обнаружения пяти различных версий модели YOLOv5 следующие:
Как видно из приведенной выше таблицы, от YOLOv5n до YOLOv5x точность обнаружения этих пяти моделей YOLOv5 постепенно увеличивается, а скорость обнаружения постепенно снижается. В зависимости от требований проекта пользователи могут выбрать подходящую модель для достижения наилучшего компромисса между точностью и скоростью!
(Бумажный адрес:https://arxiv.org/pdf/2107.08430.pdf)
(кодовый адрес:https://github.com/Megvii-BaseDetection/YOLOX?tab=readme-ov-file)
YOLOX выполнила серию работ на основе серии YOLO. Ее основной вклад: на основе YOLOv3 внедрение Decoupled. Head,Data Aug,Anchor Free и метод сопоставления образцов SimOTA,Создана сквозная система обнаружения целей без привязки.,И он достиг первоклассного уровня тестирования.
(ЦВПР) Занял первое место на симпозиуме по автономному вождению 2021 года). Автор также предоставляет версии развертывания, поддерживающие ONNX, TensorRT, NCNNиOpenvinoиз.
Почему предлагается YOLOX:
Обнаружение целей делится на якорные. BasedиAnchor Бесплатно двумя способами.
В Yolov3, Yolov4 и Yolov5 обычно используется Anchor Basedиз Способ,для извлечения целевого кадра.
Yolox Воля Anchor free введен в серию Yolo с использованием якоря Бесплатный метод имеет следующие преимущества:
Предположим, функция Масштаб карты 80х80, привязка основанный метод в Feature На карте каждая ячейка обычно имеет три разных размера. ящик, таким образом генерируя 3x80x80=19200 блоков прогнозов. Вместо этого используйте якорь Бесплатный метод генерирует только 80x80=6400 блоков прогнозов, что уменьшает объем вычислений.
Кадр прогнозирования метода без привязки составляет только 1/3 от метода на основе привязки, и большинство кадров прогнозирования представляют собой отрицательные выборки. Таким образом, метод без привязки может уменьшить количество отрицательных выборок и еще больше облегчить проблему дисбаланса между ними. положительные и отрицательные образцы.
Масштаб поля привязки метода на основе привязки является гиперпараметром, и различные настройки гиперпараметра будут влиять на производительность модели. Метод без привязки позволяет избежать этого.
(Источник изображения: Цзяндабай)
Производительность YOLOX YOLOV5, значение AP YOLOX-X достигает 51,2, превосходя YOLOV5-X. 0,8 процентных пункта. Кроме того, Модель имеет большие преимущества в скорости вывода и количестве параметров.
(Бумажный адрес:https://arxiv.org/pdf/2209.02976.pdf)
(кодовый адрес:https://github.com/meituan/YOLOv6/)
YOLOv6 был выпущен на ArXiv отделом визуального искусственного интеллекта Meituan в сентябре 2022 года. Похоже на: YOLOv4иYOLOv5,Они для промышленного применения доступны в различных размерах и моделях. Следуйте тенденциям на основе опорных точек по методу,YOLOv6 не используйте якорь из детектора.
YOLOv5/YOLOX использовал Backbone и Neck все основано на CSPNet Создайте и используйте многоветвевую остаточную структуру. для GPU С точки зрения аппаратного обеспечения эта структура в определенной степени увеличит задержку и уменьшит использование полосы пропускания памяти. Таким образом, YOLOv6 против Backbone и Neck Все они были переработаны, а слой головы продолжает использовать Decoupled в YOLOX. Голову и немного измените ее. Эквивалент YOLOv5, версия 6 внесла большое количество изменений в структуру сетевой модели.
(Источник изображения: cainiaoxiaoqiao)
Как показано на картинке выше,Просмотрено в целом,Структура YOLOv6изсет очень похожа на YOLOv4 и YOLOv5из.,Особенно позвоночник и шейная часть.,Но в модуле реализации есть изменения, но самое большое отличие заключается в головной части;,использоватьиз-это путь YOLOXizhHead,Классификация и регрессия Воли разделена на две ветви:,Выполните операции по развязке.
(1) Входной разъем
никтоякорный ящик, отменил YOLOv1 на YOLOv5 и до сих пор использую изякорный ящик。
(2) Магистральная сеть
YOLOv6изBackboneизвыполнитьизбазовыймодульдляRVB1_Xструктура,весь процессдляRepVGGBlock_X,Указывает, что он состоит из нескольких блоков RepVGGBlock.
RepVGGBlock — это повторяющийся модуль сети RepVGG, состоящий из нескольких модулей RepVGGConv. Каждый RepVGGBlock состоит из двух модулей RepVGGConv. Первый RepVGGConv представляет собой операцию свертки 3x3, а второй RepVGGConv — операцию свертки 1x1.
этот两индивидуальныйсверткамодуль之междуделатьиспользовать Понятнопакетный унифицированныйBatchNorm)иReLUактивацияфункция。RepVGGConvмодульдаRepVGGсетьсерединаизбазовыйсверткамодуль,Он состоит из сверточного слоя, пакетной нормализации и активации ReLU. Этот дизайн делает RepVGGBlock более выразительным.,И он может адаптироваться к различным потребностям извлечения функций.
RepVGGBlock складывается несколько раз в RepVGGсеть.,Формируется глубокая иссеть-структура. Путем объединения нескольких блоков RepVGGBlock,Может улучшить способность и сложность представления сети.,Таким образом достигается более точное извлечение признаков и распознавание целей.
(3) Сеть шеи
Структура PANet аналогична структуре RepVGGBlock.
(4) Выходной терминал
YOLOv6 отделяет головку обнаружения и разделяет процесс классификации по границам и категориям.
YOLOv6 Точность и скорость обнаружения лучше, чем у предыдущей современной модели, и в то же время дизайн 8 Эта модель масштабирования настраивает сетевые модели разных размеров для промышленных приложений в различных сценариях. Она может обнаруживать изображения разных масштабов для улучшения эффекта обнаружения. Она проста в развертывании, имеет низкие вычислительные затраты и подходит для обнаружения в реальном времени. Он также поддерживает развертывание на разных платформах, упрощая работу по адаптации развертывания проекта. Однако точность обнаружения ниже, чем у других продвинутых алгоритмов того же периода.
В следующей таблице показаны COCO 2017 val Перейти к другим YOLO Сравнение серий. ФПС и задержка используется TensorRT из Tesla T4 выше FP16 Прецизионные измерения из. Все наше обучение проводилось без предварительной подготовки или каких-либо внешних данных. 300 эпоха. Входное разрешение 640×640 В данном случае мы оценили Модельиз точность и скоростные характеристики. «‡» указывает на то, что предлагаемый метод самодистилляции некорректен. ∗» указывает на результаты переоценки официального релиза кода из Моделиз.
(Бумажный адрес:https://arxiv.org/pdf/2207.02696.pdf)
(кодовый адрес:https://github.com/WongKinYiu/yolov7)
YOLOv7 был опубликован на ArXiv в июле 2022 года тем же автором, что и YOLOv4иYOLORиз. В это время в 5 ФПС до 160 Диапазон FPS, его скорость и точность превосходят все известные детекторы объектов. Как и YOLOv4, он использует только MS. COCOНабор данных для обучения,Нет возможности предварительной тренировки позвоночника. YOLOv7 предлагает некоторые архитектурные изменения и серию бесплатных пакетов.,Повышенная точность без влияния на скорость вывода,Затрагивается только время обучения.
Сначала введите картинку resize для 640x640 размер, введите backbone сеть, а затем head Выходные данные многоуровневой сети различаются для трех слоев. size размер из **feature карта**, через Rep и conv выводит результат прогноза, здесь как coco например, вывод для 80 категории, а затем каждый результат (x ,y, w, h, o) То есть координата положения и переднего и заднего фона, 3 значит из anchor количество, поэтому каждый слой из выходов для (80+5)x3 = Умножьте на 255 feature map Размер — это конечный результат.
(1) Входной разъем
Похоже на YOLOv5.
(2) Магистральная сеть
Backboneдляпозвоночниксеть Зависит отCBS、ELAN、MP-1композиция。
(3) Сеть шеи
Модуль в основном включает в себя три подмодуля: SPPCSPC, ELANW и UPSample. Модуль SPPCSPC используется для повышения эффективности и точности извлечения функций; модуль ELANW добавляет две операции сращивания. Модуль UPSample используется для реализации различных уровней. эффективно объединенная структура Cat предназначена для дальнейшей оптимизации эффекта сверточного слоя.
(4) Выходной терминал
Похоже на YOLOv6. Головка обнаружения отвечает за окончательный результат прогнозирования.,Отделение информации об объекте после обработки шеи,использовать модуль тяжелой параметризации, регулирующий количество каналов для выхода Neck из трех разных размеров из функций,Затем выполните операцию свертки 1x1из.,Получите местоположение целевого объекта, уровень достоверности и прогноз категории.
Метод YOLOv7 предложил стратегию масштабирования, основанную на каскаде, для генерации разных размеров из Модель.,Уменьшите количество параметров и вычислений,Обеспечивает обнаружение целей в реальном времени.,Обучение и обнаружение больших наборов данных приводит к повышению точности и улучшению общей эффективности обнаружения. Однако ее сетевая архитектура также относительно сложна и требует большого количества вычислительных ресурсов для обучения и тестирования.,А эффект обнаружения небольших целей и плотных сцен оставляет желать лучшего.
(кодовый адрес:https://github.com/ultralytics/ultralytics)
YOLOv8 Созданная той же командой, что и YOLOv5, это передовая, современная (SOTA) модель, основанная на предыдущей Версия YOLOv5 прошла успешно,Представлены новые функции и улучшения,Дальнейшее повышение производительности и гибкости.
YOLOv8 — это ультрасовременное решение (SOTA) Модель, основанная на предыдущем успехе. YOLO В зависимости от версии были введены новые функции и улучшения для дальнейшего повышения производительности и гибкости. YOLOv8 Он спроектирован так, чтобы быть быстрым, точным и простым в использовании, что также делает его отличным выбором для задач обнаружения объектов, сегментации и классификации изображений. Конкретные инновации включают новую магистральную сеть, новую Ancher-Free Головка обнаруженияиодинновыйизпотеряфункция,Также поддерживает предыдущие версии YOLO.,Удобно переключаться между разными версиями и сравнивать производительность.
YOLOv8 иметь 5 индивидуальный Неттакой же Модельразмер изPre-training Модель: n, s, m, l и x。сосредоточиться на Количество параметров ниже изCOCO mAP (коэффициент точности), вы можете видеть, что уровень точности значительно улучшен по сравнению с YOLOv5иметь. в частности l и x,Они большие Размер модели,Это уменьшает количество параметров, одновременно повышая точность.
Общая структура аналогична YOLOv5: CSPDarknet (магистральная сеть) + ПАН-ФПН (шея) + Decoupled-Head(выходголова),Однако есть некоторые улучшения в деталях каждого модуля.,И в целом оно основано на идее без якоря.,Это существенно отличается от yolov5.
(1) Входной разъем
Похоже на YOLOv7.
(2) Магистральная сеть
Структура Backbone partuseiz для Darknet53 включает базовый модуль свертки Conv.、Реализация локальных и глобальных функций из уровня карты объектов из слияния из модуля объединения пространственных пирамид SPPF, увеличение глубины рецептивного поля сети,Улучшите возможности извлечения признаков из модуля C2F.
(3) Сеть шеи
Похоже на YOLOv5.
(4) Выходной терминал
Для расчета функции потерь используется Task AlignedAssigner正Образец本точкасоответствовать Стратегия。По классификационным потерям VFL (Varifocal Loss) и регрессионные потери CIOU (Complete-IOU) + DFL (Deep Feature Loss) представляет собой взвешенную комбинацию двух частей и трех потерь.
YOLOv8 из обнаружения, сегментации и позы Модель в COCO Набор данных предварительно обучен, а модель классификации ImageNet Предварительное обучение на наборе данных. При первом использовании Модель автоматически переключится с последней версии. Ultralytics Скачать в релизной версии.
YOLOv8Всего предоставлено Понятно5середина Неттакой жеразмер из Модельвыбирать,Разработчикам удобно балансировать между производительностью и точностью. Ниже приведен пример YOLOv8 из Модели обнаружения целей:
YOLOv8източка Скидка Модель Также доступен Понятно5середина Неттакой жеразмер из Модельвыбирать:
На картинке ниже видно, что YOLOv8 очень хорошо справляется с задачами обнаружения целей и сегментации экземпляров:
(Источник изображения:YOLOv8 здесь!)
(Бумажный адрес:https://arxiv.org/pdf/2402.13616.pdf)
(кодовый адрес:https://github.com/WongKinYiu/yolov9)
YOLOv9 создан оригинальной командой YOLOv7.,предлагать ПонятноИнформация о программируемом градиенте (PGI)из概念来应верноглубинасетьвыполнить多индивидуальный Цель Место需изразличные изменения。 PGIМожетдля Цель Расчет задачи Цельфункция Предоставить полныйиз Введите информацию,Таким образом, получается надежная информация о градиенте для обновления весов сети. также,Также разработан Понятноодиндобрыйновыйизлегкийсеть Архитектура——на основепланирование градиентной траекторииизСеть агрегации уровня общей эффективности (GELAN)。 Архитектурный анализ GELAN подтверждает отличные результаты PGI на облегченной модели.
На следующем рисунке показаны визуальные результаты различных карт выходных характеристик случайного начального веса и разных архитектур: (a) Входное изображение, (б) PlainNet,(c) ResNet,(d) CSPNet,и (e) ПРЕДЛОЖЕНИЕ ИЗ ГЕЛАН. Из этих визуализаций,Мы можем видеть это в разных архитектурах.,Предусмотрена функция расчета потерь информации, потерянной в той или иной степени.,Предлагаемая архитектура GELAN позволяет сохранить наиболее полную информацию.,А целевая функция расчета обеспечивает наиболее надежную информацию о градиенте.
Конкретно,Входное изображение (а) представляет собой исходное необработанное изображение. Следующие четыре изображения (b-e) показывают, когда входное изображение проходит через разные архитектуры.,Карта объектов на определенном слое. Эти карты объектов случайным образом инициализируются сетевым слоем из весов.,Он предназначен для демонстрации возможностей сети по извлечению признаков при обработке данных. Изменение цвета на картинке отражает степень активации функции.,Чем выше уровень активации,Это означает, что сеть более чувствительна к характеристикам определенной части изображения.
основнойалгоритм:(специфическийссылка:http://t.csdnimg.cn/1LWuY)
(1) Информация о программируемом градиенте (PGI)
для Для решения вышеуказанных проблем,В статье предлагается новая система вспомогательного надзора.,сказатьдля Информация о программируемом градиенте (PGI), как показано на рисунке 3(d). PGI в основном состоит из трех компонентов: основной ветви, вспомогательной обратимой ветви и многоуровневой вспомогательной информации.
На рисунке 3(d) мы видим,Процесс вывода PGIиз использует только главную ветку,Поэтому никаких дополнительных затрат на обоснование не требуется. Что касается двух других компонентов,Они используются только на этапе обучения, а не на этапе вывода.,Используется для решения или замедления нескольких важных проблем в методах глубокого обучения:
(2)GELAN
Разработан путем объединения планирования градиентного пути из двух архитектур нейронных сетей CSPNet. иELAN ,В статье разработана обобщенная эффективная агрегация слоев (GELAN), которая учитывает легкость, скорость и точность рассуждений.。все это Архитектура Как показано на картинке 4 показано. В статье «Воля» изначально использовались только стеки сверточных слоев. ELAN из功能推广приезжать Можетделатьиспользоватьлюбой расчетный блокизновый Архитектура。
Мы основаны на YOLOv7иDynamic YOLOv7точка Не构建ПонятноYOLOv9из Проходитьиспользоватьи Расширять Версия。существоватьсеть Архитектурадизайнсередина,Мы заменили ЭЛАН на ГЕЛАН,GELAN использует блоки CSPNet в качестве блоков вычислений.,И планируйте использоватьRepConv. Мы также упростили модуль даунсемплинга.,И оптимизировал точку привязки «никто» в заголовке прогноза. Что касается вспомогательной части потерь ЗГУиз,Мы точно следовали YOLOv7 из вспомогательных настроек заголовка.
Как показано в таблице 1, по сравнению с легкой и средней моделью YOLO. По сравнению с MS параметры YOLOv9 уменьшены примерно на 10%, а объем вычислений уменьшен на 5–15%, но AP все равно улучшен на 0,4–0,6%. и YOLOv7 AF По сравнению с YOLOv9-C из параметров уменьшены 42%, сумма расчета уменьшена 22%, но достигли того же уровня AP(53%)。иYOLOv8-Xпо сравнению с,Параметры YOLOv9-E уменьшены на 16%.,Расчет уменьшен на 27%,АП значительно увеличен на 1,7%. Приведенные выше результаты сравнения показывают, что,В документе предполагается, что YOLOv9 значительно улучшен во всех аспектах по сравнению с текущим методом.
ссылка:
https://arxiv.org/pdf/2304.00501.pdf