Перейти к содержанию

YOLOX против YOLOv6-3.0: техническое сравнение

Выбор правильной архитектуры обнаружения объектов — это критически важное решение для разработчиков и исследователей, стремящихся сбалансировать производительность, скорость и вычислительную эффективность. В этом всестороннем сравнении исследуются технические различия между YOLOX, высокопроизводительным детектором без привязки к якорям (anchor-free) от Megvii, и YOLOv6-3.0, фреймворком промышленного уровня, разработанным Meituan. Анализируя их архитектуры, эталонные тесты и методологии обучения, мы стремимся направить вас к лучшей модели для ваших конкретных приложений компьютерного зрения.

YOLOX: Наведение мостов между исследованиями и промышленностью

Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация:Megvii
Дата: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Документация:https://yolox.readthedocs.io/en/latest/

Выпущенный в 2021 году, YOLOX представляет собой значительный сдвиг в линейке YOLO , приняв механизм без якорей и интегрировав передовые методы обнаружения, ранее предназначавшиеся для академических исследований. Устранив зависимость от заранее заданных якорных ящиков, YOLOX упростил процесс обучения и улучшил обобщение для различных форм объектов.

Архитектура и ключевые особенности

YOLOX отличается архитектурой "decoupled head". В отличие от традиционных моделей YOLO, которые объединяли задачи классификации и локализации в одной ветви, YOLOX разделяет их, что значительно повышает скорость сходимости и точность. В нем используется стратегия назначения меток SimOTA (Simplified Optimal Transport Assignment), которая динамически назначает положительные примеры ground truth объектам, уменьшая нестабильность обучения.

Дизайн без якорей

YOLOX устраняет необходимость в кластеризации anchor box вручную, что является распространенным шагом в предыдущих версиях YOLO. Это уменьшает количество эвристических гиперпараметров и вариантов проектирования, связанных с обучением, что делает модель более устойчивой к различным наборам данных без обширной настройки.

Сильные и слабые стороны

Преимущества:

  • Высокая точность: Разделенная голова и расширенное назначение меток позволяют YOLOX достигать конкурентоспособных показателей средней точности (mAP), особенно на наборе данных COCO.
  • Гибкость исследований: Его упрощенная конструкция делает его отличной отправной точкой для исследователей, экспериментирующих с новыми головками detection или стратегиями назначения.
  • Обнаружение малых объектов: Подход без привязки к якорям иногда может предложить лучшую производительность на малых объектах по сравнению с жесткими системами на основе якорей.

Слабые стороны:

  • Задержка инференса: Несмотря на точность, отсоединенная голова создает небольшую вычислительную нагрузку, что часто приводит к более низкой скорости инференса по сравнению с полностью оптимизированными промышленными моделями, такими как YOLOv6.
  • Развитость экосистемы: Хотя код имеет открытый исходный код, экосистема сторонних инструментов, руководств по развертыванию и поддержки сообщества меньше, чем у Ultralytics YOLOv8 или YOLOv5.

Идеальные варианты использования

YOLOX особенно хорошо подходит для академических исследований и сценариев, где точность является приоритетом по сравнению с чистой скоростью inference.

  • Медицинская визуализация: Анализ сложных структур в анализе медицинских изображений, где точность имеет первостепенное значение.
  • Обнаружение дефектов: выявление незначительных аномалий в производстве, где пропущенные обнаружения (detect) обходятся дорого.
  • Академические эксперименты: Служит чистым базисом без anchor для разработки новых алгоритмов компьютерного зрения.

Узнайте больше о YOLOX

YOLOv6-3.0: Разработан для промышленной скорости

Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдан Ке, Сяомин Сюй и Сянсян Чу
Организация:Meituan
Дата: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
Документация:https://docs.ultralytics.com/models/yolov6/

YOLOv6-3.0 — это специально разработанный детектор объектов, предназначенный для реальных промышленных приложений. Обновление "3.0", известное как "Full-Scale Reloading", представило значительные архитектурные усовершенствования для максимального увеличения пропускной способности на оборудовании, таком как NVIDIA GPU.

Архитектура и ключевые особенности

Основой YOLOv6-3.0 является интенсивное использование репараметризации. Модель использует EfficientRep backbone и Rep-PAN neck, которые позволяют сети иметь сложные многокомпонентные структуры во время обучения, но сворачиваться в простые однокомпонентные структуры во время инференса. Этот подход в стиле "RepVGG" обеспечивает высокую способность извлечения признаков без штрафа за задержку во время выполнения, связанного со сложным ветвлением.

Кроме того, YOLOv6-3.0 использует Anchor-Aided Training (AAT) (Обучение с помощью якорей), сочетая преимущества парадигм, основанных на якорях и без якорей, для стабилизации обучения и ускорения сходимости.

Сильные и слабые стороны

Преимущества:

  • Исключительная скорость: Оптимизированный для TensorRT, YOLOv6-3.0 обеспечивает чрезвычайно низкую задержку, что делает его идеальным для приложений с высокой частотой кадров.
  • Готовность к развертыванию: Такие функции, как поддержка квантования моделей, облегчают развертывание на периферийных устройствах и серверах.
  • Эффективность: Метод репараметризации обеспечивает отличный баланс FLOPs и точности.

Слабые стороны:

  • Интенсивность использования ресурсов при обучении: Сложная архитектура во время обучения (до репараметризации) может потребовать значительный объем памяти GPU по сравнению с более простыми моделями.
  • Ограниченная область задач: YOLOv6 в основном ориентирован на detection. Ему не хватает встроенной, интегрированной поддержки других задач, таких как оценка позы или ориентированные ограничивающие рамки (OBB) в том же бесшовном API, который есть в предложениях Ultralytics.

Идеальные варианты использования

YOLOv6-3.0 превосходно работает в средах, где скорость inference в реальном времени является строгим требованием.

  • Автономная робототехника: Обеспечение навигации и мгновенной реакции роботов на динамические среды.
  • Инспекция производственных линий: Высокоскоростная проверка качества на производственных лентах, где производительность не может быть снижена.
  • Видеоаналитика: Одновременная обработка нескольких видеопотоков для систем охранной сигнализации.

Узнайте больше о YOLOv6

Прямое сравнение производительности

Сравнение показателей производительности на наборе данных COCO выявляет различные философии проектирования. YOLOX предлагает упрощенную архитектуру с достойной точностью, в то время как YOLOv6-3.0 расширяет границы скорости инференса за счет структурной оптимизации.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

Данные показывают, что YOLOv6-3.0n значительно быстрее на GPU (1,17 мс против 2,56 мс у YOLOXs), сохраняя при этом высокий mAP. Для устройств с ограниченными ресурсами, где важен каждый мегабайт, YOLOXnano остается интересным вариантом с параметрами менее 1M, хотя его точность ниже. В более высоком сегменте YOLOv6-3.0l превосходит YOLOXx как по точности (52,8 против 51,1 mAP), так и по эффективности, используя примерно на 40% меньше параметров.

Методологии обучения и экосистема

Пользовательский опыт обучения этих моделей значительно различается.

YOLOX полагается на надежные методы аугментации данных, такие как Mosaic и MixUp, для достижения своих результатов без предварительно обученных весов. Его конвейер обучения ориентирован на исследования, предлагая гибкость для тех, кто хорошо знаком с конфигурациями PyTorch.

YOLOv6-3.0 использует self-distillation, где большая учительская модель направляет модель-ученика во время обучения, повышая точность меньших моделей без увеличения стоимости инференса. Эта методология является мощной, но добавляет сложности в настройку обучения.

Однако разработчики, отдающие приоритет оптимизированному рабочему процессу, часто считают экосистему Ultralytics превосходной. В отличие от фрагментированных инструментов, часто встречающихся в автономных исследовательских моделях, Ultralytics предоставляет унифицированную платформу.

  • Простота использования: Простой Python API позволяет выполнять обучение, проверку и вывод всего в несколько строк кода.
  • Хорошо поддерживаемая экосистема: Частые обновления обеспечивают совместимость с последними версиями PyTorch, CUDA и форматами экспорта, такими как ONNX и OpenVINO.
  • Эффективность обучения: Модели Ultralytics оптимизированы для эффективного использования памяти, часто обучаясь быстрее и с меньшим объемом памяти GPU, чем сопоставимые архитектуры на основе трансформеров.

Простота использования Ultralytics

Обучение современной модели с помощью Ultralytics так же просто, как:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Вывод: Преимущество Ultralytics

В то время как YOLOX предлагает инновационный дизайн без anchor, подходящий для исследований, а YOLOv6-3.0 обеспечивает впечатляющую скорость для конкретного промышленного оборудования, Ultralytics YOLO11 представляет собой вершину современных технологий компьютерного зрения.

YOLO11 и зарекомендовавшая себя YOLOv8 обеспечивают превосходный баланс производительности, достигая современных показателей mAP с замечательной скоростью выводов как на CPU, так и на GPU. В отличие от конкурентов, которые в основном ограничиваются detect, модели Ultralytics предлагают непревзойденную универсальность, изначально поддерживая:

Для разработчиков, ищущих перспективное решение, поддерживаемое активной разработкой, всесторонней документацией и процветающим сообществом, Ultralytics остается рекомендуемым выбором для переноса проектов от концепции до производства.

Чтобы изучить дальнейшие сравнения, рассмотрите возможность прочтения о YOLOv5 vs YOLOv6 или YOLO11 vs RT-DETR.


Комментарии