RTDETRv2 против YOLOv5#
Эволюция компьютерного зрения во многом определялась неустанным стремлением к балансу между точностью и скоростью логического вывода в режиме реального времени. Сравнивая RTDETRv2 и Ultralytics YOLOv5, разработчики по сути сопоставляют возможности сложного глобального контекста трансформерных архитектур с высокооптимизированной, проверенной в боях эффективностью сверточных нейронных сетей (CNN).
Это руководство содержит глубокий технический анализ этих двух выдающихся архитектур, подробно описывая их показатели производительности, методологии обучения, требования к памяти и идеальные сценарии развертывания, чтобы помочь тебе выбрать лучшую модель обнаружения объектов для твоей конкретной задачи.
RTDETRv2: Трансформерный подход к детекции в реальном времени#
Основываясь на оригинальном Real-Time Detection Transformer (RT-DETR), RTDETRv2 внедряет ряд «бесплатных улучшений» (bag-of-freebies) для совершенствования базовой архитектуры без ущерба для задержки вывода.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 24.07.2024
- Ссылки: Статья Arxiv, Репозиторий GitHub
Архитектура и возможности#
RTDETRv2 использует гибридную архитектуру CNN-Transformer. CNN выступает в роли магистральной сети (backbone) для извлечения тонких визуальных признаков, в то время как слои энкодера-декодера трансформера обрабатывают всю карту признаков для понимания глобального контекста. Важной отличительной чертой RTDETRv2 является его сквозной характер (end-to-end), полностью устраняющий необходимость в постпроцессинге немаксимального подавления (NMS).
Хотя RTDETRv2 достигает впечатляющей точности — особенно в сложных, плотных сценах, где объекты перекрываются — он имеет заметные компромиссы. Механизм внимания, присущий трансформерам, требует значительно больше памяти CUDA во время обучения по сравнению со стандартными CNN. Кроме того, хотя он хорошо работает на мощных GPU, таких как NVIDIA A100 или T4, его архитектура заметно медленнее на стандартных CPU и устройствах с жесткими ограничениями (edge devices).
Ultralytics YOLOv5: отраслевой стандарт эффективности#
Ultralytics YOLOv5 фундаментально изменил ландшафт прикладного машинного обучения после своего выхода, сделав высокопроизводительное компьютерное зрение доступным для разработчиков по всему миру благодаря исключительно интуитивно понятному фреймворку.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26 июня 2020 г.
- Ссылки: Официальная документация, Репозиторий GitHub
Баланс экосистемы и производительности#
YOLOv5 полностью построен на фреймворке PyTorch и опирается на чрезвычайно эффективную архитектуру CNN. Он был разработан с нуля для простоты использования, отличаясь оптимизированным API и одной из самых обширных документаций в индустрии ИИ.
Главное преимущество YOLOv5 заключается в его непревзойденной универсальности и низких требованиях к памяти. Обучение модели YOLOv5 требует значительно меньше видеопамяти (VRAM), чем модели на базе трансформеров, что делает её доступной для исследователей и инженеров с ограниченным аппаратным бюджетом. Более того, в то время как RTDETRv2 ориентирован исключительно на обнаружение ограничивающих рамок (bounding box), YOLOv5 эволюционировал в универсальный инструмент, поддерживающий сегментацию экземпляров и классификацию изображений.
Чтобы испытать максимально оптимизированный рабочий процесс, ты можешь обучать, проверять и развертывать YOLOv5 напрямую с помощью платформы Ultralytics. Платформа предоставляет возможности облачного обучения и конвейеры развертывания без написания кода.
Сравнение производительности и метрик#
Анализируя производительность на стандартном наборе данных COCO, мы видим четкие различия в том, как эти модели распределяют ресурсы.
| Модель | размер (пиксели) | 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 достигает пиковой средней точности (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, разработчики автоматически получают доступ к хорошо поддерживаемой экосистеме, включающей интеграции для отслеживания экспериментов (такие как Weights & Biases и Comet ML) и экспорт в один клик в форматы развертывания, такие как ONNX и OpenVINO.
Реальные применения и идеальные сценарии использования#
Где RTDETRv2 блистает#
RTDETRv2 лучше всего подходит для сред, где нет аппаратных ограничений, а максимальная точность является единственной целью.
- Медицинская визуализация на стороне сервера: обнаружение микроскопических аномалий на рентгеновских снимках высокого разрешения.
- Спутниковые снимки: отслеживание плотных, перекрывающихся объектов в задачах воздушного наблюдения на мощных облачных кластерах.
Где доминирует YOLOv5#
YOLOv5 — неоспоримый чемпион для практического развертывания в реальных условиях на самом разнообразном оборудовании.
- Edge AI устройства: развертывание систем охранной сигнализации на Raspberry Pi или устройствах NVIDIA Jetson, где объем памяти строго ограничен.
- Мобильные приложения: выполнение быстрого вывода для обнаружения объектов и сегментации в реальном времени прямо на смартфонах через CoreML или TFLite.
- Высокоскоростное промышленное производство: инспекция деталей на быстрых производственных линиях, где миллисекундная задержка критически важна для успеха операций.
Хотя YOLOv5 — легендарная модель, экосистема Ultralytics постоянно расширяет границы ИИ. Если ты сравниваешь модели для нового проекта в 2026 году, тебе стоит изучить ультрасовременную Ultralytics YOLO26. YOLO26 включает в себя встроенный дизайн без NMS (End-to-End NMS-Free) (похожий на трансформеры, но со скоростью CNN), оснащен революционным оптимизатором MuSGD для невероятно стабильного обучения и обеспечивает до 43% более быстрый вывод на CPU. В качестве альтернативы, YOLO11 остается фантастическим, хорошо поддерживаемым выбором для универсальных развертываний, требующих оценки позы и OBB-обнаружения.
В конечном итоге, хотя RTDETRv2 поднимает планку точности с помощью слоев трансформера, фреймворк Ultralytics YOLO обеспечивает непревзойденный баланс скорости, низких требований к памяти и блестяще спроектированного опыта разработчика, что значительно сокращает время от прототипа до производства.