YOLOX против YOLOv8: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость и требования к развертыванию. На этой странице представлено подробное техническое сравнение YOLOX, высокопроизводительной модели без привязки к якорям от Megvii, и Ultralytics YOLOv8, современной модели, известной своей универсальностью и надежной экосистемой. Мы углубимся в их архитектурные различия, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать лучшую модель для вашего проекта в области компьютерного зрения.
YOLOX: высокопроизводительный детектор без привязки к якорям
YOLOX был представлен компанией Megvii для упрощения архитектуры YOLO при сохранении высокой производительности. Это anchor-free модель, которая стремится устранить разрыв между академическими исследованиями и промышленными приложениями.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: 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: Устраняя предопределенные anchor boxes, YOLOX упрощает конвейер обнаружения и уменьшает количество гиперпараметров, которые необходимо настраивать, что может улучшить обобщение на различных наборах данных.
- Разделенная Head: Она разделяет задачи классификации и локализации на две разные head. Этот архитектурный выбор может привести к более быстрой сходимости и повышению точности по сравнению с объединенными heads, используемыми в некоторых более ранних моделях YOLO.
- Продвинутые стратегии обучения: YOLOX включает SimOTA (Simplified Optimal Transport Assignment), стратегию динамического назначения меток, и мощные методы аугментации данных, такие как MixUp, для повышения производительности.
Сильные и слабые стороны
Преимущества:
- Высокая точность: YOLOX обеспечивает конкурентоспособные показатели mAP, особенно в своих более крупных вариантах модели.
- Простота Anchor-Free (Anchor-Free Simplicity): Подход без привязки к якорям снижает сложность, связанную с конфигурацией и настройкой якорных прямоугольников.
- Устоявшаяся модель: Поскольку она доступна с 2021 года, существует сообщество и несколько сторонних ресурсов, доступных для развертывания.
Слабые стороны:
- Ограниченная универсальность: YOLOX в основном ориентирован на обнаружение объектов. Ему не хватает встроенной поддержки других задач компьютерного зрения, таких как сегментация экземпляров, оценка позы или классификация, которые являются родными для фреймворка Ultralytics.
- Экосистема и поддержка: Хотя это и открытый исходный код, он не является частью интегрированной экосистемы, как Ultralytics. Это может означать, что потребуется больше усилий для развертывания, отслеживания экспериментов и использования таких инструментов, как Ultralytics HUB.
- Пробелы в производительности: Несмотря на скорость, его могут превзойти более новые, высокооптимизированные модели, такие как YOLOv8, особенно в сценариях вывода на CPU, где эталонные тесты не всегда доступны.
Идеальные варианты использования
YOLOX — это отличный выбор для приложений, где основной целью является высокоточная детекция объектов:
- Промышленные приложения: Подходит для таких задач, как автоматизированный контроль качества, где точность обнаружения имеет первостепенное значение.
- Исследования: Служит отличной отправной точкой для исследователей, изучающих методологии обнаружения без привязки к anchor boxes.
- Edge Deployment: Уменьшенные варианты, такие как YOLOX-Nano, предназначены для устройств с ограниченными ресурсами.
Ultralytics YOLOv8: Современная универсальность и производительность
Ultralytics YOLOv8 — это современная, передовая модель, основанная на успехах предыдущих версий YOLO. Она разработана, чтобы быть быстрой, точной и невероятно простой в использовании, предлагая комплексное решение для широкого спектра задач компьютерного зрения.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация: Ultralytics
- Дата: 10.01.2023
- GitHub: https://github.com/ultralytics/ultralytics
- Документация: https://docs.ultralytics.com/models/yolov8/
Архитектура и ключевые особенности
YOLOv8 представляет значительные архитектурные улучшения и превосходный опыт для разработчиков:
- Без Anchor и оптимизированная: Как и YOLOX, YOLOv8 не использует anchor, но имеет новую базовую сеть и модуль C2f, который заменяет модуль C3, найденный в YOLOv5, обеспечивая лучшее извлечение признаков и производительность.
- Поддержка нескольких задач: Ключевым преимуществом YOLOv8 является ее универсальность. Она поддерживает несколько задач компьютерного зрения «из коробки» в рамках единой унифицированной платформы, включая обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB).
- Удобная экосистема: YOLOv8 поддерживается надежной экосистемой Ultralytics, которая включает в себя обширную документацию, простой Python API и CLI, а также бесшовную интеграцию с инструментами для маркировки, обучения и развертывания, такими как Roboflow и Ultralytics HUB.
Сильные и слабые стороны
Преимущества:
- Превосходный баланс производительности: YOLOv8 достигает превосходного компромисса между скоростью и точностью, что делает его подходящим для широкого спектра приложений реального времени.
- Беспрецедентная универсальность: Возможность обрабатывать несколько задач компьютерного зрения в рамках одного фреймворка упрощает конвейеры разработки и уменьшает потребность в нескольких моделях.
- Простота использования: Ultralytics предоставляет оптимизированный пользовательский интерфейс с простым API, исчерпывающей документацией и многочисленными учебными пособиями, что делает его доступным как для новичков, так и для экспертов.
- Хорошо поддерживаемая экосистема: Пользователи получают выгоду от активной разработки, сильного сообщества, частых обновлений и интегрированных инструментов для полного жизненного цикла MLOps.
- Эффективность обучения и памяти: YOLOv8 разработан для эффективных процессов обучения с легкодоступными предварительно обученными весами на наборах данных, таких как COCO. Он также демонстрирует эффективное использование памяти во время обучения и инференса, особенно по сравнению с более сложными архитектурами.
- Гибкость развертывания: Модель высоко оптимизирована для развертывания на различном оборудовании, от периферийных устройств до облачных серверов, с простой возможностью экспорта в такие форматы, как ONNX и TensorRT.
Слабые стороны:
- Будучи очень универсальной и мощной моделью, самые крупные варианты (такие как YOLOv8x) требуют значительных вычислительных ресурсов для обучения и развертывания, что является общей характеристикой современных моделей.
Идеальные варианты использования
Сочетание производительности, универсальности и простоты использования YOLOv8 делает ее идеальным выбором для широкого спектра применений:
- Системы машинного зрения в реальном времени: Идеально подходят для робототехники, автономных транспортных средств и передовых систем безопасности.
- Мультимодальные AI-решения: Одна модель может поддерживать сложные приложения, требующие одновременного обнаружения, сегментации и оценки позы в таких отраслях, как сельское хозяйство и здравоохранение.
- Быстрое прототипирование и производство: Удобный фреймворк и широкая поддержка позволяют разработчикам быстро и эффективно переходить от концепции к производству.
Производительность и тесты: YOLOX против YOLOv8
При сравнении производительности становится ясно, что обе модели обладают большими возможностями. Однако YOLOv8 последовательно демонстрирует преимущество в компромиссе между скоростью и точностью. Таблица ниже показывает, что для сопоставимых размеров моделей YOLOv8 во многих случаях достигает более высоких показателей mAP с меньшим количеством параметров и FLOP. Кроме того, YOLOv8 предоставляет четкие тесты для инференса на CPU, область, в которой данные YOLOX отсутствуют, что подчеркивает его оптимизацию для более широкого спектра оборудования.
Модель | размер (пиксели) |
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 |
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 |
Заключение: какую модель вам следует выбрать?
YOLOX и YOLOv8 — мощные модели обнаружения объектов, но они отвечают разным потребностям и приоритетам.
YOLOX — это надежный и хорошо зарекомендовавший себя детектор без привязки к anchor, обеспечивающий высокую точность. Это жизнеспособный вариант для проектов, ориентированных исключительно на обнаружение объектов, особенно в исследовательском контексте или для команд, у которых есть ресурсы для создания собственных конвейеров MLOps.
Однако, для подавляющего большинства современных разработчиков и исследователей Ultralytics YOLOv8 представляет собой более убедительный и выгодный выбор. Его превосходный баланс скорости и точности в сочетании с беспрецедентной универсальностью для решения множества задач компьютерного зрения делает его более мощным и гибким инструментом. Истинным отличием является экосистема Ultralytics — простота использования, обширная документация, активная поддержка сообщества и интегрированные инструменты, такие как Ultralytics HUB, значительно снижают порог входа и ускоряют циклы разработки.
Для тех, кто ищет современный, высокопроизводительный и удобный фреймворк, поддерживающий широкий спектр приложений от исследований до производства, Ultralytics YOLOv8 является очевидной рекомендацией.
Сравнения с другими моделями
Если вам интересно, как эти модели соотносятся с другими в этой области, ознакомьтесь с этими другими страницами сравнения:
- YOLOv8 vs. YOLOv5
- YOLOv8 vs. YOLOv7
- YOLOv8 vs. YOLOv10
- YOLOv8 vs. RT-DETR
- YOLOX в сравнении с YOLOv5
- YOLOX в сравнении с YOLOv7
- YOLOX в сравнении с YOLOv10
- Ознакомьтесь с последними моделями, такими как YOLO11, для еще более продвинутых возможностей.