RTDETRv2 против YOLOv5: оцениваем трансформеры для детекции в реальном времени и CNN
Эволюция computer vision во многом определялась неустанным стремлением сбалансировать точность со скоростью инференса в реальном времени. Сравнивая RTDETRv2 и Ultralytics YOLOv5, разработчики по сути сопоставляют сложные возможности глобального контекста архитектур трансформеров с высокооптимизированной, проверенной в боях эффективностью сверточных нейронных сетей (CNN).
Это руководство содержит глубокий технический анализ этих двух выдающихся архитектур, подробно описывая их метрики производительности, методологии обучения, требования к памяти и идеальные сценарии развертывания, чтобы помочь тебе выбрать лучшую модель object detection для твоей конкретной задачи.
RTDETRv2: подход трансформеров к детектированию в реальном времени
Основываясь на оригинальном Real-Time Detection Transformer (RT-DETR), RTDETRv2 внедряет ряд «bag-of-freebies» для улучшения базовой архитектуры без ущерба для задержки инференса.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Статья на Arxiv, Репозиторий GitHub
Архитектура и возможности
RTDETRv2 использует гибридную архитектуру CNN-Transformer. CNN выступает в роли бэкенда для извлечения мелкозернистых визуальных признаков, в то время как слои энкодера-декодера трансформера обрабатывают всю карту признаков для понимания глобального контекста. Главная особенность RTDETRv2 — это его end-to-end природа, полностью исключающая необходимость в пост-обработке Non-Maximum Suppression (NMS).
Хотя RTDETRv2 достигает впечатляющей точности — особенно в сложных, плотных сценах, где объекты перекрывают друг друга — у него есть заметные компромиссы. attention mechanism, присущий трансформерам, требует значительно больше памяти CUDA во время обучения по сравнению со стандартными CNN. Кроме того, хотя он хорошо работает на мощных GPU, таких как NVIDIA A100 или T4, его архитектура заметно медленнее на стандартных CPU и устройствах с серьезными ограничениями по ресурсам.
Ultralytics YOLOv5: отраслевой стандарт эффективности
Ultralytics YOLOv5 фундаментально изменила ландшафт прикладного машинного обучения после своего выхода, сделав высокопроизводительное компьютерное зрение доступным для разработчиков по всему миру благодаря исключительно интуитивно понятному фреймворку.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26 июня 2020 г.
- Ссылки: Official Documentation, GitHub Repository
Экосистема и баланс производительности
YOLOv5 полностью построена на фреймворке PyTorch и опирается на чрезвычайно эффективную архитектуру CNN. Она была разработана с нуля для простоты использования, включая оптимизированный API и одну из самых обширных документаций в индустрии ИИ.
Главное преимущество YOLOv5 заключается в ее непревзойденной универсальности и низких требованиях к памяти. Обучение модели YOLOv5 требует значительно меньше VRAM, чем моделей на базе трансформеров, что делает ее доступной для исследователей и инженеров с ограниченным аппаратным бюджетом. Более того, в то время как RTDETRv2 фокусируется исключительно на детекции bounding box, YOLOv5 эволюционировала в универсальный инструмент, поддерживающий instance segmentation и image classification.
Чтобы ощутить максимально оптимизированный рабочий процесс, ты можешь обучать, проверять и развертывать YOLOv5 напрямую, используя Ultralytics Platform. Платформа предоставляет возможности облачного обучения и конвейеры развертывания без написания кода.
Сравнение производительности и метрик
Анализируя показатели на стандартном COCO dataset, мы видим четкие различия в том, как эти модели расставляют приоритеты ресурсов.
| Модель | размер (пиксели) | 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Анализ компромиссов
Данные показывают, что RTDETRv2-x достигает пиковой mean Average Precision (mAP) в 54,3%, немного превосходя 50,7% у YOLOv5x. Однако этот небольшой прирост точности требует огромных вычислительных затрат. YOLOv5x работает с меньшей задержкой (11,89 мс против 15,03 мс на TensorRT) и требует значительно меньше памяти. Для развертывания на устройствах с крайне низким энергопотреблением YOLOv5n (Nano) остается вне конкуренции, завершая инференс всего за 1,12 мс с крошечным весом в 2,6 млн параметров — уровень, с которым RTDETRv2 даже не пытается конкурировать.
Эффективность обучения и простота кода
Одной из ключевых сильных сторон экосистемы Ultralytics является унифицированный API. Даже если ты решишь использовать архитектуру трансформера RT-DETR для конкретной ресурсоемкой задачи, ты можешь сделать это полностью в рамках пакета Ultralytics Python, легко переключая модели одной строкой кода.
from ultralytics import RTDETR, YOLO
# Load the Ultralytics YOLOv5 small model
model_yolo = YOLO("yolov5s.pt")
# Load the RT-DETR large model via Ultralytics
model_rtdetr = RTDETR("rtdetr-l.pt")
# Train YOLOv5 effortlessly on your custom data
model_yolo.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with both models seamlessly
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_yolo[0].show()Используя библиотеку Ultralytics, разработчики автоматически получают доступ к хорошо поддерживаемой экосистеме, включающей experiment tracking integrations (такие как Weights & Biases и Comet ML) и экспорт в один клик в форматы развертывания, такие как ONNX и OpenVINO.
Реальные приложения и идеальные сценарии использования
Где RTDETRv2 проявляет себя лучше всего
RTDETRv2 лучше всего подходит для сред, где аппаратные ограничения отсутствуют, а единственной целью является достижение максимальной точности.
- Серверная медицинская визуализация: обнаружение микроскопических аномалий на рентгеновских снимках высокого разрешения.
- Satellite Imagery: Tracking dense, overlapping objects in aerial surveillance tasks on powerful cloud clusters.
Где доминирует YOLOv5
YOLOv5 — неоспоримый чемпион для практического развертывания в реальных условиях на самом разнообразном оборудовании.
- Edge AI устройства: развертывание security alarm systems на Raspberry Pi или устройствах NVIDIA Jetson, где память строго ограничена.
- Мобильные приложения: выполнение быстрого инференса bounding box и сегментации в реальном времени напрямую на смартфонах через CoreML или TFLite.
- Высокоскоростное промышленное производство: инспекция деталей на быстрых производственных линиях, где миллисекундная задержка критически важна для успеха операций.
Хотя YOLOv5 — легендарная модель, экосистема Ultralytics постоянно раздвигает границы ИИ. Если ты сравниваешь модели для нового проекта в 2026 году, тебе стоит рассмотреть передовую Ultralytics YOLO26. YOLO26 включает в себя нативный End-to-End NMS-Free Design (похожий на трансформеры, но со скоростью CNN), оснащен революционным оптимизатором MuSGD для невероятно стабильного обучения и обеспечивает до 43% более быстрый инференс на CPU. Альтернативно, YOLO11 остается фантастическим, хорошо поддерживаемым выбором для универсальных развертываний, требующих Pose Estimation и OBB detection.
В конечном итоге, пока RTDETRv2 поднимает планку точности с помощью слоев трансформера, фреймворк Ultralytics YOLO обеспечивает непревзойденный баланс скорости, низких требований к памяти и блестяще спроектированного опыта разработчика, который значительно сокращает время от прототипа до продакшена.