YOLOX против DAMO-YOLO: глубокий анализ эволюции object detection
Ландшафт object detection постоянно развивается, и исследователи постоянно расширяют границы точности, скорости вывода и архитектурной эффективности. Двумя заметными вкладами в эту область являются YOLOX и DAMO-YOLO. YOLOX оживил семейство YOLO, представив механизм без привязки к якорям, а DAMO-YOLO использовал Neural Architecture Search (NAS) для оптимизации производительности специально для промышленных приложений.
В этом руководстве представлено всестороннее техническое сравнение, которое поможет разработчикам и исследователям понять нюансы каждой модели, их идеальные варианты использования и то, как они соотносятся с современными решениями, такими как Ultralytics YOLO11.
YOLOX: пионер Anchor-Free
YOLOX, разработанная Megvii, ознаменовала собой значительный сдвиг в родословной 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 объединяет несколько передовых методов для достижения своей производительности:
- Механизм без Anchor: Прогнозируя центры объектов напрямую, YOLOX уменьшает количество параметров проектирования и эвристических этапов настройки, связанных с методами на основе anchor.
- Разделенная голова (Decoupled Head): В отличие от связанных голов, которые обрабатывают классификацию и регрессию вместе, YOLOX разделяет эти задачи. Это разделение улучшает скорость сходимости и общую точность.
- SimOTA: Продвинутая стратегия назначения меток, называемая Simplified Optimal Transport Assignment (SimOTA), динамически назначает положительные примеры ground truths, оптимизируя цель обучения более эффективно, чем статическое сопоставление.
Почему без привязки к якорям?
Детекторы без якорей упрощают структуру модели, устраняя необходимость вручную настраивать гиперпараметры рамок-якорей (такие как размер и соотношение сторон) для конкретных наборов данных. Это часто приводит к лучшей генерализации для объектов различных форм.
DAMO-YOLO: оптимизированный поиск нейронной архитектуры
DAMO-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
Ключевые архитектурные особенности
DAMO-YOLO представляет несколько "новых технологий" в экосистеме YOLO:
- Бэкбон MAE-NAS: Модель использует бэкбон, сгенерированный с помощью поиска нейронной архитектуры (NAS) на основе метрики Mean Absolute Error (MAE). Это гарантирует, что экстрактор признаков идеально подходит для задачи detect.
- RepGFPN: Тяжелая конструкция neck на основе Generalized Feature Pyramid Network (GFPN), использующая репараметризацию для максимальной эффективности слияния признаков при сохранении низкой задержки при выводе.
- ZeroHead: упрощенная головка обнаружения, которая снижает вычислительные затраты без ущерба для точности предсказаний.
- AlignedOTA: Эволюция назначения меток, которая лучше согласовывает оценки классификации с точностью регрессии, обеспечивая приоритет высококачественным прогнозам.
Анализ производительности
При сравнении этих двух моделей крайне важно учитывать компромиссы между точностью (mAP) и скоростью инференса (задержкой). В таблице ниже показано, что, хотя YOLOX остается конкурентоспособной, новая архитектура DAMO-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 |
Основные пункты сравнения
- Скорость vs. Точность: DAMO-YOLO-Tiny (DAMO-YOLOt) достигает более высокого mAP (42.0), чем YOLOX-Small (40.5), при этом работает быстрее (2.32 мс против 2.56 мс) и использует меньше FLOPs. Это демонстрирует эффективность NAS-оптимизированного backbone.
- Эффективность параметров: YOLOX-Nano чрезвычайно легок (0,91 млн параметров), что делает его жизнеспособным вариантом для крайне ограниченных в ресурсах периферийных устройств, где важен каждый байт, хотя DAMO-YOLO не предлагает прямого конкурента в этом конкретном масштабе.
- Максимальная производительность: В то время как YOLOX-X повышает точность до 51,1 mAP, он делает это с огромным количеством параметров (99,1M). DAMO-YOLO-Large достигает сопоставимого 50,8 mAP с менее чем половиной параметров (42,1M), что подчеркивает более современный и эффективный дизайн.
Случаи использования и приложения
Выбор между YOLOX и DAMO-YOLO часто зависит от конкретной среды развертывания.
- YOLOX хорошо подходит для исследовательских сред и сценариев, требующих простой реализации anchor-free. Его зрелость означает, что существует множество ресурсов сообщества и руководств. Это сильный кандидат для задач object detection общего назначения, где требуется совместимость с устаревшими системами.
- DAMO-YOLO превосходен в промышленной автоматизации и приложениях умного города, где критически важна низкая задержка на GPU. Его оптимизированная архитектура делает его идеальным для высокопроизводительной видеоаналитики и обнаружения дефектов в режиме реального времени в производстве.
Ultralytics YOLO11: Превосходная альтернатива
В то время как YOLOX и DAMO-YOLO предлагают надежные возможности detectирования, они в значительной степени ограничены этой единственной задачей и не имеют единой, поддерживающей экосистемы. Для разработчиков, ищущих комплексное решение, Ultralytics YOLO11 представляет собой современный уровень развития в области vision AI.
Модели Ultralytics разработаны не просто как архитектуры, а как полноценные инструменты для разработчиков.
Почему стоит выбрать Ultralytics YOLO11?
- Универсальность в различных задачах: В отличие от YOLOX и DAMO-YOLO, которые в основном сосредоточены на detection ограничивающих прямоугольников, YOLO11 изначально поддерживает широкий спектр задач компьютерного зрения. Это включает в себя сегментацию экземпляров, оценку позы, detection ориентированных объектов (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, и DAMO-YOLO заслужили свое место в истории компьютерного зрения. YOLOX успешно популяризировал парадигму без привязки к якорям, в то время как DAMO-YOLO продемонстрировал возможности поиска нейронной архитектуры для оптимизации промышленных детекторов. Однако, для современных приложений, требующих гибкости, долгосрочной поддержки и многозадачности, Ultralytics YOLO11 выделяется как лучший выбор. Его интеграция в надежную экосистему, в сочетании с современной производительностью и минимальным объемом памяти, позволяет разработчикам с легкостью создавать масштабируемые и эффективные решения AI.
Изучите другие модели
Для более широкого взгляда на то, как эти модели соотносятся с другими современными архитектурами, изучите наши подробные страницы сравнения:
- YOLO11 vs. DAMO-YOLO
- YOLOv8 против YOLOX
- RT-DETR против DAMO-YOLO
- YOLOv10 vs. YOLOX
- EfficientDet против YOLOX
- PP-YOLOE против DAMO-YOLO