YOLOv9 vs YOLOX: технический глубокий разбор современного обнаружения объектов
Область компьютерного зрения стала свидетелем стремительной эволюции архитектур обнаружения объектов в реальном времени. Это руководство представляет собой всестороннее сравнение YOLOv9 и YOLOX, анализирующее их архитектурные инновации, метрики производительности и методологии обучения. Независимо от того, создаешь ли ты интеллектуальные приложения для ИИ в производстве или изучаешь прогнозное моделирование, понимание этих моделей поможет тебе принимать обоснованные решения для следующего развертывания.
Архитектурные инновации
YOLOv9: программируемая градиентная информация
YOLOv9 совершил сдвиг парадигмы, решив проблему «узкого места» (information bottleneck), присущую глубоким нейронным сетям. Его основные инновации включают Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica, Тайвань
- Дата: 21 февраля 2024 г.
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
Сохраняя критически важные данные о признаках в процессе прямого распространения, YOLOv9 гарантирует, что градиенты, используемые для обновления весов во время обратного распространения ошибки, остаются точными. Эта архитектура превосходно справляется с извлечением признаков, что делает её высокоэффективной для обнаружения мелких объектов в сложных условиях, таких как аэрофотосъемка или детальные медицинские снимки.
YOLOX: Наведение мостов между исследованиями и индустрией
Выпущенный в середине 2021 года, YOLOX переориентировал серию YOLO на архитектуру без использования анкоров (anchor-free). Он представил разделенную голову (decoupled head), которая отделяет задачи классификации и локализации, а также использовал стратегию назначения меток SimOTA для улучшения сходимости обучения.
- Авторы: Чжэн Гэ, Сун Тао Лю, Фэн Ван, Земин Ли и Цзянь Сунь
- Организация: Megvii
- Дата: 18 июля 2021 г.
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
Хотя YOLOX был революционным для своего времени, достигнув отличной средней точности (mAP) и исключив необходимость настройки гиперпараметров анкорных рамок, его архитектура с тех пор была превзойдена современными сетями, которые лучше балансируют количество параметров и сохранение признаков.
И YOLOX, и новые модели Ultralytics используют дизайн без анкоров, что снижает сложность настройки гиперпараметров и улучшает обобщающую способность на различных наборах данных.
Анализ производительности
При сравнении этих моделей на эталонном тесте MS COCO достижения YOLOv9 становятся очевидными. YOLOv9 стабильно обеспечивает лучший баланс между точностью и FLOPs.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Хотя YOLOX предлагает облегченные варианты, такие как YOLOX-Nano для экстремальных граничных случаев, варианты YOLOv9 неизменно превосходят аналогичные по размеру модели YOLOX по чистой точности. Например, YOLOv9m достигает 51,4% mAP по сравнению с 49,7% у YOLOXl, несмотря на то, что имеет менее половины параметров (20,0 млн против 54,2 млн).
Преимущество Ultralytics
Выбор модели включает в себя не только архитектурную теорию; экосистема вокруг неё определяет скорость разработки и успех развертывания. Использование YOLOv9 внутри экосистемы Ultralytics обеспечивает непревзойденную простоту использования и надежную поддержку сообщества.
В отличие от старых исследовательских репозиториев, фреймворк Ultralytics предоставляет унифицированный Python API, который упрощает сложные конвейеры. Обучение требует значительно меньше памяти GPU, чем многие аналоги, предлагая невероятную эффективность обучения.
from ultralytics import YOLO
# Initialize the YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on your custom dataset seamlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to TensorRT format
model.export(format="engine")Благодаря встроенной поддержке множества задач, включая обнаружение объектов, сегментацию экземпляров и оценку позы, ты можешь быстро переключать свои решения в области компьютерного зрения, не меняя всю кодовую базу.
Применение в реальных условиях
Специфические сильные стороны этих моделей адаптируют их для различных реальных задач:
Высокоскоростная розничная аналитика
Для современных розничных сред, требующих распознавания товаров в реальном времени, YOLOv9 подходит идеально. Его способность сохранять сложные детали признаков делает его отлично подходящим для развертываний ИИ в ритейле, где необходимо различать визуально схожие товары на переполненной полке.
Устаревшие периферийные развертывания
В сценариях, ограниченных строгими аппаратными требованиями или специализированными NPU, которые плохо работают с новыми блоками агрегации, YOLOX-Nano иногда находит свою нишу. Его простые, облегченные паттерны свертки иногда предпочтительны для крайне ограниченных в ресурсах микроконтроллеров.
Автономная робототехника
Для навигации роботов пропуск мелких объектов может быть катастрофичным. Архитектура GELAN в YOLOv9 гарантирует, что признаки мелких, далеких препятствий не теряются в глубоких слоях сети, превосходя старые модели в критически важных средах безопасности, таких как приложения ИИ в автомобильной промышленности.
Варианты использования и рекомендации
Выбор между YOLOv9 и YOLOX зависит от требований твоего конкретного проекта, ограничений при развертывании и предпочтений в экосистеме.
Когда выбирать YOLOv9
YOLOv9 — сильный выбор для:
- Исследований информационных узких мест: академических проектов, изучающих архитектуры PGI (Programmable Gradient Information) и GELAN (Generalized Efficient Layer Aggregation Network).
- Изучения оптимизации градиентного потока: исследований, сфокусированных на понимании и смягчении потери информации в глубоких слоях сети во время обучения.
- Бенчмаркинга высокоточного детектирования: сценариев, где высокая производительность YOLOv9 на бенчмарке COCO нужна как точка отсчета для архитектурных сравнений.
Когда выбирать YOLOX
YOLOX рекомендуется для:
- Исследований обнаружения без анкоров: Академических исследований, использующих чистую архитектуру YOLOX без анкоров в качестве базы для экспериментов с новыми головами обнаружения или функциями потерь.
- Сверхлегких граничных устройств: Развертывания на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый размер варианта YOLOX-Nano (0.91 млн параметров).
- Исследований назначения меток SimOTA: Исследовательских проектов, изучающих стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Будущее: YOLO26
Хотя YOLOv9 представляет собой впечатляющую веху, требования производственных сред постоянно расширяют границы. Недавно выпущенная YOLO26 представляет собой окончательный стандарт современного ИИ в компьютерном зрении.
YOLO26 полностью переосмысливает конвейер развертывания с нативным дизайном «End-to-End» без NMS. Устраняя необходимость в сложном не-максимальном подавлении (Non-Maximum Suppression) во время постобработки, он обеспечивает значительно меньшую задержку логического вывода.
Более того, YOLO26 включает в себя революционный оптимизатор MuSGD, гибрид SGD и Muon, который заимствует инновации из обучения LLM для обеспечения невероятно стабильной и быстрой сходимости. Удалив Distribution Focal Loss (DFL), YOLO26 достигает до 43% более быстрого логического вывода на CPU по сравнению со своими предшественниками, что делает его абсолютно лучшим выбором для периферийных устройств и корпоративных развертываний. Благодаря заметным улучшениям в распознавании мелких объектов с помощью ProgLoss и STAL, YOLO26 эффективно заменяет как YOLOX, так и YOLOv9.
Инженерам, изучающим современные архитектуры, мы также рекомендуем ознакомиться с YOLO11 и RT-DETR как мощными альтернативами внутри пакета Ultralytics. Убедись, что твой проект защищен от устаревания, используя непревзойденную производительность новейших моделей на платформе Ultralytics Platform.