RTDETRv2 vs. YOLOv5: Оценка трансформеров обнаружения в реальном времени и CNN
Эволюция компьютерного зрения во многом определялась неустанным стремлением к балансу между точностью и скоростью инференса в реальном времени. При сравнении RTDETRv2 и Ultralytics YOLOv5 разработчики по сути взвешивают сложные возможности глобального контекста трансформерных архитектур против высокооптимизированной, проверенной временем эффективности сверточных нейронных сетей (CNN).
Это руководство предоставляет углубленный технический анализ этих двух выдающихся архитектур, подробно описывая их метрики производительности, методологии обучения, требования к памяти и идеальные сценарии развертывания, чтобы помочь вам выбрать лучшую модель обнаружения объектов для вашего конкретного случая использования.
RTDETRv2: Трансформерный подход к обнаружению в реальном времени
Опираясь на оригинальный Real-Time Detection Transformer (RT-DETR), RTDETRv2 представляет ряд «бесплатных улучшений» (bag-of-freebies) для усовершенствования базовой архитектуры без ущерба для задержки инференса.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация:Baidu
- Дата: 2024-07-24
- Ссылки:Статья на Arxiv, Репозиторий GitHub
Архитектура и возможности
RTDETRv2 использует гибридную архитектуру CNN-Transformer. CNN выступает в качестве опорной сети для извлечения детализированных визуальных признаков, в то время как слои энкодера-декодера трансформера обрабатывают всю карту признаков для понимания глобального контекста. Ключевой особенностью RTDETRv2 является его сквозной характер, полностью исключающий необходимость постобработки с помощью Non-Maximum Suppression (NMS).
Хотя RTDETRv2 достигает впечатляющей точности — особенно в сложных, плотных сценах, где объекты перекрываются, — это сопряжено с заметными компромиссами. Механизм внимания, присущий трансформерам, требует значительно больше памяти CUDA во время обучения по сравнению со стандартными CNN. Кроме того, хотя он хорошо работает на высокопроизводительных GPU, таких как NVIDIA A100 или T4, его архитектура заметно медленнее на стандартных CPU и сильно ограниченных периферийных устройствах.
Ultralytics YOLOv5: Отраслевой стандарт эффективности
Ultralytics YOLOv5 фундаментально изменил ландшафт прикладного машинного обучения с момента своего выпуска, сделав высокопроизводительное компьютерное зрение доступным для разработчиков по всему миру благодаря исключительно интуитивно понятному фреймворку.
- Автор: Гленн Джокер
- Организация: Ultralytics
- Дата: 26 июня 2020 г.
- Ссылки:Официальная документация, Репозиторий GitHub
Экосистема и баланс производительности
YOLOv5 полностью построен на фреймворке PyTorch и использует чрезвычайно эффективную архитектуру CNN. Он был разработан с нуля для простоты использования, предлагая оптимизированный API и одну из самых обширных документаций в индустрии ИИ.
Главное преимущество YOLOv5 заключается в его непревзойденной универсальности и низких требованиях к памяти. Обучение модели YOLOv5 требует значительно меньше видеопамяти, чем модели на основе трансформеров, что делает ее доступной для исследователей и инженеров с ограниченным бюджетом на оборудование. Более того, в то время как RTDETRv2 фокусируется исключительно на обнаружении ограничивающих рамок, YOLOv5 превратилась в универсальный инструмент, поддерживающий сегментацию экземпляров и классификацию изображений.
Корпоративное управление моделями
Чтобы испытать максимально оптимизированный рабочий процесс, вы можете обучать, проверять и развертывать YOLOv5 напрямую с помощью Платформы Ultralytics. Платформа предоставляет возможности облачного обучения и конвейеры развертывания без написания кода.
Сравнение производительности и метрик
При анализе фактической производительности на стандартном наборе данных COCO мы можем видеть чёткие различия в том, как эти модели расставляют приоритеты в использовании ресурсов.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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.6M параметров — уровень, в котором 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 лучше всего подходит для сред, где отсутствуют аппаратные ограничения, а максимальная возможная точность является единственной целью.
- Серверная медицинская визуализация: Обнаружение микроскопических аномалий на рентгеновских снимках высокого разрешения.
- Спутниковые снимки: track плотных, перекрывающихся объектов в задачах воздушного наблюдения на мощных облачных кластерах.
В чем YOLOv5 доминирует
YOLOv5 — бесспорный чемпион для практического, реального развертывания на различных аппаратных платформах.
- Устройства периферийного ИИ: Развертывание систем охранной сигнализации на устройствах Raspberry Pi или NVIDIA Jetson, где память строго ограничена.
- Мобильные приложения: Выполнение быстрого, в реальном времени, вывода ограничивающих рамок и сегментации непосредственно на смартфонах через CoreML или TFLite.
- Высокоскоростное промышленное производство: Инспекция деталей на быстрых производственных линиях, где миллисекундная задержка критически важна для операционного успеха.
Исследование других моделей Ultralytics
Хотя YOLOv5 является легендарной моделью, экосистема Ultralytics постоянно расширяет границы ИИ. Если вы сравниваете модели для нового проекта в 2026 году, вам следует рассмотреть передовую Ultralytics YOLO26. YOLO26 включает в себя нативную сквозную NMS-Free архитектуру (похожую на трансформеры, но со скоростью CNN), использует революционный оптимизатор MuSGD для невероятно стабильного обучения и обеспечивает до 43% более быструю инференцию на CPU. В качестве альтернативы, YOLO11 остается фантастическим, широко поддерживаемым выбором для универсальных развертываний, требующих оценки позы и obb detect.
В конечном счете, хотя RTDETRv2 расширяет пределы точности с помощью трансформерных слоев, фреймворк Ultralytics YOLO обеспечивает непревзойденный баланс скорости, низких требований к памяти и блестяще спроектированного опыта разработчика, что значительно сокращает время от прототипа до производства.