RTDETRv2 против YOLOv10#
Эволюция компьютерного зрения во многом продиктована неустанным стремлением найти баланс между скоростью и точностью. Традиционно конвейеры обнаружения объектов в реальном времени полагались на немаксимальное подавление (NMS) в качестве этапа постобработки для фильтрации перекрывающихся ограничивающих рамок. Однако NMS вносит задержки и требует сложной настройки гиперпараметров. Недавно появились два различных архитектурных подхода, позволяющих решить эту проблему нативно: модели на базе Transformer, такие как RTDETRv2, и модели на базе CNN, такие как YOLOv10.
Это руководство представляет собой всестороннее техническое сравнение двух этих моделей, анализируя их архитектуры, показатели производительности и идеальные сценарии использования, а также подчеркивая, как последние инновации в экосистеме Ultralytics предлагают лучшее решение для современного развертывания.
RTDETRv2: Трансформеры для детектирования в реальном времени#
RTDETRv2 базируется на оригинальной архитектуре RT-DETR, стремясь объединить понимание глобального контекста от Vision Transformers с требованиями к скорости в реальном времени, в которых традиционно доминируют модели YOLO.
Основные характеристики:
- Авторы: Вэньюй Лю, Иань Чжао, Циньяо Чанг, Куй Хуан, Гуаньчжун Ван и И Лю
- Организация: Baidu
- Дата: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Архитектура и методологии обучения#
RTDETRv2 использует архитектуру Transformer «от начала до конца» (end-to-end), которая по своей сути позволяет обойтись без NMS. Она улучшает своего предшественника за счет введения подхода «Bag-of-Freebies», оптимизации стратегии обучения и внедрения возможностей многомасштабного обнаружения. Модель использует CNN-бэкенд для извлечения карт признаков (визуальных деталей, таких как края и текстуры), которые затем обрабатываются структурой энкодер-декодер трансформера. Это позволяет модели анализировать весь контекст изображения одновременно, что делает ее крайне эффективной для понимания сложных сцен, где объекты расположены плотно или перекрывают друг друга.
Сильные и слабые стороны#
Преимущества:
- Глобальный контекст: механизм внимания позволяет модели превосходно работать в сложных, загроможденных средах.
- Без 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. Во время вывода используется только голова «один-к-одному», что приводит к сквозному (end-to-end) процессу. Кроме того, авторы применили стратегию проектирования моделей, основанную на целостной эффективности и точности, всесторонне оптимизировав различные компоненты для снижения вычислительной избыточности.
Сильные и слабые стороны#
Преимущества:
- Экстремальная скорость: Устранив 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, где batch size и VRAM менее ограничены, более крупные модели (такие как -x или -l) максимизируют точность. Для периферийных устройств, таких как Raspberry Pi или мобильные телефоны, отдавай приоритет вариантам nano (-n) или small (-s), чтобы поддерживать частоту кадров в реальном времени.
Сценарии использования и рекомендации#
Выбор между RT-DETR и YOLOv10 зависит от специфических требований твоего проекта, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать RT-DETR#
RT-DETR — отличный выбор для:
- Исследований детектирования на основе Transformer: проектов, изучающих механизмы внимания и архитектуры трансформеров для end-to-end детектирования объектов без NMS.
- Сценариев с высокой точностью и гибкой задержкой: приложений, где точность детектирования является главным приоритетом, а немного большая задержка вывода допустима.
- Детектирования крупных объектов: сцен преимущественно со средними и крупными объектами, где глобальный механизм внимания трансформеров дает естественное преимущество.
Когда стоит выбрать YOLOv10#
YOLOv10 рекомендуется для:
- Детекции в реальном времени без NMS: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
- Приложений с постоянной задержкой: Сценарии развертывания, где критически важна предсказуемость времени вывода, например, в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков 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, в комплекте с улучшениями для конкретных задач, такими как Residual Log-Likelihood Estimation (RLE) для поз.
Бесшовная реализация с помощью Python#
Обучение и развертывание этих моделей с использованием Python API Ultralytics спроектировано так, чтобы быть максимально простым. Требования к памяти при обучении заметно ниже по сравнению с архитектурами, перегруженными трансформерами, что позволяет тебе обучать мощные модели на стандартном оборудовании.
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)Реализуешь ли ты security alarm systems или проводишь medical image analysis, выбор модели, поддерживаемой активным сообществом Ultralytics, гарантирует наличие инструментов, руководств по hyperparameter tuning и непрерывных обновлений, необходимых для успеха. В то время как YOLOv10 и RTDETRv2 проложили путь для архитектур без NMS, YOLO26 доводит формулу до совершенства, предлагая наилучший баланс производительности, универсальности и готовности к продакшену.