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

YOLOv10 против YOLOX: техническое сравнение

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

Если в 2021 году YOLOX представил значительные инновации, касающиеся механизмов обнаружения без якорей, то в 2024 году YOLOv10 представляет собой передовую разработку, предлагая вывод NMS и более тесную интеграцию с экосистемойUltralytics .

YOLOv10: сквозное обнаружение в режиме реального времени

YOLOv10 стремится преодолеть разрыв между эффективностью постобработки и архитектурой модели. Внедряя последовательную стратегию двойного назначения для обучения NMS, она устраняет необходимость в не-максимальном подавлении (NMS) во время вывода, что значительно сокращает время ожидания.

Технические детали:

Архитектура и сильные стороны

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

  • ВыводыNMS: Отказ от использования NMS - это переломный момент для приложений, делающих выводы в реальном времени, обеспечивающий предсказуемую задержку и меньшую нагрузку на CPU на граничных устройствах.
  • Баланс эффективности и точности: YOLOv10 достигает современной производительности при меньшем количестве параметров и FLOP по сравнению со своими предшественниками и конкурентами.
  • Интеграция с Ultralytics : При полной поддержке ultralytics Пакет означает, что пользователи получают преимущества от единой Python APIБесшовный экспорт в такие форматы, как TensorRT и OpenVINOи обширная документация.

Преимущество экосистемы

Интеграция YOLOv10 в экосистему Ultralytics обеспечивает немедленный доступ к таким передовым функциям, как автоаннотирование, облачное обучение и мощное сообщество поддержки.

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

  • Более новая архитектура: Экосистема сторонних учебных пособий, выпущенная в 2024 году, быстро развивается, но пока не может сравниться с объемом старых моделей.

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

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

Выпущенный в 2021 году, YOLOX перешел на безъякорный механизм и отсоединенные головки, отклонившись от основанных на якорях подходов YOLOv4 и YOLOv5. В нем используется SimOTA (Simplified Optimal Transport Assignment) для присвоения меток, что стало значительным шагом вперед в стратегии динамического присвоения меток.

Технические детали:

Архитектура и сильные стороны

YOLOX остается сильной базовой линией в исследовательском сообществе благодаря своей чистой безъякорной конструкции.

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

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

  • Скорость вывода: Несмотря на свою эффективность для своего времени, YOLOX в целом отстает от более новых моделей, таких как YOLOv10 и YOLO11 по скорости вывода, особенно если учесть время работы NMS .
  • Фрагментированный рабочий процесс: В отличие от моделей Ultralytics , YOLOX часто требует своей собственной кодовой базы и настройки среды, не имея единого интерфейса для обучения, проверки и развертывания, который есть в современных фреймворках.
  • Интенсивность использования ресурсов: Более высокое количество FLOP и параметров при одинаковом уровне точности по сравнению с современными эффективными архитектурами.

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

Анализ производительности

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
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

Критические замечания

  1. Точность в сравнении с размером: YOLOv10 постоянно обеспечивает более высокую mAP при меньшем количестве параметров. Например, YOLOv10s достигает 46,7 mAP всего с 7,2 М параметров, в то время как YOLOXs достигает 40,5 mAP с 9,0 М параметров. Это демонстрирует превосходную архитектурную эффективность YOLOv10.
  2. Эффективность вычислений: Количество FLOPs для моделей YOLOv10 значительно ниже. YOLOv10x работает на 160,4B FLOPs по сравнению с массивными 281,9B FLOPs YOLOXx, но при этом превосходит его по точности (54,4 против 51,1 mAP).
  3. Скорость вывода: удаление NMS и оптимизированная архитектура позволяют YOLOv10 достичь более низкой задержки. Бенчмарки T4 TensorRT показывают, что YOLOv10x работает со скоростью 12,2 мс, что значительно быстрее, чем YOLOXx с 16,1 мс.

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

YOLOv10: Современный стандарт

YOLOv10 - предпочтительный выбор для большинства новых девелоперских проектов, особенно тех, которые требуют:

  • Развертывание краевого ИИ: Малый объем памяти и высокая эффективность делают его идеальным для таких устройств, как Raspberry Pi или NVIDIA Jetson.
  • Приложения реального времени: Системы, требующие немедленной обратной связи, такие как автономное вождение, робототехника и видеоаналитика, выигрывают благодаря низкой задержке NMS.
  • Быстрое развитие: Экосистема Ultralytics позволяет быстро управление наборами данныхобучение и развертывание с помощью ultralytics пакет.

YOLOX: наследие и исследования

YOLOX остается актуальным для:

  • Академические исследования: Исследователи, изучающие эволюцию безъякорных детекторов или специфических стратегий присвоения меток, таких как SimOTA, часто используют YOLOX в качестве базового уровня.
  • Устаревшие системы: Существующие производственные трубопроводы, уже оптимизированные под YOLOX, могут продолжать использовать его, если затраты на модернизацию перевешивают выигрыш в производительности.

Использование YOLOv10 с Ultralytics

Одно из самых значительных преимуществ YOLOv10 - простота использования. API Ultralytics Python упрощает весь рабочий процесс, от загрузки предварительно обученных весов до обучения на пользовательских данных.

Ниже приведен пример запуска прогнозов и обучения модели YOLOv10 :

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Train the model on a custom dataset (COCO format)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

Эффективность обучения

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

Заключение

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

Для тех, кому требуется современное обнаружение объектов, YOLOv10 обеспечивает необходимую скорость и точность. Разработчики, заинтересованные в более широких возможностях, таких как оценка позы или ориентированные ограничительные рамки, могут также рассмотреть универсальную версию YOLO11 или широко распространенный YOLOv8.


Комментарии