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

YOLOv9 YOLOX: эволюция архитектуры и техническое сравнение

В этом подробном анализе сравниваются YOLOv9, известный своей революционной технологией Programmable Gradient Information (PGI), с YOLOX, передовым детектором объектов без анкеров. Мы исследуем их архитектурные различия, показатели производительности и идеальные сценарии развертывания, чтобы помочь вам выбрать подходящую модель для ваших проектов в области компьютерного зрения.

Сравнение метрик производительности

В следующей таблице приведены сравнительные показатели ключевых показателей эффективности. 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

YOLOv9: Программируемая градиентная информация

YOLOv9, выпущенный в феврале 2024 года исследователями из Academia Sinica, представляет собой значительные архитектурные инновации, направленные на решение проблемы «информационного узкого места» в глубоких нейронных сетях.

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

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

  • Программируемая информация о градиенте (PGI): PGI — это вспомогательная система контроля, которая генерирует надежные градиенты для обновления параметров сети. Она гарантирует, что важная семантическая информация не теряется при прохождении данных через глубокие слои, что является распространенной проблемой в легких моделях.
  • Архитектура GELAN: Универсальная сеть с агрегацией эффективных слоев (GELAN) сочетает в себе лучшие аспекты CSPNet и ELAN. Она уделяет приоритетное внимание эффективности параметров и скорости вывода, что позволяет YOLOv9 более высокой точности с меньшим количеством FLOP по сравнению с предшественниками.
  • Универсальность: в отличие от более ранних версий, ограниченных обнаружением, YOLOv9 поддерживает сегментацию экземпляров и паноптическую сегментацию, что делает его универсальным выбором для сложных задач машинного зрения.

Оптимизированное обучение с Ultralytics

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

from ultralytics import YOLO

# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")

# Train on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

YOLOX: пионер Anchor-Free

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

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

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

  • Механизм без анкоров: благодаря удалению заранее определенных анкорных блоков YOLOX устраняет необходимость в ручной настройке анкоров (кластеризации) и снижает сложность головки обнаружения.
  • Разделение задач: YOLOX разделяет задачи классификации и регрессии на разные ветви. Это разделение устраняет конфликт между этими двумя задачами, что приводит к более быстрой конвергенции и лучшей точности.
  • Назначение меток SimOTA: YOLOX использует SimOTA (Simplified Optimal Transport Assignment), стратегию динамического назначения меток, которая автоматически сопоставляет объекты реальной действительности с прогнозами на основе глобальной оптимизации.

Сравнительный анализ

Простота использования и экосистема

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

  • Единый API: независимо от того, используете ли вы YOLOv9, YOLO11 или YOLO26, команды для обучения, валидации и вывода остаются одинаковыми.
  • Подробная документация: Ultralytics обширные руководства по настройке гиперпараметров, экспорту моделей и стратегиям развертывания.
  • Активное обслуживание: частые обновления обеспечивают совместимость с последними версиями PyTorch версиями и CUDA .

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

Производительность и эффективность

  • Точность: YOLOv9 превосходит YOLOX по mAP сопоставимых размерах моделей. Например, YOLOv9m достигает 51,4% mAP по сравнению с 46,9% у YOLOX-m, несмотря на меньшее количество параметров (20,0 млн против 25,3 млн).
  • Скорость вывода: хотя YOLOX стал прорывом в области скорости в 2021 году, современные архитектуры, такие как GELAN в YOLOv9 , еще больше YOLOv9 эффективность. YOLOv9t работает со скоростью 2,3 мс на GPU T4, что делает его идеальным для приложений, работающих в режиме реального времени.
  • Эффективность использования памяти: Ultralytics оптимизированы для снижения использования GPU во время обучения. Это позволяет исследователям обучать более крупные партии или более сложные модели на потребительском оборудовании по сравнению со старыми архитектурами или моделями на основе трансформаторов, такими как RT-DETR.

Случаи использования

  • Выберите YOLOv9 , YOLOv9 : вам нужна высочайшая точность, требуется поддержка сегментации или вы хотите максимально упростить процесс развертывания с помощью Ultralytics . Этот алгоритм отлично подходит для промышленного контроля и автономных систем.
  • Выберите YOLOX, если: вы обслуживаете устаревшие системы, построенные на кодовой базе YOLOX, или вам необходимо специфическое поведение его анкерного головного устройства для сравнения в исследовательских целях.

Взгляд в будущее: Мощь YOLO26

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

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

YOLO26 представляет несколько революционных функций:

  • Полная NMS: благодаря устранению немаксимального подавления (NMS) YOLO26 упрощает развертывание и снижает изменчивость задержки, концепция, впервые примененная в YOLOv10.
  • MuSGD Optimizer: вдохновленный обучением LLM, этот гибридный оптимизатор обеспечивает стабильную конвергенцию и является устойчивым при различных размерах партий.
  • ProgLoss + STAL: эти усовершенствованные функции потери значительно улучшают обнаружение мелких объектов, делая YOLO26 идеальным решением для аэрофотосъемки и применения в дронах.
  • На 43% более быстрое CPU : благодаря удалению Distribution Focal Loss (DFL) YOLO26 специально оптимизирован для периферийных устройств, CPU, таких как Raspberry Pi.

Запуск YOLO26 в Python

Оцените скорость последнего поколения с помощью всего нескольких строк кода:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

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

Заключение

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

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

Соответствующие модели

Если вы изучаете архитектуры обнаружения объектов, вам также может быть интересно:

  • YOLO11: Мощный предшественник YOLO26, известный своей надежностью.
  • RT-DETR: детектор на основе трансформатора, обеспечивающий высокую точность, но требующий больших ресурсов.
  • YOLOv8: очень популярная модель, в которой была представлена унифицированная структура для обнаружения, сегментации и определения положения.

Комментарии