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

YOLOv10 vs. YOLOX: Техническое сравнение

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

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

YOLOv10: Обнаружение в реальном времени End-to-End

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

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

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

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

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

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

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

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

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

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

YOLOX: пионер Anchor-Free

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

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

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

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

  • Механизм без Anchor: Удаляя предопределенные anchor boxes, YOLOX снижает сложность проектирования и количество гиперпараметров, требующих настройки.
  • Разделенная голова (Decoupled Head): Разделение задач классификации и локализации улучшило скорость сходимости и точность по сравнению со старыми конструкциями со связанной головой.
  • Надёжный базис: Служит надежным эталоном для академических исследований в области голов обнаружения и стратегий назначения.

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

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

Узнайте больше о 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. Точность vs. Размер: YOLOv10 стабильно обеспечивает более высокий mAP с меньшим количеством параметров. Например, YOLOv10s достигает 46,7 mAP всего с 7,2M параметрами, тогда как YOLOXs достигает 40,5 mAP с 9,0M параметрами. Это демонстрирует превосходную архитектурную эффективность YOLOv10.
  2. Compute Efficiency: Количество 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 является предпочтительным выбором для большинства новых проектов разработки, особенно для тех, которые требуют:

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

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

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

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

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

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

Ниже приведен пример того, как запускать прогнозы и обучать модель 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, чем старые архитектуры или модели на основе transformer. Это позволяет обучать большие пакеты на стандартных потребительских GPU.

Заключение

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

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


Комментарии