YOLOX против YOLOv9: техническое сравнение
Выбор правильной архитектуры для object detection — это критически важное решение, которое влияет на скорость, точность и возможность развертывания проектов компьютерного зрения. В этом анализе сравниваются YOLOX, ключевая модель без привязки к якорям, выпущенная в 2021 году, и YOLOv9, современная архитектура, представленная в 2024 году, которая использует Programmable Gradient Information (PGI).
В то время как YOLOX сместил парадигму в сторону обнаружения без привязки к якорям, YOLOv9 представляет новые механизмы для сохранения информации в глубоких сетях, предлагая превосходные показатели производительности. В этом руководстве рассматриваются их архитектуры, эталонные тесты и идеальные варианты использования, чтобы помочь вам выбрать лучшую модель для ваших нужд.
YOLOX: пионер Anchor-Free
YOLOX был выпущен, чтобы устранить разрыв между исследовательским сообществом и промышленными приложениями, упростив головку detect и устранив зависимость от предварительно заданных якорных фреймов.
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация:Megvii
Дата: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Документация:YOLOX Documentation
Основные характеристики архитектуры
YOLOX представил архитектуру decoupled head, разделяющую задачи классификации и регрессии. Это разделение позволяет модели быстрее сходиться и достигать большей точности. Он также использует механизм anchor-free, который устраняет необходимость в кластерном анализе для определения оптимальных размеров anchor box, что делает модель более устойчивой к различным формам объектов. Кроме того, YOLOX использует SimOTA для назначения меток, рассматривая этот процесс как задачу оптимальной транспортировки для повышения стабильности обучения.
Сильные и слабые стороны
- Преимущества: Безанкорная конструкция упрощает процесс настройки гиперпараметров. Разделенная головная часть обычно обеспечивает более высокую точность для задач локализации по сравнению с объединенными головными частями той эпохи.
- Недостатки: Как модель 2021 года, она не имеет современных оптимизаций, которые есть в новых архитектурах. Для достижения максимальной производительности ей может потребоваться больше данных для обучения по сравнению с моделями, использующими передовые методы увеличения данных и агрегации слоев.
YOLOv9: Программируемая градиентная информация
YOLOv9 представляет собой значительный шаг вперед, решая проблему «информационного узкого места», присущую глубоким нейронным сетям.
Авторы: Чен-Яо Ван, Хун-Юань Марк Ляо
Организация:Институт информатики, Academia Sinica
Дата: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Документация:Документация Ultralytics YOLOv9
Основные характеристики архитектуры
YOLOv9 представляет Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). PGI предотвращает потерю важной входной информации при прохождении данных через глубокие слои, обеспечивая надежную генерацию градиента для обновления модели. GELAN оптимизирует использование параметров, позволяя модели быть легкой, но точной. Эти инновации позволяют YOLOv9 значительно превосходить предшественников как по эффективности, так и по средней точности (mAP).
Сильные и слабые стороны
- Преимущества: Исключительное соотношение точности к параметрам, что делает ее очень эффективной для приложений реального времени. Архитектура сохраняет поток информации лучше, чем предыдущие итерации, что приводит к лучшему обнаружению небольших объектов.
- Недостатки: Будучи более новой архитектурой, она может потребовать обновленных драйверов CUDA и аппаратной поддержки по сравнению с устаревшими моделями.
Сравнение производительности
В следующей таблице сравнивается производительность YOLOX и YOLOv9 на датасете COCO. YOLOv9 стабильно демонстрирует более высокие показатели mAP с меньшим количеством параметров, что подчеркивает эффективность архитектуры GELAN.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ: YOLOv9 обеспечивает существенное повышение плотности производительности. Например, YOLOv9c достигает 53,0% mAP всего с 25,3M параметрами, тогда как YOLOX-L требует 54,2M параметров для достижения более низкого результата в 49,7% mAP. Это указывает на то, что YOLOv9 примерно в два раза эффективнее с точки зрения использования параметров для этого уровня точности.
Эффективность имеет значение
При развертывании на периферийных устройствах учет FLOPs и количества параметров так же важен, как и mAP. Архитектура GELAN в YOLOv9 значительно снижает вычислительные затраты, что приводит к меньшему нагреву устройств и увеличению времени автономной работы при мобильном развертывании.
Преимущество Ultralytics
В то время как YOLOX является надежным автономным репозиторием, использование YOLOv9 в рамках экосистемы Ultralytics предлагает явные преимущества для разработчиков и исследователей.
Простота использования и интеграция
Фреймворк Ultralytics унифицирует взаимодействие с моделями. Вы можете обучать, проверять и развертывать YOLOv9, используя простой, интуитивно понятный Python API. Это контрастирует с кодовой базой YOLOX, которая часто требует более ручной настройки переменных среды и путей к наборам данных.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Хорошо поддерживаемая экосистема
Модели Ultralytics выигрывают от непрерывных обновлений, исправления ошибок и поддержки сообщества. Интеграция с Ultralytics HUB обеспечивает бесшовный MLOps, позволяя командам управлять наборами данных, отслеживать эксперименты и развертывать модели в различных форматах (ONNX, TensorRT, CoreML) без написания сложных скриптов экспорта.
Баланс производительности и эффективность памяти
Модели Ultralytics YOLO разработаны для практического баланса между скоростью и точностью. Кроме того, они обычно демонстрируют более низкие требования к памяти во время обучения по сравнению со старыми архитектурами или тяжелыми моделями на основе transformer. Эта эффективность снижает затраты на облачные вычисления и делает обучение доступным на GPU потребительского класса.
Универсальность
В то время как YOLOX в основном является detectором объектов, фреймворк Ultralytics расширяет возможности поддерживаемых им моделей. Пользователи могут легко переключаться между такими задачами, как сегментация экземпляров, оценка позы и detectирование ориентированных ограничивающих рамок (obb), используя аналогичный синтаксис и рабочие процессы, что является универсальностью, которой часто не хватает автономным исследовательским репозиториям.
Идеальные варианты использования
Когда следует выбирать YOLOv9
- Автономные системы: Высокая точность YOLOv9-E идеально подходит для автономных транспортных средств, где detect небольших препятствий на расстоянии имеет решающее значение для безопасности.
- Аналитика в реальном времени: Для розничной торговли или управления трафиком YOLOv9c предлагает оптимальное сочетание высокой частоты кадров и точного обнаружения (detect).
- Edge AI: Архитектурная эффективность GELAN делает YOLOv9t и YOLOv9s идеальными для развертывания на таких устройствах, как NVIDIA Jetson или Raspberry Pi.
Когда следует выбирать YOLOX
- Устаревшая интеграция: Если существующий производственный конвейер уже в значительной степени разработан на основе конкретного формата anchor-free head YOLOX.
- Академические исследования: Исследователи, конкретно изучающие поведение разделенных голов в ранних детекторах без anchor, могут найти YOLOX ценным базовым уровнем для сравнения.
Заключение
Обе архитектуры заслужили свое место в истории компьютерного зрения. YOLOX успешно бросил вызов основанному на якорях статус-кво в 2021 году. Однако YOLOv9 представляет собой современный стандарт, включающий многолетний прогресс в оптимизации градиентного потока и агрегировании слоев.
Для большинства новых разработок YOLOv9 является рекомендуемым выбором. Его превосходная производительность на параметр в сочетании с простотой использования, эффективностью обучения и надежными вариантами развертывания, предоставляемыми экосистемой Ultralytics, обеспечивает более быстрый путь от концепции до производства.
Изучите другие современные варианты в экосистеме, такие как YOLO11 и YOLOv8, чтобы найти идеальное решение для ваших конкретных ограничений применения.