YOLOX в сравнении с YOLOv5: техническое сравнение
В быстро развивающейся области компьютерного зрения серия YOLO (You Only Look Once) постоянно расширяет границы обнаружения объектов в реальном времени. На этой странице представлено подробное техническое сравнение двух влиятельных моделей в этой серии: YOLOX, разработанной Megvii, и Ultralytics YOLOv5. Хотя обе модели предлагают мощные возможности, они построены на разных философиях проектирования. YOLOX представляет безякорный подход для упрощения головки обнаружения и повышения производительности, в то время как YOLOv5 зарекомендовал себя как отраслевой стандарт, известный своим исключительным балансом скорости, точности и простоты использования.
Это сравнение углубляется в их архитектурные различия, метрики производительности и идеальные варианты использования, чтобы помочь вам выбрать наиболее подходящую модель для вашего проекта, независимо от того, отдаете ли вы приоритет абсолютной точности, скорости развертывания или общей эффективности разработки.
YOLOX: Anchor-Free и высокопроизводительная альтернатива
YOLOX был представлен 18 июля 2021 года исследователями из Megvii. Он представляет собой anchor-free подход к обнаружению объектов, нацеленный на высокую производительность с упрощенной конструкцией по сравнению с традиционными методами на основе anchor. Устраняя предопределенные anchor boxes, 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 отличается несколькими ключевыми инновациями. Его основной особенностью является механизм обнаружения anchor-free, который напрямую предсказывает свойства объекта, не полагаясь на набор предопределенных anchor boxes. Это упрощает конвейер обучения и избавляет от необходимости настройки anchor. Архитектура также включает decoupled heads для задач классификации и локализации, которые, по мнению авторов, улучшают сходимость и точность. Кроме того, YOLOX использует продвинутую стратегию назначения меток под названием SimOTA для динамического назначения положительных примеров для обучения, что повышает его производительность на сложных объектах.
Сильные стороны
- Высокая точность: YOLOX достигает конкурентоспособной точности, часто превосходя другие модели аналогичного размера на таких бенчмарках, как COCO, благодаря своей разделенной голове и передовым методам назначения меток.
- Обнаружение без привязки к якорям (Anchor-Free Detection): Это упрощает конвейер обнаружения и может улучшить обобщение за счет устранения зависимостей от конфигураций ограничивающих рамок (anchor box), которые часто требуют настройки для конкретной области.
Слабые стороны
- Сложность реализации: Хотя отсутствие anchor упрощает один аспект, введение decoupled heads и продвинутых стратегий, таких как SimOTA, может добавить сложности в реализацию и понимание модели.
- Внешняя экосистема: YOLOX не является частью пакета Ultralytics, что означает отсутствие простой интеграции с такими инструментами, как Ultralytics HUB. Это может привести к более сложной кривой обучения по сравнению с унифицированным и хорошо документированным опытом Ultralytics.
- Скорость CPU: Как видно из тестов производительности, скорость инференса на CPU может отставать от высокооптимизированных моделей, таких как YOLOv5, особенно для более крупных вариантов YOLOX.
Случаи использования
YOLOX хорошо подходит для приложений, где достижение максимально возможной точности является основной целью:
- Автономное вождение: Его высокая точность ценна для задач восприятия в автономных транспортных средствах, где правильная идентификация всех объектов имеет решающее значение.
- Продвинутая робототехника: Идеально подходит для сложных сред, где роботам необходимо выполнять точное обнаружение объектов для навигации и взаимодействия, как это рассматривается в разделе ИИ в робототехнике.
- Исследования: Служит надежной отправной точкой для академических и промышленных исследований методологий без привязки к anchor boxes и передовых методов обучения в области обнаружения объектов.
YOLOv5: Универсальная и широко используемая модель
Ultralytics YOLOv5, выпущенный 26 июня 2020 года, стал отраслевым стандартом, получив признание за отличный баланс скорости, точности и замечательную простоту использования. Разработанный Гленном Джохером в Ultralytics, он полностью построен на PyTorch, что делает его очень доступным для широкого сообщества разработчиков и исследователей.
Технические детали:
- Автор: Гленн Джокер
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: https://github.com/ultralytics/yolov5
- Документация: https://docs.ultralytics.com/models/yolov5/
Архитектура и ключевые особенности
YOLOv5 использует CSPDarknet53 в качестве основы для извлечения признаков и PANet в качестве neck для агрегирования признаков, что является проверенной комбинацией для эффективного обнаружения объектов. Его архитектура обладает высокой масштабируемостью и предлагается в различных размерах (n, s, m, l, x) для удовлетворения различных вычислительных бюджетов и потребностей в производительности. В отличие от YOLOX, он использует anchor-based detection head, который высоко оптимизирован для скорости. Модель является частью комплексной экосистемы, которая включает в себя простой Python API, обширную документацию и no-code платформу Ultralytics HUB для обучения и развертывания.
Сильные стороны
- Исключительная скорость инференса: YOLOv5 высоко оптимизирована для быстрого обнаружения, что делает ее лучшим выбором для систем реального времени как на оборудовании CPU, так и на GPU.
- Простота использования: Известный своим простым API, всесторонней документацией и бесшовной интеграцией в экосистему Ultralytics, что значительно снижает порог вхождения для разработчиков.
- Развитая экосистема: Преимуществами являются большое, активное сообщество, частые обновления и обширные ресурсы, включая легкодоступные предварительно обученные веса.
- Эффективность обучения: Процесс обучения очень эффективен, с более быстрым временем сходимости и, как правило, более низкими требованиями к памяти по сравнению с более сложными архитектурами.
- Универсальность: YOLOv5 поддерживает несколько задач компьютерного зрения, помимо обнаружения, включая сегментацию экземпляров и классификацию изображений в рамках одной и той же структуры.
Слабые стороны
- Детектирование на основе Anchor: Опирается на anchor boxes, что может потребовать настройки для достижения оптимальной производительности на наборах данных с объектами необычной формы или масштаба по сравнению с детекторами без anchor.
- Компромисс в точности: Предлагая отличный баланс, небольшие модели YOLOv5 приоритезируют скорость, что может привести к незначительному снижению точности по сравнению с более крупными моделями или новыми архитектурами, разработанными специально для достижения максимальной точности.
Случаи использования
Универсальность и эффективность YOLOv5 делают его подходящим для широкого спектра областей:
- Edge Computing: Его скорость и меньшие размеры моделей делают его идеальным для развертывания на устройствах с ограниченными ресурсами, таких как Raspberry Pi и NVIDIA Jetson.
- Промышленная автоматизация: Обеспечивает контроль качества и автоматизацию процессов в производстве, например, повышая эффективность переработки.
- Безопасность и видеонаблюдение: Обеспечивает мониторинг в реальном времени в системах безопасности для таких приложений, как предотвращение краж.
- Мобильные приложения: Подходит для задач обнаружения объектов на устройстве, где низкая задержка и эффективность имеют решающее значение.
Прямое сравнение производительности: скорость против точности
При сравнении YOLOX и YOLOv5 выявляется явный компромисс между точностью и скоростью. Модели YOLOX обычно достигают более высокого балла mAPval для данного размера модели, что демонстрирует эффективность его anchor-free дизайна и передовых стратегий обучения. Например, YOLOX-x достигает 51,1 mAP, немного опережая YOLOv5x.
Тем не менее, Ultralytics YOLOv5 имеет значительное преимущество в скорости инференса. Меньшие модели YOLOv5, такие как YOLOv5n, исключительно быстры как на CPU, так и на GPU, что делает их идеальными для приложений реального времени на периферийных устройствах. Таблица производительности показывает, что YOLOv5n достигает задержки TensorRT всего в 1,12 мс, что более чем в два раза быстрее, чем YOLOX-s. Эта эффективность делает YOLOv5 более практичным выбором для многих производственных сред, где скорость является критическим ограничением.
Модель | размер (пиксели) |
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 |
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Заключение: какую модель вам следует выбрать?
YOLOX и YOLOv5 — мощные модели обнаружения объектов, но они отвечают разным приоритетам. YOLOX — отличный выбор для исследователей и разработчиков, которые отдают приоритет максимальной точности и заинтересованы в изучении преимуществ архитектур без привязки к якорям. Его высокая производительность на эталонных тестах делает его грозной моделью для задач, где точность имеет первостепенное значение.
Однако, для подавляющего большинства реальных приложений Ultralytics YOLOv5 представляет собой более убедительный общий пакет. Его ключевые преимущества заключаются в его исключительной скорости, простоте использования и надежной экосистеме. Разработчики могут быстро приступить к работе благодаря всеобъемлющей документации, простому API и оптимизированному процессу обучения. Эффективность модели делает ее очень практичной для развертывания, особенно в сценариях реального времени и периферийных вычислений.
Кроме того, непрерывная разработка и поддержка со стороны Ultralytics означает, что пользователи получают выгоду от хорошо поддерживаемой и постоянно совершенствующейся платформы. Тем, кто ищет передовую производительность в сочетании с удобством использования и универсальностью, также настоятельно рекомендуется изучить новые модели Ultralytics, такие как YOLOv8 и YOLO11, поскольку они развивают прочный фундамент YOLOv5, предлагая еще большие возможности.
Сравнения с другими моделями
Если вам интересно сравнить эти модели с другими, ознакомьтесь со следующими страницами:
- YOLOv8 против YOLOX
- YOLOv10 против YOLOX
- RT-DETR против YOLOv5
- YOLOv8 vs. YOLOv5
- YOLOv9 против YOLOv5