Сравнение 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 Documentation
Детали 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 Documentation
Архитектурный анализ#
Архитектура DAMO-YOLO#
DAMO-YOLO в значительной степени полагается на нейронный поиск архитектуры (NAS). К основным компонентам относятся:
- Бэкбоны MAE-NAS: Использует многоцелевой эволюционный алгоритм поиска для нахождения бэкбонов, обеспечивающих оптимальный баланс между скоростью вывода и точностью.
- Efficient RepGFPN: Конструкция с «тяжелой» шейкой (heavy-neck), адаптированная для слияния признаков, которая помогает модели поддерживать высокую точность при различных масштабах объектов.
- 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 compute и нагрузку на память.
Обучение YOLOX#
YOLOX опирается на мощные стратегии аугментации данных, такие как MixUp и Mosaic. Однако авторы обнаружили, что отключение этих сильных аугментаций на последних 15 эпохах позволяет модели сократить разрыв с реальностью, значительно повышая финальные показатели точности.
Идеальные варианты использования#
- DAMO-YOLO: Лучше всего подходит для ответственных промышленных развертываний, где могут быть поддержаны серверные конвейеры дистилляции и где целевое оборудование (например, определенные GPU NVIDIA) получает прямую выгоду от архитектуры NAS с «тяжелой» шейкой.
- YOLOX: Отлично подходит для разработчиков, ищущих чистый безахорный подход. Чрезвычайно легкий
YOLOXnanoделает его пригодным для устаревших устройств Android, edge computing и сильно ограниченных датчиков IoT, где количество параметров является абсолютным «узким горлышком».
Преимущество Ultralytics: знакомься с YOLO26#
Хотя DAMO-YOLO и YOLOX представляют собой отличные вехи, современным разработчикам требуются более комплексные, универсальные и простые в использовании решения. Именно здесь блистают Ultralytics Platform и недавно выпущенный Ultralytics YOLO26.
Выпущенный в январе 2026 года, YOLO26 является абсолютной рекомендуемой моделью для всех задач computer vision. В нем представлен набор инноваций, превосходящих старые архитектуры:
- Сквозной дизайн без NMS: YOLO26 нативно исключает постобработку методом немаксимального подавления (NMS). Это позволяет значительно упростить и ускорить развертывание, избегая задержек, присущих традиционным детектирующим головкам.
- До 43% более быстрый вывод на CPU: Благодаря стратегическому удалению Distribution Focal Loss (DFL) и оптимизации слоев, YOLO26 обеспечивает непревзойденную скорость на CPU и периферийном оборудовании.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (LLM), YOLO26 представляет оптимизатор MuSGD (гибрид SGD и Muon), что приводит к высокостабильным запускам обучения и гораздо более быстрой сходимости по сравнению с устаревшими настройками в YOLOX.
- ProgLoss + STAL: Эти продвинутые функции потерь дают заметные улучшения в распознавании мелких объектов, делая YOLO26 значительно более эффективной для работы с кадрами с дронов и в робототехнике.
- Универсальность: В отличие от DAMO-YOLO, который предназначен исключительно для обнаружения объектов, YOLO26 без проблем поддерживает instance segmentation, pose estimation, classification и Oriented Bounding Boxes (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 Platform, которая берет на себя все задачи по версионированию данных и выделению облачных GPU.
Заключение#
Выбор между DAMO-YOLO и YOLOX зависит от конкретных ограничений: DAMO-YOLO предлагает исключительное соотношение скорости к точности на определенных GPU через NAS, в то время как YOLOX предоставляет чистый дизайн без анкоров, идеально подходящий для легких сценариев на периферии.
Тем не менее, для команд, ищущих современное, перспективное решение с активным сообществом, архитектура Ultralytics YOLO26 является окончательным выбором. Ее безнадежная (NMS-free) конструкция, высокая скорость инференса на CPU и единый API для задач детекции, сегментации и оценки позы делают ее непревзойденной для плавного перехода от исследований к надежной реальной эксплуатации.
Для разработчиков, заинтересованных в изучении других современных архитектур, мы также рекомендуем ознакомиться с Ultralytics YOLO11 или моделями на базе трансформеров вроде RT-DETR, доступными в подробной документации Ultralytics.