Техническое противостояние: DAMO-YOLO против RTDETRv2 для обнаружения объектов в реальном времени
Быстро меняющийся ландшафт компьютерного зрения породил впечатляющий спектр архитектур, разработанных для баланса между скоростью, точностью и вычислительной эффективностью. Две выдающиеся модели, которые предложили уникальные подходы к решению этих задач — DAMO-YOLO и RTDETRv2. Хотя обе модели нацелены на предоставление передовых решений для логического вывода в реальном времени, они фундаментально различаются в своих архитектурных философиях.
Это подробное руководство глубоко погружается в технические характеристики, архитектурные инновации и практические варианты использования обеих моделей, а также изучает, как современные решения, такие как Ultralytics Platform и передовая YOLO26, переопределили отраслевые стандарты развертывания и удобства использования.
Обзор моделей
Понимание DAMO-YOLO
Разработанный исследователями из Alibaba Group, DAMO-YOLO представляет собой быстрый и точный метод обнаружения объектов, который сильно опирается на нейросетевой поиск архитектуры (Neural Architecture Search, NAS). Он заменяет традиционные рукописные бэкбоны структурами, сгенерированными с помощью NAS и предназначенными для низкой задержки. Кроме того, он включает эффективную RepGFPN (Reparameterized Generalized Feature Pyramid Network) и дизайн ZeroHead для оптимизации агрегации признаков и предсказаний ограничивающих рамок.
Ключевые детали модели:
- Авторы: Сяньчжэ Сюй (Xianzhe Xu), Ици Цзян (Yiqi Jiang), Вэйхуа Чэнь (Weihua Chen), Илунь Хуан (Yilun Huang), Юань Чжан (Yuan Zhang) и Сююй Сунь (Xiuyu Sun)
- Организация: Alibaba Group
- Дата: 23.11.2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Документация: Документация DAMO-YOLO
Понимание RTDETRv2
RTDETRv2 от Baidu представляет собой значительный скачок для трансформеров обнаружения в реальном времени. В отличие от традиционных сверточных нейронных сетей (CNN), которые полагаются на якорные рамки и подавление немаксимумов (NMS), RTDETRv2 использует механизмы самовнимания для контекстного просмотра всего изображения. Он напрямую выдает ограничивающие рамки, полностью минуя этап постобработки NMS. Эта модель внедряет стратегию обучения «bag of freebies» для повышения базовой точности без увеличения задержки логического вывода.
Ключевые детали модели:
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Arxiv: 2407.17140
- GitHub: Репозиторий RT-DETR
- Документация: Документация RTDETRv2
Хотя трансформеры требуют больших вычислительных ресурсов, их способность обрабатывать глобальный контекст делает их невероятно эффективными для понимания сложных сцен, что является главным преимуществом RTDETRv2.
Сравнение производительности
При оценке этих моделей для реального развертывания критически важными являются такие параметры, как средняя точность (mAP), скорость логического вывода и объем памяти. Модели на основе трансформеров, такие как RTDETRv2, обычно требуют больше памяти CUDA во время обучения и вывода по сравнению с легкими CNN, такими как DAMO-YOLO.
Ниже приведено подробное сравнение их показателей производительности.
| Модель | размер (пиксели) | 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Идеальные сценарии использования
В чем сильные стороны DAMO-YOLO: Благодаря оптимизированному с помощью NAS бэкбону и исключительно малому количеству параметров в его меньших вариантах (таких как DAMO-YOLOt), он отлично подходит для развертывания на ограниченном аппаратном обеспечении. Если ты создаешь решения для встроенных устройств, используя среды выполнения, такие как ONNX или специализированные движки TensorRT для периферийных вычислений (edge computing), DAMO-YOLO предоставляет высокочувствительную инфраструктуру.
В чем сильные стороны RTDETRv2: RTDETRv2 блистает в сценариях, где доступны серверные графические процессоры и первостепенное значение имеет глобальный контекст изображения. Его архитектура трансформера позволяет ему естественным образом разрешать перекрывающиеся ограничивающие рамки без NMS, что делает его надежным выбором для плотного управления толпой или сложного отслеживания объектов, где пространственные отношения между удаленными объектами имеют решающее значение.
Преимущество Ultralytics: представляем YOLO26
Хотя DAMO-YOLO и RTDETRv2 представляют собой значительные академические достижения, переход от этих моделей к масштабируемым, готовым к производству приложениям может быть сложным. Разработчики часто сталкиваются с фрагментированными кодовыми базами, отсутствием поддержки многозадачного обучения и сложными конвейерами развертывания.
Именно здесь экосистема Ultralytics действительно выделяется. Уделяя приоритетное внимание простоте использования, хорошо поддерживаемому Python API и непревзойденной универсальности, Ultralytics гарантирует, что разработчики тратят меньше времени на отладку и больше времени на создание.
Недавно выпущенная модель Ultralytics YOLO26 выводит эти преимущества на новый уровень, предлагая прорывы, которые превосходят как DAMO-YOLO, так и RTDETRv2:
- Сквозной дизайн без NMS: Впервые представленный в YOLOv10, YOLO26 является нативно сквозным (end-to-end). Это полностью устраняет постобработку NMS, делая развертывание быстрее и значительно проще, чем в традиционных CNN, при этом сохраняя преимущества прямого вывода, как у RTDETRv2.
- До 43% более быстрый логический вывод на CPU: Значительно оптимизирован для периферийных AI-устройств без дискретных GPU, что делает его гораздо более предпочтительным выбором для IoT-приложений по сравнению с ресурсоемкими трансформерами.
- Оптимизатор MuSGD: Вдохновленный Kimi K2 от Moonshot AI, этот гибрид SGD и Muon привносит инновации обучения больших языковых моделей (LLM) в компьютерное зрение, что приводит к удивительно стабильному обучению и более быстрой сходимости.
- ProgLoss + STAL: Эти продвинутые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов — области, в которой модели традиционно испытывают трудности. Это критически важно для аэросъемки и использования дронов.
- Удаление DFL: Distribution Focal Loss была удалена для обеспечения упрощенных форматов экспорта и лучшей совместимости с маломощными периферийными устройствами.
- Непревзойденная универсальность: В отличие от конкурирующих моделей, ограниченных исключительно обнаружением, YOLO26 включает улучшения по всем направлениям для конкретных задач, такие как специализированная потеря угла для ориентированных ограничивающих рамок (OBB), потеря семантической сегментации для точности попиксельно и оценка остаточного логарифмического правдоподобия (RLE) для оценки позы (Pose estimation).
Обучение моделей на основе трансформеров, таких как RTDETRv2, требует огромных объемов памяти CUDA, что часто делает необходимыми дорогостоящие системы с несколькими GPU. Модели Ultralytics YOLO поддерживают значительно более низкие требования к памяти как во время обучения, так и при логическом выводе, демократизируя разработку AI для исследователей и энтузиастов.
Пример кода: Единый API Ultralytics
Одно из самых больших преимуществ экосистемы Ultralytics — это единый API. Ты можешь легко загружать, обучать и валидировать множество моделей, включая реализацию RTDETR на PyTorch и передовые модели YOLO, не меняя свой рабочий процесс.
from ultralytics import RTDETR, YOLO
# Load an RTDETRv2 model
model_rtdetr = RTDETR("rtdetr-l.pt")
# Load the cutting-edge YOLO26 model
model_yolo = YOLO("yolo26n.pt")
# Run inference on an image with a simple, unified interface
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
# Display the detected objects
results_yolo[0].show()Эта простота распространяется на обучение на пользовательских наборах данных и экспорт. Используя пакет Ultralytics Python, разработчики могут легко переносить свои обученные веса на платформы развертывания, такие как CoreML или OpenVINO, одной командой.
Заключение и дальнейшее изучение
И DAMO-YOLO, и RTDETRv2, несомненно, раздвинули границы возможного в обнаружении объектов в реальном времени. DAMO-YOLO предоставляет высокооптимизированные, автоматически подобранные структуры сети для базовой эффективности, в то время как RTDETRv2 доказывает, что трансформеры могут конкурировать в реальном времени, устраняя традиционные узкие места, такие как NMS.
Однако для разработчиков, стремящихся к идеальному балансу производительности, исчерпывающей документации и готовности к производству, модели Ultralytics YOLO остаются золотым стандартом. С появлением YOLO26 пользователи получают доступ к сквозному обнаружению в стиле трансформеров, эффективности обучения, вдохновленной LLM, и непревзойденным скоростям на CPU — и все это в рамках интуитивно понятной и надежной экосистемы.
Если ты оцениваешь модели для своего следующего проекта, тебе также может быть полезно прочитать наши сравнения EfficientDet против RTDETR, изучить предыдущее поколение YOLO11 или просмотреть академические базовые показатели, такие как YOLOX. Начни создавать сегодня, изучив краткое руководство Ultralytics.