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

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

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

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

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

Авторы: Чен-Яо Ван, Хун-Юань Марк Ляо
Организация: Институт информатики, Academia Sinica, Тайвань
Дата: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Документация:docs.ultralytics.com/models/yolov9/

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

Основным нововведением YOLOv9 являются два ключевых компонента: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).

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

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

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

YOLOX: Стандарт Anchor-Free

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

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

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

YOLOX отличается от более ранних версий YOLO тем, что отказался от anchor boxes и использует структуру decoupled head.

  • Дизайн без Anchor: Традиционные детекторы полагаются на предопределенные anchor boxes, которые требуют эвристической настройки и кластеризации. YOLOX рассматривает object detection как задачу прогнозирования точек, упрощая дизайн и улучшая обобщение для различных форм объектов.
  • Разделенная голова (Decoupled Head): Задачи классификации и регрессии обрабатываются в отдельных ветвях (головах). Это разделение позволяет модели оптимизировать каждую задачу независимо, что приводит к более быстрой сходимости и лучшей точности.
  • SimOTA: Продвинутая стратегия назначения меток, которая динамически назначает положительные примеры объектам ground truth, дополнительно повышая производительность.

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

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

В таблице ниже показаны различия в производительности. Примечательно, что YOLOv9-C достигает значительно более высокого mAP (53,0%), чем YOLOX-L (49,7%), с менее чем половиной количества параметров (25,3M против 54,2M). Эта эффективность делает 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

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

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

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

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

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

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

Когда следует выбирать YOLOv9

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

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

Когда следует рассмотреть YOLOX

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

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

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

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

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

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

Запуск inference с 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 сыграла ключевую роль в продвижении detectирования без anchor, YOLOv9 является превосходным выбором для текущей разработки. Ее инновационная архитектура PGI и GELAN обеспечивает более высокую точность с меньшим количеством параметров, решая проблему информационного узкого места, которая ограничивала предыдущие глубокие сети.

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

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

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


Комментарии