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
- Дата: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- Документация: Документация DAMO-YOLO
YOLOX: подробности#
Созданный исследователями из Megvii, YOLOX стремился сократить разрыв между исследовательским и промышленным сообществами за счет перехода серии YOLO на безъякорный дизайн, кардинально упростив архитектуру и одновременно достигнув более высокой производительности на тот момент.
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
- Организация: Megvii
- Дата: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Документация: Документация YOLOX
Анализ архитектуры#
Архитектура DAMO-YOLO#
DAMO-YOLO в значительной степени опирается на поиск нейронной архитектуры (NAS). К основным компонентам относятся:
- Магистральные сети MAE-NAS: Используют управляемый максимальной энтропией поиск для обнаружения магистральных сетей, обеспечивающих оптимальный баланс между скоростью вывода и точностью.
- Efficient RepGFPN: тяжёлая шейная часть, адаптированная для объединения признаков, помогает модели сохранять высокую точность при различных масштабах объектов.
- ZeroHead: упрощённая и лёгкая голова обнаружения, снижающая вычислительные затраты на финальных слоях предсказания.
Архитектура YOLOX#
YOLOX использует другой подход, сосредоточенный на структурной простоте и безъякорной архитектуре:
- Безъякорный механизм: предсказывая координаты ограничивающих рамок напрямую, без заранее заданных якорей, YOLOX уменьшает число параметров проектирования и объём необходимой эвристической настройки.
- Разделённая голова: задачи классификации и регрессии распределяются по разным ветвям признаков, что повышает скорость сходимости и общую точность.
- Назначение меток SimOTA: продвинутая стратегия назначения меток, динамически распределяющая положительные образцы по истинным объектам и повышающая эффективность обучения.
DAMO-YOLO использует машинный поиск NAS для нахождения оптимальных архитектур при жёстких ограничениях, тогда как YOLOX применяет элегантные упрощения, разработанные человеком (например, безъякорные головы), чтобы оптимизировать конвейер обнаружения объектов.
Сравнение производительности#
Для оценки этих моделей необходимо учитывать среднюю точность (mAP), скорость инференса и количество параметров. Ниже приведена подробная сравнительная таблица стандартных и облегчённых вариантов обеих архитектур.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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.1M против 99.1M) и значительно более высокой скорости выполнения в 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), оптимизатор MuSGD в YOLO26 (гибрид 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.