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

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

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

YOLOv9: преодоление потери информации в глубоких сетях

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

Авторы: Chien-Yao Wang, Hong-Yuan Mark Liao
Организация: Institute of Information Science, Academia Sinica, Taiwan
Date: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:docs.ultralytics.com/models/yolov9/

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

Основная инновация YOLOv9 заключается в двух ключевых компонентах: Программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN).

  • Программируемая градиентная информация (PGI): В глубоких сетях важные входные данные часто теряются в процессе извлечения признаков, и это явление известно как "информационное узкое место". PGI обеспечивает вспомогательный управляющий сигнал, который гарантирует надежную генерацию градиента, позволяя модели изучать более эффективные признаки без увеличения стоимости вывода.
  • GELAN: эта архитектурная схема оптимизирует использование параметров и эффективность вычислений. Обобщая концепцию эффективных сетей агрегации уровней (ELAN), GELAN позволяет гибко объединять вычислительные блоки, в результате чего модель получается одновременно легкой и быстрой.

Эти инновации позволили YOLOv9 достичь высочайшей производительности на наборе данныхCOCO , превзойдя предыдущие итерации как по точности, так и по эффективности параметров.

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

YOLOX: Стандарт без якоря

YOLOX был представлен для преодоления разрыва между академическими исследованиями и промышленным применением, популяризируя безъякорный подход в серии YOLO .

Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization: Megvii
Дата: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:yolox.readthedocs.io

Основные архитектурные особенности

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

  • Безъякорная конструкция: Традиционные детекторы полагаются на заранее заданные якорные ящики, которые требуют эвристической настройки и кластеризации. YOLOX рассматривает обнаружение объектов как проблему предсказания точек, что упрощает конструкцию и улучшает обобщение для объектов различной формы.
  • Decoupled Head: задачи классификации и регрессии обрабатываются в отдельных ветвях (головках). Такое разделение позволяет модели оптимизировать каждую задачу независимо, что приводит к ускорению сходимости и повышению точности.
  • SimOTA: усовершенствованная стратегия присвоения меток, которая динамически присваивает положительные образцы объектам "истины", что еще больше повышает производительность.

Анализ производительности: Метрики и контрольные показатели

При анализе производительности YOLOv9 демонстрирует явное преимущество, соответствующее более новой архитектуре. Благодаря использованию PGI и GELAN, YOLOv9 достигает более высокой средней точностиmAP) при сохранении или снижении вычислительной нагрузки (FLOPs) по сравнению с YOLOX.

В таблице ниже показаны различия в производительности. Примечательно, что YOLOv9 достигает значительно более высокого mAP (53,0 %), чем YOLOX-L (49,7 %), при меньшем количестве параметров (25,3 М против 54,2 М). Такая эффективность делает YOLOv9 лучшим выбором для приложений, ограниченных в аппаратных ресурсах, но требующих высокой точности.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
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

Скорость и эффективность

Если в 2021 году YOLOX продемонстрировал впечатляющие скорости, то YOLOv9 еще больше расширяет границы. Модель YOLOv9 (Tiny) предлагает исключительный баланс, обеспечивая 38,3% mAP при параметрах всего 2,0M, что делает ее очень подходящей для мобильных и встраиваемых приложений. В отличие от нее, YOLOX-Nano меньше по размеру, но жертвует значительной точностью (25,8 % mAP).

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

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

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

Выбор между этими моделями зависит от ваших конкретных требований к проекту.

Когда выбирать YOLOv9

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

  • Edge AI в реальном времени: развертывание на таких устройствах, как NVIDIA Jetson, где FLOPs имеют значение. Легкая архитектура YOLOv9 обеспечивает максимальную пропускную способность.
  • Высокоточный контроль: Контроль качества в промышленности, где обнаружение мелких дефектов имеет решающее значение. Высокий mAP YOLOv9 обеспечивает захват мельчайших деталей.
  • Автономные системы: Робототехника и беспилотники требуют низкой задержки. Оптимизированная структура графа YOLOv9 обеспечивает быстрый вывод без ущерба для возможностей обнаружения.

Когда стоит обратить внимание на YOLOX

YOLOX остается сильным соперником для специфических унаследованных рабочих процессов или сравнительных исследований.

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

Преимущество Ultralytics

Внедрение YOLOv9 через экосистему Ultralytics дает явные преимущества по сравнению с отдельными реализациями. Фреймворк Ultralytics разработан для оптимизации всего жизненного цикла операций машинного обучения (MLOps).

  • Простота использования: Ultralytics Python API позволяет загружать, обучать и развертывать модели всего в нескольких строках кода.
  • Хорошо поддерживаемая экосистема: Регулярные обновления обеспечивают совместимость с последними версиями PyTorch, ONNX и CUDA.
  • Универсальность: Хотя YOLOX - это в первую очередь детектор объектов, фреймворк Ultralytics поддерживает широкий спектр задач, включая оценку положения, сегментацию и классификацию, что позволяет легко менять архитектуру или задачи в рамках одной и той же кодовой базы.
  • Эффективность использования памяти: Модели Ultralytics оптимизированы для использования памяти, что предотвращает ошибки Out-Of-Memory (OOM), которые часто встречаются при обучении сложных моделей на основе трансформаторов или неоптимизированных устаревших детекторов.

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

Запуск выводов в YOLOv9 осуществляется с помощью пакета Ultralytics .

from ultralytics import YOLO

# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")

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

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

Гибкость экспорта

Модели YOLOv9 , обученные с помощью Ultralytics , можно легко экспортировать в такие форматы, как TensorRT, OpenVINOи CoreML для максимальной гибкости развертывания.

Заключение и рекомендации

YOLOX сыграл ключевую роль в развитии безъякорного обнаружения, YOLOv9 является лучшим выбором для текущего развития. Его инновационная архитектура PGI и GELAN обеспечивает более высокую точность при меньшем количестве параметров, решая проблему "узкого места" в информации, которая ограничивала предыдущие глубокие сети.

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

Изучите другие модели

Расширьте свои знания, сравнив другие высококлассные модели в экосистеме Ultralytics :


Комментарии