YOLOX против YOLOv9: техническое сравнение
Выбор правильной архитектуры для обнаружения объектов - критически важное решение, влияющее на скорость, точность и возможность развертывания проектов в области компьютерного зрения. В данном анализе сравниваются YOLOX, ключевая модель без якорей, выпущенная в 2021 году, и YOLOv9передовой архитектурой, представленной в 2024 году и использующей программируемую градиентную информацию (PGI).
В то время как YOLOX сместил парадигму в сторону безъякорного обнаружения, YOLOv9 представляет новые механизмы сохранения информации в глубоких сетях, предлагая превосходные показатели производительности. В этом руководстве рассматриваются их архитектуры, эталоны и идеальные сценарии использования, чтобы помочь вам выбрать лучшую модель для ваших нужд.
YOLOX: пионер без якоря
YOLOX был выпущен, чтобы преодолеть разрыв между исследовательским сообществом и промышленными приложениями, упростив головку обнаружения и устранив зависимость от предопределенных якорных блоков.
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:YOLOX Documentation
Основные моменты архитектуры
В YOLOX реализована архитектура с раздельными головами, разделяющая задачи классификации и регрессии. Такое разделение позволяет модели быстрее сходиться и достигать более высокой точности. В ней также используется механизм без якорей, который устраняет необходимость в кластерном анализе для определения оптимальных размеров якорных ящиков, что делает модель более устойчивой к различным формам объектов. Кроме того, YOLOX использует SimOTA для присвоения меток, рассматривая этот процесс как оптимальную транспортную задачу для повышения стабильности обучения.
Сильные и слабые стороны
- Сильные стороны: Безъякорная конструкция упрощает процесс настройки гиперпараметров. Головка с развязанной связью обычно обеспечивает более высокую точность в задачах локализации по сравнению с головками с развязанной связью того времени.
- Слабые стороны: Модель 2021 года не обладает современными оптимизациями, присутствующими в более новых архитектурах. Для достижения максимальной производительности может потребоваться больше обучающих данных по сравнению с моделями, использующими передовые методы увеличения данных и агрегирования слоев.
YOLOv9: программируемая информация о градиенте
YOLOv9 представляет собой значительный скачок вперед, решая проблему "информационного узкого места", присущую глубоким нейронным сетям.
Авторы: Chien-Yao Wang, Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica
Date: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9 Docs
Основные моменты архитектуры
В YOLOv9 появилась программируемая информация о градиенте (PGI) и обобщенная эффективная сеть агрегирования слоев (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 и Parameters важны не меньше, чем mAP. Архитектура GELAN в YOLOv9 значительно снижает накладные расходы на вычисления, что приводит к более низкой температуре работы устройств и увеличению времени автономной работы в мобильных развертываниях.
Преимущество Ultralytics
Хотя YOLOX является надежным самостоятельным репозиторием, использование YOLOv9 в рамках экосистемыUltralytics дает разработчикам и исследователям явные преимущества.
Простота использования и интеграции
Фреймворк Ultralytics унифицирует взаимодействие моделей. Вы можете обучать, проверять и развертывать YOLOv9 с помощью простого и интуитивно понятного API наPython . Это отличается от кодовой базы 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, позволяя командам управлять наборами данных, track эксперименты и развертывать модели в различных форматахONNX, TensorRT, CoreML) без написания сложных скриптов экспорта.
Баланс производительности и эффективность памяти
Модели Ultralytics YOLO разработаны для практического баланса между скоростью и точностью. Кроме того, они обычно требуют меньше памяти во время обучения по сравнению со старыми архитектурами или моделями на основе тяжелых трансформаторов. Такая эффективность снижает затраты на облачные вычисления и делает обучение доступным на графических процессорах потребительского класса.
Универсальность
Хотя YOLOX - это в первую очередь детектор объектов, фреймворк Ultralytics расширяет возможности поддерживаемых им моделей. Пользователи могут легко переключаться между такими задачами, как сегментация экземпляров, оценка позы и обнаружение ориентированных ограничительных рамок (OBB), используя схожий синтаксис и рабочие процессы, чего часто не хватает отдельным исследовательским репозиториям.
Идеальные варианты использования
Когда выбирать YOLOv9
- Автономные системы: Высокая точность YOLOv9 идеально подходит для автономных транспортных средств, где обнаружение небольших препятствий на расстоянии является критически важным для безопасности.
- Аналитика в режиме реального времени: Для розничной торговли или управления трафиком YOLOv9c предлагает оптимальное сочетание высокой частоты кадров и точного обнаружения.
- Edge AI: Архитектурная эффективность GELAN делает YOLOv9t и YOLOv9s идеальными для развертывания на таких устройствах, как NVIDIA Jetson или Raspberry Pi.
Когда стоит выбрать YOLOX
- Интеграция по старинке: Если существующий производственный трубопровод уже в значительной степени разработан с учетом специфического формата безъякорных головок YOLOX.
- Академические исследования: Исследователи, специально изучающие поведение отсоединенных головок в ранних безъякорных детекторах, могут найти YOLOX в качестве ценного базового уровня для сравнения.
Заключение
Обе архитектуры заняли достойное место в истории компьютерного зрения. YOLOX успешно бросил вызов статус-кво, основанному на якорях, в 2021 году. Однако, YOLOv9 представляет собой современный стандарт, вобравший в себя многолетние достижения в оптимизации градиентного потока и агрегировании слоев.
Для большинства новых разработок рекомендуется использоватьYOLOv9 . Его превосходная производительность по каждому параметру в сочетании с простотой использования, эффективностью обучения и широкими возможностями развертывания, предоставляемыми экосистемой Ultralytics , обеспечивает более быстрый путь от концепции до производства.
Изучите другие современные варианты в экосистеме, такие как YOLO11 и YOLOv8чтобы найти идеальный вариант для решения конкретных задач.