DAMO-YOLO против YOLOX: всестороннее техническое сравнение
Ландшафт компьютерного зрения реального времени постоянно меняется. Двумя заметными вехами на этом пути стали DAMO-YOLO и YOLOX, каждая из которых привнесла уникальные инновации в решение задач высокоскоростного и высокоточного обнаружения объектов. Хотя обе модели внесли значительный вклад в сообщество разработчиков открытого ПО, понимание их архитектурных различий, методологий обучения и идеальных сценариев развертывания критически важно для инженеров машинного обучения.
Это полное руководство исследует технические нюансы обеих моделей и объясняет, почему современные альтернативы, такие как платформа Ultralytics YOLO26, обеспечивают превосходную производительность и простоту использования в современных производственных средах.
Обзор моделей
Подробности DAMO-YOLO
Разработанная командой исследователей из Alibaba Group, модель DAMO-YOLO была представлена как высокоэффективный метод обнаружения объектов, использующий автоматизированный поиск архитектуры.
Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
Организация: Alibaba Group
Дата: 23.11.2022
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO-YOLO
Документация: Документация DAMO-YOLO
Подробности о YOLOX
Созданная исследователями из Megvii, модель YOLOX была нацелена на сокращение разрыва между научными исследованиями и промышленным применением путем перевода серии YOLO на архитектуру без использования анкоров (anchor-free), что значительно упростило структуру при одновременном достижении более высокой производительности на тот момент.
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация: Megvii
Дата: 18.07.2021
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Документация: Документация YOLOX
Архитектурный анализ
Архитектура DAMO-YOLO
DAMO-YOLO в значительной степени полагается на поиск нейронных архитектур (NAS). Основные компоненты включают:
- Бэкенды MAE-NAS: Используют многоцелевой эволюционный алгоритм поиска для нахождения бэкендов, которые обеспечивают оптимальный баланс между скоростью вывода и точностью.
- Эффективная RepGFPN: Конструкция с «тяжелой» шейной частью, адаптированная для слияния признаков, что помогает модели поддерживать высокую точность при различных масштабах объектов.
- ZeroHead: Упрощенная, легковесная головка обнаружения, которая снижает вычислительные затраты в финальных слоях предсказания.
Архитектура YOLOX
YOLOX применил другой подход, сфокусировавшись на структурной простоте и архитектуре без использования анкоров:
- Механизм без анкоров (Anchor-Free): Предсказывая координаты ограничивающей рамки напрямую без предопределенных анкоров, YOLOX сокращает количество параметров проектирования и необходимость в эвристической настройке.
- Разделенная головка (Decoupled Head): Она разделяет задачи классификации и регрессии на разные ветви признаков, что улучшает скорость сходимости и общую точность.
- Назначение меток SimOTA: Продвинутая стратегия назначения меток, которая динамически распределяет положительные образцы по истинным меткам (ground truths), повышая эффективность обучения.
В то время как DAMO-YOLO использует машинный поиск NAS для нахождения оптимальных архитектур в жестких ограничениях, YOLOX опирается на элегантные, спроектированные человеком упрощения (такие как головки без анкоров) для оптимизации конвейера обнаружения объектов.
Сравнение производительности
Оценка этих моделей требует рассмотрения среднего значения точности (mAP), скорости вывода и количества параметров. Ниже представлена подробная сравнительная таблица стандартных и облегченных вариантов для обеих архитектур.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Хотя YOLOXx достигает наивысшего абсолютного mAP в 51.1, DAMO-YOLOl демонстрирует очень конкурентоспособный mAP 50.8 с количеством параметров менее половины от исходного (42.1 млн против 99.1 млн) и значительно более быстрым выполнением в TensorRT.
Методологии обучения
Обучение DAMO-YOLO
DAMO-YOLO использует сложное улучшение через дистилляцию во время обучения. Часто сначала обучается большая «учительская» модель, а ее знания дистиллируются в меньшие «ученические» модели. Она также применяет AlignedOTA для динамического назначения меток. Несмотря на высокую эффективность, этот многоэтапный процесс обучения резко увеличивает требуемое время работы GPU и нагрузку на память.
Обучение YOLOX
YOLOX опирается на мощные стратегии аугментации данных, такие как MixUp и Mosaic. Однако авторы обнаружили, что отключение этих сильных аугментаций на финальных 15 эпохах позволяет модели сократить разрыв с реальностью, значительно повышая итоговые метрики точности.
Идеальные сценарии использования
- DAMO-YOLO: Лучше всего подходит для ответственных промышленных развертываний, где можно обеспечить серверные конвейеры дистилляции, и где целевое оборудование (например, определенные GPU NVIDIA) напрямую выигрывает от ее NAS-архитектуры с «тяжелой» шейной частью.
- YOLOX: Отлично подходит для разработчиков, ищущих чистый подход без анкоров. Чрезвычайно легкая версия
YOLOXnanoделает ее пригодной для устаревших устройств Android, граничных вычислений и крайне ограниченных датчиков IoT, где количество параметров является абсолютным узким местом.
Преимущество Ultralytics: знакомство с YOLO26
Хотя DAMO-YOLO и YOLOX представляют собой отличные вехи, современные разработчики требуют более комплексных, универсальных и простых в использовании решений. Именно здесь проявляют себя платформа Ultralytics и недавно выпущенная Ultralytics YOLO26.
Выпущенная в январе 2026 года, YOLO26 является основной рекомендуемой моделью для всех задач компьютерного зрения. Она представляет ряд прорывов, превосходящих старые архитектуры:
- Комплексная архитектура без NMS: YOLO26 нативно исключает постобработку методом подавления немаксимумов (NMS). Это позволяет значительно упростить и ускорить развертывание, избегая узких мест в задержке, присущих традиционным головкам обнаружения.
- До 43% более быстрый вывод на CPU: Стратегически удалив Distribution Focal Loss (DFL) и оптимизировав слои, YOLO26 обеспечивает непревзойденную скорость на CPU и граничном оборудовании.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (LLM), YOLO26 представляет оптимизатор MuSGD (гибрид SGD и Muon), что приводит к высокостабильному обучению и гораздо более быстрой сходимости по сравнению с устаревшими настройками в YOLOX.
- ProgLoss + STAL: Эти передовые функции потерь дают заметные улучшения в распознавании мелких объектов, делая YOLO26 значительно более эффективной для работы с дронами и в робототехнике.
- Универсальность: В отличие от DAMO-YOLO, которая предназначена строго для обнаружения объектов, YOLO26 без проблем справляется с сегментацией экземпляров, оценкой позы, классификацией и ориентированными ограничивающими рамками (OBB) в рамках одной и той же поддерживаемой экосистемы.
Простота использования с Ultralytics
Python API от Ultralytics упрощает работу разработчика. Обучение современной модели YOLO26 требует гораздо меньше шаблонного кода и позволяет избежать сложных конвейеров дистилляции, как в DAMO-YOLO. Кроме того, модели Ultralytics отличаются исключительно низкими требованиями к памяти CUDA во время обучения по сравнению с тяжелыми моделями на базе Transformer.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with one line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")Ты можешь автоматически аннотировать, обучать и развертывать модели на периферийные устройства, используя платформу Ultralytics, которая берет на себя все управление версиями данных и выделение облачных ресурсов GPU.
Заключение
Выбор между DAMO-YOLO и YOLOX зависит от конкретных ограничений: DAMO-YOLO предлагает исключительное соотношение скорости к точности на определенных GPU через NAS, в то время как YOLOX предоставляет чистый дизайн без анкоров, идеальный для легких граничных сценариев.
Однако для команд, ищущих современное, перспективное решение с активным сообществом, архитектура Ultralytics YOLO26 является окончательным выбором. Ее дизайн без NMS, быстрый вывод на CPU и единый API для задач обнаружения, сегментации и оценки позы делают ее непревзойденной для плавного перехода от исследований к надежному промышленному использованию.
Разработчикам, интересующимся другими современными архитектурами, мы также рекомендуем ознакомиться с Ultralytics YOLO11 или моделями на базе Transformer, такими как RT-DETR, доступными в полной документации Ultralytics.