RTDETRv2 против YOLOv10: достижения в области обнаружения объектов в реальном времени без NMS
Эволюция компьютерного зрения во многом обусловлена неустанным стремлением сбалансировать скорость и точность. Традиционно конвейеры обнаружения объектов в реальном времени полагались на немаксимальное подавление (NMS) как этап постобработки для фильтрации перекрывающихся ограничивающих рамок. Однако NMS создает узкие места в задержке и требует сложной настройки гиперпараметров. Недавно появились два различных архитектурных подхода для решения этой проблемы на нативном уровне: модели на базе Transformer, такие как RTDETRv2, и модели на базе CNN, такие как YOLOv10.
Это руководство представляет собой подробное техническое сравнение этих двух моделей, анализирующее их архитектуры, показатели производительности и идеальные сценарии использования, а также освещает, как последние инновации в экосистеме Ultralytics предлагают лучшее решение для современной эксплуатации.
RTDETRv2: Трансформеры для обнаружения в реальном времени
RTDETRv2 основана на оригинальной архитектуре RT-DETR и стремится объединить понимание глобального контекста Vision Transformers с требованиями к скорости в реальном времени, в которых традиционно доминируют модели YOLO.
Ключевые характеристики:
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Архитектура и методологии обучения
RTDETRv2 использует сквозную архитектуру Transformer, которая по своей сути избегает использования NMS. Она улучшает своего предшественника, внедряя подход "Bag-of-Freebies", оптимизируя стратегию обучения и включая возможности многомасштабного обнаружения. Модель использует основу CNN для извлечения карт признаков (визуальные детали, такие как края и текстуры), которые затем обрабатываются структурой энкодера-декодера Transformer. Это позволяет модели анализировать контекст всего изображения одновременно, что делает ее очень эффективной для понимания сложных сцен, где объекты расположены плотно или перекрываются.
Сильные и слабые стороны
Сильные стороны:
- Глобальный контекст: Механизм внимания позволяет модели превосходно работать в сложных, захламленных условиях.
- Без NMS: Прямое предсказание координат объектов, что упрощает процесс внедрения.
- Высокая точность: Достигает отличной средней точности (mAP) на наборе данных COCO.
Слабые стороны:
- Ресурсоемкость: Архитектуры Transformer обычно требуют значительно больше памяти CUDA при обучении по сравнению с CNN, что делает их дорогими для тонкой настройки на стандартном оборудовании.
- Вариативность скорости вывода: Несмотря на быстроту, тяжелые вычисления внимания могут привести к снижению FPS в компьютерном зрении на граничных устройствах, не имеющих выделенных AI-ускорителей.
YOLOv10: детектирование объектов в реальном времени от начала до конца
YOLOv10 представляет собой серьезный сдвиг в линейке обнаружения объектов YOLO, напрямую решая давнюю проблему узкого места NMS в рамках структуры CNN.
Ключевые характеристики:
- Авторы: Ао Ван, Хуэй Чэнь, Лихао Лю и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
Архитектура и методологии обучения
Ключевой инновацией YOLOv10 является согласованное двойное назначение для обучения без NMS. Она использует две головы обнаружения во время обучения: одну с назначением «один-ко-многим» (как в традиционных YOLO) для обеспечения богатых сигналов контроля, и другую с назначением «один-к-одному» для устранения необходимости в NMS. Во время вывода используется только голова «один-к-одному», что приводит к сквозному процессу. Кроме того, авторы применили стратегию проектирования модели, ориентированную на общую эффективность и точность, комплексно оптимизируя различные компоненты для уменьшения вычислительной избыточности.
Сильные и слабые стороны
Сильные стороны:
- Экстремальная скорость: Удалив NMS и оптимизировав архитектуру, YOLOv10 достигает невероятно низкой задержки вывода.
- Эффективность: Требует меньше параметров и FLOPs для достижения точности, сопоставимой с другими моделями, что делает ее очень подходящей для ограниченных сред.
- Внедрения без NMS: Упрощает интеграцию в граничные приложения, такие как умное видеонаблюдение.
Слабые стороны:
- Концепция первого поколения: Будучи первой моделью YOLO, реализовавшей эту специфическую архитектуру без NMS, она заложила основу, но оставила пространство для многозадачной универсальности и оптимизации, наблюдаемых в последующих моделях, таких как YOLO11 и YOLO26.
Сравнение производительности
При оценке моделей для продакшена критически важно сбалансировать точность с вычислительными затратами. В таблице ниже показаны компромиссы в производительности между различными размерами RTDETRv2 и YOLOv10.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Хотя RTDETRv2 предлагает высокую точность, YOLOv10 демонстрирует заметное преимущество в задержке и эффективности параметров, особенно в своих меньших вариантах (Nano и Small), что делает её очень привлекательной для приложений периферийных вычислений и AIoT.
Если ты развертываешь на серверных GPU, где размер пакета и VRAM менее ограничены, более крупные модели (например, -x или -l) максимизируют точность. Для граничных устройств, таких как Raspberry Pi или мобильные телефоны, отдавай предпочтение вариантам nano (-n) или small (-s), чтобы поддерживать частоту кадров в реальном времени.
Варианты использования и рекомендации
Выбор между RT-DETR и YOLOv10 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда стоит выбирать RT-DETR
RT-DETR — сильный выбор для:
- Исследований в области детектирования на базе Transformer: Проектов, изучающих механизмы внимания и архитектуры трансформеров для end-to-end обнаружения объектов без NMS.
- Сценариев с высокой точностью и гибкой задержкой: Приложений, где точность обнаружения является главным приоритетом, а немного большая задержка вывода допустима.
- Обнаружения крупных объектов: Сцен, преимущественно состоящих из средних и крупных объектов, где глобальный механизм внимания трансформеров дает естественное преимущество.
Когда выбирать YOLOv10
YOLOv10 рекомендуется для:
- Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Преимущество Ultralytics: представляем YOLO26
Хотя и RTDETRv2, и YOLOv10 предлагают интересные академические достижения, их развертывание в реальных сценариях требует надежной и хорошо поддерживаемой программной экосистемы. Платформа Ultralytics предоставляет непревзойденный опыт разработчика, сочетая простоту использования, обширную документацию и мощные инструменты для аннотации данных и развертывания.
Для разработчиков, стремящихся к абсолютному уровню современных технологий в 2026 году, Ultralytics YOLO26 является лучшей рекомендацией. Она синтезирует лучшие идеи обеих архитектур, внедряя при этом революционные улучшения:
- Сквозной дизайн без NMS: Основываясь на концепции, впервые примененной в YOLOv10, YOLO26 нативно исключает постобработку NMS, что приводит к более быстрой и простой логике развертывания и нулевой вариативности задержки.
- Удаление DFL: Удалив функцию потерь Distribution Focal Loss, YOLO26 упрощает экспорт модели и радикально улучшает совместимость с граничными и маломощными устройствами.
- Оптимизатор MuSGD: Гибрид SGD и Muon (вдохновленный инновациями в обучении LLM), этот новый оптимизатор обеспечивает более стабильное обучение и значительно более быструю сходимость по сравнению с традиционными методами.
- До 43% более быстрый вывод на CPU: Тщательно оптимизировано для сред без выделенных GPU, делая высокопроизводительный AI зрения более доступным.
- ProgLoss + STAL: Эти передовые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов, что критически важно для приложений, использующих дроны, и IoT-датчиков.
- Непревзойденная универсальность: В отличие от моделей, ограниченных ограничивающими рамками, YOLO26 поддерживает полный набор задач, включая сегментацию экземпляров, оценку позы, классификацию изображений и обнаружение OBB, с дополнениями, специфичными для каждой задачи, такими как остаточная оценка логарифмического правдоподобия (RLE) для позы.
Бесшовная реализация с Python
Обучение и развертывание этих моделей с использованием Python API Ultralytics разработано так, чтобы быть максимально удобным. Требования к памяти при обучении заметно ниже по сравнению с архитектурами, перегруженными Transformer, что позволяет тебе обучать мощные модели на стандартном оборудовании.
from ultralytics import YOLO
# Load the cutting-edge YOLO26 model (recommended)
# Alternatively, load a YOLOv10 model using YOLO('yolov10n.pt')
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Easily export to various formats for edge deployment
model.export(format="onnx", simplify=True)Whether you are implementing security alarm systems or conducting medical image analysis, choosing a model backed by the active Ultralytics community ensures you have the tools, hyperparameter tuning guides, and continuous updates needed to succeed. While YOLOv10 and RTDETRv2 paved the way for NMS-free architectures, YOLO26 perfects the formula, offering the best balance of performance, versatility, and production readiness.