YOLOv8 и YOLOX: всестороннее техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для успеха проекта. В этом сравнении рассматриваются технические нюансы между Ultralytics YOLOv8 и YOLOX — двумя известными архитектурами без привязки. Мы анализируем их структурные различия, показатели производительности и пригодность для реальных приложений, чтобы помочь разработчикам принимать обоснованные решения.
Ultralytics YOLOv8: современный стандарт
YOLOv8, представленный Ultralytics в 2023 году, представляет собой значительный скачок вперед в серии YOLO. Он был разработан для объединения высокой производительности с доступным пользовательским интерфейсом, поддерживая широкий спектр задач компьютерного зрения, выходящих за рамки простого detect.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:https://github.com/ultralytics/ultralytics
- Документация:https://docs.ultralytics.com/models/yolov8/
Ключевая архитектура и особенности
YOLOv8 использует механизм anchor-free обнаружения, который упрощает процесс обучения, устраняя необходимость вручную вычислять anchor boxes. Ее архитектура включает модуль C2f, заменяющий модуль C3, который был в предыдущих версиях, для улучшения градиентного потока и извлечения признаков.
Отличительной особенностью YOLOv8 является его многозадачная универсальность. В отличие от многих конкурентов, ограничивающихся ограничивающими рамками, YOLOv8 изначально поддерживает:
- Обнаружение объектов
- Сегментация экземпляров
- Классификация изображений
- Оценка позы
- Oriented Bounding Box (OBB)
Использование и экосистема
Одним из самых сильных преимуществ YOLOv8 является его интеграция в экосистему Ultralytics. Разработчики могут получить доступ к модели через оптимизированный Python API или мощный интерфейс командной строки (CLI).
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# View results
for result in results:
result.show()
Интегрированные рабочие процессы
YOLOv8 легко интегрируется с Ultralytics HUB, что позволяет командам визуализировать наборы данных, обучать модели в облаке и развертывать их на периферийных устройствах без написания сложного шаблонного кода.
YOLOX: пионер Anchor-Free
Выпущенный в 2021 году компанией Megvii, 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 представил структуру decoupled head, разделяющую задачи классификации и регрессии на разные ветви. Этот подход помогает модели быстрее сходиться и повышает точность. Кроме того, YOLOX использует SimOTA (Simplified Optimal Transport Assignment) для назначения меток, динамическую стратегию, которая рассматривает процесс обучения как задачу оптимальной транспортировки.
Несмотря на инновационность при запуске, YOLOX в основном фокусируется на стандартном обнаружении объектов и изначально не поддерживает сложные задачи, такие как сегментация или оценка позы, без значительной настройки.
Сравнительный анализ производительности
При оценке этих моделей для производства первостепенное значение имеет компромисс между скоростью и точностью. В таблице ниже показано, что YOLOv8 стабильно превосходит YOLOX при сопоставимых размерах моделей на наборе данных COCO.
Метрики точности и скорости
YOLOv8 демонстрирует превосходную Mean Average Precision (mAP), особенно в более крупных вариантах. Например, YOLOv8x достигает mAP 53.9, превосходя YOLOX-x с 51.1. Кроме того, Ultralytics предоставляет прозрачные эталонные тесты CPU inference с использованием ONNX, подчеркивая оптимизацию YOLOv8 для сред без GPU.
| Модель | размер (пиксели) | 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 |
Архитектура и эффективность
В то время как модели YOLOX (S/M/L) имеют немного меньше параметров в некоторых конфигурациях, YOLOv8 предлагает лучший баланс производительности. Эффективность YOLOv8 очевидна в ее способности обеспечивать более высокую точность на параметр. Кроме того, YOLOv8 высоко оптимизирована для эффективности обучения, часто сходится быстрее и требует меньше памяти, чем старые архитектуры. Это является решающим фактором при обучении на пользовательских наборах данных, где вычислительные ресурсы могут быть ограничены.
Почему стоит выбрать Ultralytics YOLOv8?
Для подавляющего большинства разработчиков и исследователей YOLOv8 является предпочтительным выбором благодаря своей современной архитектуре, надежной поддержке и простоте использования.
1. Простота использования и документация
Ultralytics уделяет первостепенное внимание опыту разработчиков. Обширная документация охватывает все, от установки до расширенной настройки гиперпараметров. В отличие от этого, старые репозитории, такие как YOLOX, часто требуют больше ручной настройки и имеют более крутые кривые обучения.
2. Хорошо поддерживаемая экосистема
YOLOv8 выигрывает от активного сообщества и частых обновлений. Проблемы оперативно решаются на GitHub, а модель изначально интегрируется с MLOps-инструментами, такими как MLflow, TensorBoard и Weights & Biases. Такой уровень поддержки обеспечивает долгосрочную жизнеспособность коммерческих проектов.
3. Гибкость развертывания
Развертывание моделей в производство упрощается с помощью YOLOv8. Он поддерживает экспорт в один клик в такие форматы, как TensorRT, OpenVINO, CoreML и TFLite. Это делает его идеальным для работы на различном оборудовании, от облачных серверов до устройств Raspberry Pi.
Применение в реальном мире
Производственное предприятие, использующее компьютерное зрение для контроля качества, может использовать многозадачные возможности YOLOv8. Одна модель может detect дефектные детали (detection) и определять точные границы дефекта (segmentation), повышая точность автоматизированных систем сортировки.
Заключение
Обе архитектуры внесли значительный вклад в область компьютерного зрения. YOLOX помог популяризировать object detection без привязки к якорям и остается уважаемым эталоном в академических исследованиях. Однако Ultralytics YOLOv8 представляет собой эволюцию этих концепций в готовую к производству структуру.
Благодаря превосходным показателям mAP, более широкой поддержке задач и непревзойденной экосистеме, YOLOv8 является окончательным решением для современных приложений искусственного интеллекта. Независимо от того, строите ли вы автономные транспортные средства, интеллектуальные системы безопасности или сельскохозяйственные мониторы, YOLOv8 предоставляет инструменты и производительность, необходимые для успеха.
Изучите другие модели
Область обнаружения объектов развивается быстро. Чтобы убедиться, что вы используете лучший инструмент для ваших конкретных потребностей, рассмотрите возможность изучения этих других сравнений и более новых моделей:
- YOLOv8 vs. YOLOv5
- YOLOv8 и YOLOv7
- YOLOv8 vs. RT-DETR
- YOLOv8 и YOLOv10
- Откройте для себя новейшую YOLO11, которая еще больше повышает эффективность и точность.