YOLOX против YOLO: глубокое погружение в эволюцию обнаружения объектов
Область обнаружения объектов постоянно развивается, и исследователи постоянно расширяют границы точности, скорости выводов и архитектурной эффективности. Два заметных вклада в эту область - YOLOX и YOLO. YOLOX возродил семейство YOLO , внедрив механизм без якорей, а YOLO использовал нейронную архитектуру поиска (NAS) для оптимизации производительности специально для промышленных приложений.
В этом руководстве приводится всестороннее техническое сравнение, которое поможет разработчикам и исследователям понять нюансы каждой модели, их идеальные сценарии использования и их сравнение с такими современными решениями, как Ultralytics YOLO11.
YOLOX: пионер без якоря
Разработанный компанией Megvii, YOLOX стал значительным сдвигом в линейке YOLO , когда он был выпущен в 2021 году. Переход на безъякорную конструкцию упростил процесс обучения и избавил от необходимости сложных расчетов якорных ящиков, которые были характерны для предыдущих итераций, таких как YOLOv4 и YOLOv5.
Технические детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: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 объединяет несколько передовых технологий для достижения своей эффективности:
- Механизм без якорей: Благодаря прямому прогнозированию центров объектов, YOLOX сокращает количество параметров проектирования и этапов эвристической настройки, связанных с методами, основанными на якорях.
- Отделенная головка: в отличие от объединенных головок, которые обрабатывают классификацию и регрессию вместе, YOLOX разделяет эти задачи. Такое разделение повышает скорость сходимости и общую точность.
- SimOTA: усовершенствованная стратегия присвоения меток под названием Simplified Optimal Transport Assignment (SimOTA) динамически присваивает положительные образцы истинным, оптимизируя цель обучения более эффективно, чем статическое соответствие.
Почему без якоря?
Безъякорные детекторы упрощают разработку модели, избавляя от необходимости вручную настраивать гиперпараметры якорных ящиков (например, размер и соотношение сторон) для конкретных наборов данных. Это часто приводит к лучшему обобщению для различных форм объектов.
YOLO: нейронная архитектура, оптимизированная для поиска
YOLO , выпущенный Alibaba Group в конце 2022 года, нацелен на преодоление разрыва между высокой производительностью и низкой задержкой. В нем используются автоматизированные методы машинного обучения для обнаружения эффективных сетевых структур, что делает его сильным соперником для промышленных приложений, требующих обработки данных в режиме реального времени.
Технические детали:
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация:Alibaba Group
- Дата: 23.11.2022
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- Документы:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Основные архитектурные особенности
YOLO представляет несколько "новых технологий" в экосистеме YOLO :
- MAE-NAS Backbone: Модель использует основу, созданную с помощью нейронной архитектуры (NAS) на основе метрики средней абсолютной ошибки (MAE). Это гарантирует, что экстрактор признаков идеально подходит для задачи обнаружения.
- RepGFPN: Конструкция "тяжелой шеи" на основе обобщенной сети пирамид признаков (GFPN), использующая повторную параметризацию для достижения максимальной эффективности слияния признаков при сохранении низкой задержки вывода.
- ZeroHead: упрощенная головка обнаружения, которая снижает вычислительные затраты без ущерба для точности предсказаний.
- AlignedOTA: эволюция присвоения меток, которая лучше согласует оценки классификации с точностью регрессии, обеспечивая приоритет высококачественных прогнозов.
Анализ производительности
При сравнении этих двух моделей важно обратить внимание на компромисс между точностьюmAP) и скоростью вывода (latency). В таблице ниже показано, что хотя YOLOX остается конкурентоспособной, более новая архитектура YOLO обеспечивает более высокую скорость работы на GPU при схожих уровнях точности.
| Модель | размер (пиксели) | 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
Критические точки сравнения
- Скорость против точности: YOLO(DAMO-YOLOt) достигает более высокого mAP (42,0), чем YOLOX-Small (40,5), при этом работает быстрее (2,32 мс против 2,56 мс) и использует меньшее количество FLOP. Это демонстрирует эффективность оптимизированной для NAS магистрали.
- Эффективность использования параметров: YOLOX-Nano очень легкий (0,91 М параметров), что делает его жизнеспособным вариантом для крайне ограниченных в ресурсах граничных устройств, где каждый байт на счету, хотя YOLO не предлагает прямого конкурента в этом специфическом масштабе.
- Производительность высшего класса: Хотя точность YOLOX-X достигает 51,1 mAP, он использует огромное количество параметров (99,1M). YOLO достигает сопоставимого показателя 50,8 mAP с меньшим количеством параметров (42,1M), что подчеркивает более современную и эффективную конструкцию.
Случаи использования и приложения
Выбор между YOLOX и YOLO часто зависит от конкретной среды развертывания.
- YOLOX хорошо подходит для исследовательских сред и сценариев, требующих простой, безъякорной реализации. Его зрелость означает, что существует множество ресурсов сообщества и учебных пособий. Он является сильным кандидатом для решения задач обнаружения объектов общего назначения, где требуется совместимость со старыми версиями.
- YOLO отлично подходит для промышленной автоматизации и приложений "умного города", где низкая задержка на GPU имеет решающее значение. Оптимизированная архитектура делает его идеальным для высокопроизводительной видеоаналитики и обнаружения дефектов в реальном времени на производстве.
Ultralytics YOLO11: превосходная альтернатива
Хотя YOLOX и YOLO предлагают надежные возможности обнаружения, они в значительной степени ограничены этой единственной задачей и не имеют единой, поддерживающей экосистемы. Для разработчиков, ищущих комплексное решение, Ultralytics YOLO11 представляет собой передовое решение в области искусственного интеллекта зрения.
Модели Ultralytics разработаны не просто как архитектура, а как полноценный инструмент разработчика.
Почему стоит выбрать Ultralytics YOLO11?
- Универсальность в решении различных задач: В отличие от YOLOX и YOLO, которые ориентированы в основном на обнаружение ограничивающих рамок, YOLO11 поддерживает широкий спектр задач компьютерного зрения. Это сегментация объектов, оценка положения, обнаружение ориентированных объектов (OBB) и классификация изображений.
- Непревзойденная простота использования: Ultralytics Python API позволяет обучать, проверять и развертывать модели с помощью всего нескольких строк кода. Нет необходимости клонировать сложные репозитории или вручную настраивать пути к окружению.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет частые обновления, обеспечивая совместимость с последними версиями PyTorch, ONNXи TensorRT. Благодаря активному сообществу и обширной документации вы никогда не останетесь без поддержки.
- Эффективность тренировок и память: YOLO11 создан для повышения эффективности. Как правило, он требует меньше памяти GPU во время обучения по сравнению со старыми архитектурами или моделями на основе тяжелых трансформаторов, что позволяет ускорить итерации и снизить затраты на облачные вычисления.
- Баланс производительности: YOLO11 опирается на наследие предыдущих версий YOLO и обеспечивает оптимальный баланс скорости и точности, что делает его пригодным для развертывания на всех устройствах - от NVIDIA Jetson до облачных серверов корпоративного уровня.
Простота использования Ultralytics
Обучение модели YOLO11 невероятно простое по сравнению с традиционными фреймворками.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
Заключение
И YOLOX, и YOLO заняли достойное место в истории компьютерного зрения. YOLOX успешно популяризировал безъякорную парадигму, а YOLO продемонстрировал возможности нейроархитектурного поиска для оптимизации промышленных детекторов. Однако для современных приложений, требующих гибкости, долгосрочной поддержки и многозадачности, Ultralytics YOLO11 является лучшим выбором. Его интеграция в надежную экосистему в сочетании с современной производительностью и минимальным объемом памяти позволяет разработчикам с легкостью создавать масштабируемые и эффективные ИИ-решения.
Изучите другие модели
Чтобы получить более полное представление о том, как эти модели соотносятся с другими современными архитектурами, изучите наши страницы с подробными сравнениями:
- YOLO11 vs. DAMO-YOLO
- YOLOv8 против YOLOX
- RT-DETR против DAMO-YOLO
- YOLOv10 против YOLOX
- EfficientDet против YOLOX
- PP-YOLOE против DAMO-YOLO