YOLOX против YOLO11: глубокий технический анализ эволюции object detection
Выбор оптимальной архитектуры для detectирования объектов имеет решающее значение для разработчиков, стремящихся сбалансировать точность, задержку и вычислительную эффективность. Этот всесторонний анализ сравнивает YOLOX, новаторскую модель без привязки к якорям от Megvii, и Ultralytics YOLO11, последнюю современную итерацию от Ultralytics. В то время как YOLOX представила значительные инновации в 2021 году, YOLO11 представляет собой передовой уровень компьютерного зрения в 2024 году, предлагая унифицированную структуру для различных задач, начиная от detectирования и заканчивая сегментацией экземпляров.
YOLOX: Наведение мостов между исследованиями и промышленностью
Выпущенный в 2021 году, YOLOX ознаменовал собой значительный сдвиг в семействе YOLO , приняв безъякорный механизм и отсоединив предсказательную головку. Он был разработан для преодоления разрыва между академическими исследованиями и промышленным применением.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Arxiv:YOLOX: Exceeding YOLO Series in 2021
- GitHub:Megvii-BaseDetection/YOLOX
- Документация:Документация YOLOX
Архитектура и инновации
YOLOX отошел от предыдущих итераций, таких как YOLOv5, отказавшись от anchor boxes, что уменьшило сложность проектирования и количество эвристических гиперпараметров. Его архитектура включает в себя decoupled head, разделяющую задачи классификации и регрессии на разные ветви, что улучшило скорость сходимости и точность. Кроме того, он представил SimOTA — продвинутую стратегию назначения меток, которая динамически назначает положительные примеры, что еще больше повышает производительность.
Сильные и слабые стороны
Преимущества:
- Дизайн без Anchor: Устраняет необходимость в ручной кластеризации anchor box, упрощая конвейер обучения.
- Разделенная голова (Decoupled Head): Повышает точность локализации за счет независимой оптимизации классификации и регрессии.
- Базовая линия для исследований: Служит надежной отправной точкой для изучения детекторов без привязки к якорям.
Слабые стороны:
- Ограниченная поддержка задач: В первую очередь ориентирован на object detection, отсутствует встроенная поддержка segment, оценки позы или ориентированных ограничивающих рамок (OBB).
- Фрагментированная экосистема: Отсутствует унифицированный, активно поддерживаемый набор инструментов для развертывания, track и MLOps по сравнению с современными фреймворками.
- Более низкая эффективность: Как правило, требует больше параметров и FLOPs для достижения сопоставимой точности с более новыми моделями, такими как YOLO11.
Ultralytics YOLO11: Новый стандарт для Vision AI
Ultralytics YOLO11 совершенствует наследие object detection в реальном времени, уделяя особое внимание эффективности, гибкости и простоте использования. Она разработана как оптимальное решение как для быстрого прототипирования, так и для крупномасштабных производственных развертываний.
- Авторы: Гленн Джохер, Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:Репозиторий Ultralytics
- Документация:Документация Ultralytics YOLO11
Архитектура и преимущества экосистемы
YOLO11 использует высокооптимизированную архитектуру без привязки к якорям, которая улучшает извлечение признаков, минимизируя при этом вычислительные затраты. В отличие от YOLOX, YOLO11 — это не просто модель, а часть комплексной экосистемы. Она поддерживает широкий спектр задач компьютерного зрения—включая классификацию, segment, оценку позы и track—в рамках единого, удобного API.
Интегрированный MLOps
YOLO11 легко интегрируется с Ultralytics HUB и сторонними инструментами, такими как Weights & Biases и Comet, что позволяет вам визуализировать эксперименты и легко управлять наборами данных.
Почему стоит выбрать YOLO11?
- Универсальность: Единый фреймворк для object detection, сегментации экземпляров, оценки позы и классификации изображений.
- Простота использования: Оптимизированный Python API и CLI позволяют разработчикам обучать и развертывать модели всего в несколько строк кода.
- Баланс производительности: Достигает превосходного mAP с более высокой скоростью инференса как на CPU, так и на GPU по сравнению с предшественниками и конкурентами.
- Эффективность памяти: Разработан с более низкими требованиями к памяти во время обучения и инференса, что делает его более доступным, чем модели на основе трансформеров, такие как RT-DETR.
- Готовность к развертыванию: Встроенная поддержка экспорта в такие форматы, как ONNX, TensorRT, CoreML и TFLite, обеспечивает совместимость с различным оборудованием, от NVIDIA Jetson до мобильных устройств.
Анализ производительности
В таблице ниже показаны различия в производительности между YOLOX и YOLO11. YOLO11 стабильно демонстрирует более высокую точность (mAP) с меньшим количеством параметров и FLOPs, что приводит к более высокой скорости вывода.
| Модель | размер (пиксели) | 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Основные выводы
- Превосходство в эффективности: Модели YOLO11 обеспечивают значительно лучший компромисс между скоростью и точностью. Например, YOLO11m достигает 51.5 mAP всего с 20.1M параметрами, превосходя массивную YOLOX-x (51.1 mAP, 99.1M параметров), будучи примерно в 5 раз меньше.
- Скорость инференса: На T4 GPU с использованием TensorRT, YOLO11n показывает 1,5 мс, что делает его исключительным выбором для приложений инференса в реальном времени, где задержка имеет решающее значение.
- Производительность CPU: Ultralytics предоставляет прозрачные тесты производительности CPU, демонстрируя пригодность YOLO11 для развертывания на устройствах без выделенных ускорителей.
- Эффективность обучения: Архитектура YOLO11 обеспечивает более быструю сходимость во время обучения, экономя ценное время вычислений и ресурсы.
Приложения в реальном мире
Где превосходит YOLO11
- Умные города: Благодаря своей высокой скорости и точности, YOLO11 идеально подходит для систем управления трафиком и мониторинга безопасности пешеходов.
- Производство: Возможность выполнять segmentation и obb detect делает его идеальным для контроля качества и обнаружения дефектов в ориентированных деталях на сборочных линиях.
- Здравоохранение: Высокая точность при эффективном использовании ресурсов позволяет проводить анализ медицинских изображений на периферийных устройствах в клинических условиях.
Где используется YOLOX
- Устаревшие системы: Проекты, созданные примерно в 2021-2022 годах, которые еще не перешли на новые архитектуры.
- Академические исследования: Исследования, конкретно изучающие эффекты разделенных голов или механизмов без anchor в изоляции.
Пользовательский опыт и сравнение кода
Ultralytics уделяет первостепенное внимание оптимизации пользовательского опыта. В то время как YOLOX часто требует сложных файлов конфигурации и ручной настройки, YOLO11 можно использовать с минимальным количеством кода.
Использование Ultralytics YOLO11
Разработчики могут загрузить предварительно обученную модель, запустить вывод и даже обучить ее на пользовательских данных с помощью нескольких строк Python:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
results[0].show()
Простота обучения
Обучение модели YOLO11 на пользовательском наборе данных так же просто. Библиотека автоматически обрабатывает увеличение данных, настройку гиперпараметров и ведение журнала.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Заключение
В то время как YOLOX сыграла ключевую роль в популяризации detectирования объектов без anchor, Ultralytics YOLO11 представляет собой превосходный выбор для современной разработки AI.
YOLO11 превосходит YOLOX по точности, скорости и эффективности, предлагая при этом надежную, хорошо поддерживаемую экосистему. Ее универсальность в решении различных задач компьютерного зрения, устраняющая необходимость использовать разные библиотеки для detect, segment и оценки позы, значительно снижает сложность разработки. Для разработчиков, ищущих перспективное, высокопроизводительное решение, поддерживаемое активным сообществом и всесторонней документацией, YOLO11 является рекомендуемым путем развития.
Узнать больше моделей
Узнайте, как YOLO11 сравнивается с другими ведущими архитектурами, чтобы найти лучший вариант для ваших конкретных потребностей: