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

YOLOX против YOLOv5: инновации без якоря и доказанная эффективность

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

Анализ производительности: скорость, точность и эффективность

При оценке YOLOX и YOLOv5 различие часто сводится к компромиссу между исходной точностью и эффективностью работы. В YOLOX были внесены значительные архитектурные изменения, такие как отсоединенная головка и механизм без якорей, что позволило ему достичь самых высоких показателей mAP (средняя точность) после его выпуска. Он превосходно работает в сценариях, где важен каждый процент точности, особенно в таких сложных бенчмарках, как COCO.

И наоборот, Ultralytics YOLOv5 был разработан с упором на производительность в реальном мире. Приоритетом для него является скорость вывода и низкая задержка, что делает его исключительно подходящим для мобильных приложений, встраиваемых систем и устройств с пограничным ИИ. Хотя YOLOX может иметь небольшое преимущество в mAP для конкретных крупных моделей, YOLOv5 неизменно превосходит его по пропускной способности (кадров в секунду) и гибкости развертывания, используя всю экосистемуUltralytics .

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

Модельразмер
(пиксели)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

YOLOX: соперник без якоря

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

Архитектура и инновации

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

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

Основными преимуществами YOLOX являются высокая точность, особенно в самых больших вариантах (YOLOX-x), и чистый дизайн без якорей, который привлекает исследователей. Однако у этих преимуществ есть и компромиссы. Отсоединенная голова добавляет вычислительную сложность, что часто приводит к более медленному выводу по сравнению с YOLOv5. Кроме того, в модели, ориентированной на исследования, нет целостного и удобного инструментария, который есть в экосистеме Ultralytics , что потенциально затрудняет интеграцию в коммерческие конвейеры.

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

  • Академические исследования: Экспериментирование с новыми архитектурами обнаружения и стратегиями присвоения меток.
  • Высокоточные задачи: Сценарии, в которых выигрыш в mAP на 1-2 % перевешивает стоимость более медленного вывода, например, автономная видеоаналитика.
  • Обнаружение плотных объектов: Среды с сильно загроможденными объектами, в которых SimOTA показывает хорошие результаты.

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

YOLOv5: стандарт производства

С момента своего появления в 2020 году Ultralytics YOLOv5 стала базовой моделью для разработчиков по всему миру. Она обеспечивает исключительный баланс между производительностью и практичностью, поддерживаемый платформой, предназначенной для оптимизации всего жизненного цикла операций машинного обучения (MLOps).

Архитектура и экосистема

В YOLOv5 используется магистраль CSPNet и горловина сети агрегации путей (PANet), оптимизированная для эффективного извлечения признаков. Несмотря на то, что в PyTorch изначально был популяризирован подход, основанный на якорях, его главным достоинством является окружающая экосистема. Пользователи получают преимущества от автоматического экспорта в такие форматы, как ONNX, CoreML и TFLite, а также от бесшовной интеграции с Ultralytics HUB для обучения и управления моделями.

Знаете ли вы?

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

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

Простота использования - отличительная черта YOLOv5. С помощью простого API на Python разработчики могут загружать предварительно обученные веса и выполнять вычисления всего в нескольких строках кода. Модель оптимизирована с учетом скорости работы, обеспечивая более низкую задержку как на CPU, так и на GPU по сравнению с YOLOX. Кроме того, она занимает меньше памяти во время обучения, что делает ее доступной на стандартном оборудовании. Несмотря на то, что ее дизайн, основанный на якорях, требует эволюции якорей для пользовательских наборов данных (что автоматически выполняется в YOLOv5), ее надежность и хорошо поддерживаемая экосистема делают ее превосходной для производства.

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

  • Приложения реального времени: Видеонаблюдение, автономное вождение и робототехника, где низкая задержка имеет решающее значение.
  • Граничное развертывание: Работает на Raspberry Pi, NVIDIA Jetson или мобильных устройствах благодаря своей эффективной архитектуре.
  • Коммерческие продукты: Быстрое создание прототипов и развертывание, когда требуется долгосрочная поддержка и простота интеграции.
  • Многозадачное зрение: Проекты, требующие обнаружения, сегментации и классификации в рамках одной системы.

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

Пример кода: Запуск YOLOv5 с Ultralytics

Пакет Ultralytics Python делает использование моделей YOLOv5 невероятно простым. Ниже приведен пример того, как выполнить вывод с использованием предварительно обученной модели.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

Заключение: Сделайте правильный выбор

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

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

Сравнения с другими моделями

Изучите, как эти модели выглядят в сравнении с другими архитектурами, чтобы найти оптимальный вариант для ваших конкретных нужд:


Комментарии