YOLOv8 против YOLOX: технический углубленный анализ
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое обеспечивает баланс между точностью, скоростью и сложностью развертывания. На этой странице представлено всестороннее техническое сравнение двух мощных моделей семейства YOLO: Ultralytics YOLOv8 и YOLOX. Хотя обе модели не используют anchor-ы и разработаны для высокой производительности, они существенно различаются по архитектуре, универсальности и поддержке экосистемы. Мы углубимся в эти различия, чтобы помочь вам выбрать лучшую модель для вашего проекта в области компьютерного зрения.
Ultralytics YOLOv8: Универсальность и производительность
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация: Ultralytics
- Дата: 10.01.2023
- GitHub: https://github.com/ultralytics/ultralytics
- Документация: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 — это современная модель от Ultralytics, основанная на успехах предыдущих версий YOLO. Она представляет новую магистральную сеть, новую безанкерную головку обнаружения и новую функцию потерь, устанавливая новые стандарты как для скорости, так и для точности. Ключевым отличием YOLOv8 является ее конструкция как комплексной платформы, а не просто детектора объектов.
Архитектура и ключевые особенности
Архитектура YOLOv8 отличается высокой степенью оптимизации и включает модуль C2f (Cross Stage Partial BottleNeck с 2 свертками), который заменяет модуль C3 из YOLOv5. Это изменение обеспечивает более насыщенный поток градиентов и повышает производительность. Будучи anchor-free, она напрямую предсказывает центр объекта, что уменьшает количество предсказаний bounding box-ов и ускоряет Non-Maximum Suppression (NMS).
Сильные стороны
- Превосходный баланс производительности: Модели YOLOv8 демонстрируют исключительный компромисс между точностью (mAP) и скоростью вывода, превосходя многие другие детекторы реального времени, включая YOLOX, в различных масштабах (см. таблицу ниже).
- Универсальность задач: В отличие от моделей, ориентированных исключительно на обнаружение, YOLOv8 — это многозадачный инструмент. Он поддерживает обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и отслеживание объектов в рамках единого унифицированного фреймворка. Эта универсальность делает его идеальным выбором для сложных проектов.
- Простота использования: Ultralytics предоставляет оптимизированный пользовательский интерфейс с простым Python API и мощными командами CLI. Обширная документация и многочисленные учебные пособия упрощают обучение, проверку и развертывание моделей как для новичков, так и для экспертов.
- Хорошо поддерживаемая экосистема: YOLOv8 поддерживается активной разработкой и поддержкой команды Ultralytics и большим сообществом open-source. Он легко интегрируется с такими инструментами, как Ultralytics HUB для MLOps, и платформами отслеживания экспериментов, такими как Weights & Biases.
- Эффективность обучения и памяти: Модель разработана для эффективного обучения, с легкодоступными предварительно обученными весами на наборах данных, таких как COCO. Обычно она требует меньше памяти CUDA во время обучения и инференса по сравнению с более сложными архитектурами.
Слабые стороны
- Как и в случае с любой высокопроизводительной моделью, более крупные варианты YOLOv8 (L/X) требуют значительных вычислительных ресурсов для обучения и инференса в реальном времени на входах с высоким разрешением.
Идеальные варианты использования
Универсальность и простота использования YOLOv8 делают ее идеальной для приложений, требующих баланса высокой точности и производительности в реальном времени:
- Детекция объектов в реальном времени: Приложения, такие как системы безопасности, робототехника и автономные транспортные средства.
- Универсальные решения в области Vision AI: В таких отраслях, как сельское хозяйство, производство и здравоохранение.
- Быстрое прототипирование и развертывание: Отлично подходит для быстрых циклов разработки проектов благодаря удобному интерфейсу и интеграциям, таким как TensorRT и OpenVINO.
YOLOX: Высокая производительность и простота
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: Megvii
- Дата: 18.07.2021
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Документация: https://yolox.readthedocs.io/en/latest/
YOLOX — это еще одна модель YOLO без привязки к anchor box, которая стремится к высокой производительности с упрощенной конструкцией. Она была представлена компанией Megvii в 2021 году и внесла значительный вклад благодаря интеграции передовых методов из области детекции объектов в структуру YOLO.
Архитектура и ключевые особенности
YOLOX также использует anchor-free подход для упрощения обучения и улучшения обобщения. Его ключевые архитектурные инновации включают decoupled head, который разделяет задачи классификации и локализации, и продвинутую стратегию назначения меток под названием SimOTA (Simplified Optimal Transport Assignment). Он также использует сильные методы аугментации данных, такие как MixUp.
Сильные стороны
- Высокая точность: YOLOX достигает конкурентоспособной точности, которая была самой современной на момент ее выпуска, особенно заметной в ее более крупных вариантах модели.
- Эффективный вывод: Обеспечивает высокую скорость inference, подходящую для многих приложений реального времени, особенно на оборудовании GPU.
- Гибкие Backbones: Поддерживает различные backbones, что обеспечивает определенную степень настройки.
Слабые стороны
- Ограничение по задачам: YOLOX в основном ориентирован на обнаружение объектов, ему не хватает встроенной многозадачности YOLOv8 (сегментация, поза и т. д.). Реализация этих задач требует значительного количества пользовательского кода и усилий.
- Экосистема и поддержка: Будучи проектом с открытым исходным кодом, ему не хватает интегрированной экосистемы, обширного набора инструментов (таких как Ultralytics HUB), а также высокого уровня постоянного обслуживания и поддержки сообщества, которые есть в Ultralytics YOLOv8.
- Отставание в производительности: Как показано в таблице ниже, модели YOLOX, как правило, уступают своим аналогам YOLOv8 по важнейшему показателю точности.
- Производительность CPU: Скорость инференса на CPU не является общедоступной в официальных бенчмарках, в отличие от YOLOv8, которая предоставляет четкие метрики производительности CPU, что затрудняет оценку для развертываний, связанных с CPU.
Идеальные варианты использования
YOLOX хорошо подходит для приложений, в которых приоритетом является высокая точность детекции объектов и не требуются многозадачные возможности:
- Высокопроизводительное обнаружение объектов: Сценарии, требующие высокой точности обнаружения объектов, например, в промышленном контроле.
- Развертывание на периферийных устройствах: Меньшие варианты, такие как YOLOX-Nano, подходят для периферийных устройств с ограниченными ресурсами.
- Исследования и разработки: Ее конструкция делает ее жизнеспособным вариантом для академических исследований детекторов без привязки к якорям.
Анализ производительности: YOLOv8 против YOLOX
Прямое сравнение показателей производительности на наборе данных COCO выявляет ключевые компромиссы между YOLOv8 и YOLOX. Наиболее важный показатель, точность (mAP), показывает явное преимущество YOLOv8. Для всех сопоставимых размеров моделей YOLOv8 обеспечивает значительно более высокие показатели mAP. Например, YOLOv8x достигает 53,9 mAP, что явно превосходит 51,1 mAP YOLOX-x.
При анализе эффективности картина становится более сложной. Модели YOLOX, как правило, немного компактнее с точки зрения параметров и FLOPs в малых (s) и средних (m) масштабах. Однако модели YOLOv8 становятся гораздо более эффективными по параметрам в больших (l) и очень больших (x) масштабах. Что касается скорости инференса, YOLOX демонстрирует небольшое преимущество для моделей среднего размера на GPU, в то время как YOLOv8 быстрее в самом большом масштабе.
Ключевым моментом является то, что эта эффективность должна быть сопоставлена с превосходящей точностью YOLOv8. Кроме того, Ultralytics предоставляет прозрачные тесты CPU, демонстрирующие, что YOLOv8 высоко оптимизирована для логического вывода на CPU — критически важный фактор для многих реальных приложений, где GPU недоступен, и метрика, для которой YOLOX не имеет официальных данных.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
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 |
Заключение: почему Ultralytics YOLOv8 является предпочтительным выбором
Несмотря на то, что YOLOX был значительным шагом вперед для детекторов объектов без привязки к якорям, Ultralytics YOLOv8 представляет собой более продвинутое, универсальное и удобное для пользователя решение. YOLOv8 не только превосходит YOLOX по основному показателю точности обнаружения объектов, но и расширяет свои возможности для широкого спектра задач компьютерного зрения.
Для разработчиков и исследователей выбор очевиден. YOLOv8 предлагает:
- Более высокая точность и эффективность: Улучшенный общий пакет производительности, приоритет точности при сохранении конкурентоспособной скорости.
- Поддержка нескольких задач: Унифицированная платформа для обнаружения, сегментации, классификации, определения позы и отслеживания.
- Процветающая экосистема: Постоянные обновления, обширная документация, профессиональная поддержка и мощные инструменты, такие как Ultralytics HUB.
- Гибкость развертывания: Прозрачные метрики производительности как для GPU, так и для CPU, с простой возможностью экспорта в такие форматы, как ONNX и TensorRT.
Для проектов, требующих современной производительности, простоты использования и надежной, хорошо поддерживаемой платформы, YOLOv8 — это окончательный выбор.
Изучите другие модели
Ваше изучение моделей обнаружения объектов не должно останавливаться на этом. Эта область постоянно развивается. Рассмотрите возможность сравнения этих моделей с другими, чтобы получить полную картину:
- YOLOv8 vs. YOLOv7
- YOLOv8 vs. YOLOv5
- RT-DETR против YOLOv8
- YOLOX в сравнении с YOLOv7
- Ознакомьтесь с последними моделями от Ultralytics, такими как YOLOv10 и YOLO11, которые еще больше расширяют границы производительности.