RTDETRv2 и YOLOv5#
Развитие компьютерного зрения во многом определялось постоянным поиском баланса между точностью и скоростью инференса в реальном времени. Сравнивая RTDETRv2 и Ultralytics YOLOv5, разработчики, по сути, выбирают между продвинутыми возможностями архитектур Transformer по учёту глобального контекста и высокоэффективными, проверенными временем свёрточными нейронными сетями (CNN).
В этом руководстве представлен подробный технический анализ этих двух известных архитектур: рассматриваются их показатели производительности, методы обучения, требования к памяти и сценарии развёртывания, чтобы помочь тебе выбрать лучшую модель обнаружения объектов для конкретного применения.
RTDETRv2: подход Transformer к обнаружению объектов в реальном времени#
Развивая оригинальную модель Transformer для обнаружения объектов в реальном времени (RT-DETR), RTDETRv2 добавляет ряд «бесплатных улучшений», повышающих качество базовой архитектуры без увеличения задержки инференса.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Статья на Arxiv, репозиторий на GitHub
Архитектура и возможности#
RTDETRv2 использует гибридную архитектуру CNN-Transformer. CNN выступает в роли магистральной сети и извлекает детализированные визуальные признаки, а слои кодировщика и декодировщика Transformer обрабатывают всю карту признаков, чтобы понять глобальный контекст. Важная особенность RTDETRv2 — сквозная архитектура, полностью устраняющая необходимость в постобработке с подавлением немаксимумов (NMS).
RTDETRv2 демонстрирует впечатляющую точность, особенно в сложных сценах с высокой плотностью объектов и перекрытиями, но это сопряжено с заметными компромиссами. Встроенный в Transformer механизм внимания требует при обучении значительно больше CUDA-памяти, чем стандартные CNN. Кроме того, модель хорошо работает на мощных GPU, например NVIDIA A100 или T4, но заметно медленнее на обычных CPU и сильно ограниченных периферийных устройствах.
Ultralytics YOLOv5: отраслевой стандарт эффективности#
После выпуска Ultralytics YOLOv5 кардинально изменила прикладное машинное обучение: благодаря исключительно интуитивно понятному фреймворку высокопроизводительное компьютерное зрение стало доступно разработчикам по всему миру.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 26 июня 2020 года
- Ссылки: Официальная документация, репозиторий GitHub
Баланс экосистемы и производительности#
YOLOv5 полностью построена на фреймворке PyTorch и использует чрезвычайно эффективную архитектуру CNN. Модель изначально разрабатывалась с упором на простоту использования: у неё удобный API и одна из самых подробных документаций в индустрии ИИ.
Главные преимущества YOLOv5 — непревзойдённая универсальность и низкие требования к памяти. Для обучения модели YOLOv5 требуется гораздо меньше VRAM, чем для моделей на базе Transformer, поэтому она доступна исследователям и инженерам с ограниченным бюджетом на оборудование. Кроме того, 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 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Анализ компромиссов#
Данные показывают, что RTDETRv2-x достигает максимального значения средней точности (mAP) 54,3%, немного превосходя YOLOv5x с результатом 50,7%. Однако это небольшое повышение точности требует огромных вычислительных затрат. YOLOv5x обеспечивает меньшую задержку (11,89 мс против 15,03 мс на TensorRT) и использует лишь малую часть объёма памяти. Для развёртывания на периферийных устройствах со сверхнизким энергопотреблением YOLOv5n (Nano) остаётся вне конкуренции: инференс занимает всего 1,12 мс, а модель содержит лишь 1,9 млн параметров. RTDETRv2 даже не пытается конкурировать в этом классе.
Эффективность обучения и простота кода#
Одно из ключевых преимуществ экосистемы Ultralytics — единый API. Даже если для конкретной задачи с высокими вычислительными требованиями ты решишь использовать архитектуру Transformer из RT-DETR, всё можно сделать в пакете Ultralytics Python, легко переключаясь между моделями всего одной строкой кода.
from ultralytics import RTDETR, YOLO
# Загрузить небольшую модель Ultralytics YOLOv5
model_yolo = YOLO("yolov5su.pt") # YOLOv5u: веса YOLOv5 без якорей для пакета ultralytics
# Загрузить большую модель RT-DETR через Ultralytics
model_rtdetr = RTDETR("rtdetr-l.pt")
# Без труда обучить YOLOv5 на своих данных
model_yolo.train(data="coco8.yaml", epochs=100, imgsz=640)
# Без проблем запустить инференс обеих моделей
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 — бесспорный лидер для практического развёртывания в реальных условиях на самых разных типах оборудования.
- Периферийные устройства для ИИ: развёртывание систем охранной сигнализации на Raspberry Pi или устройствах NVIDIA Jetson с жёсткими ограничениями по памяти.
- Мобильные приложения: быстрый инференс в реальном времени для ограничивающих рамок и сегментации прямо на смартфонах через CoreML или LiteRT.
- Высокоскоростное промышленное производство: проверка деталей на скоростных производственных линиях, где задержка в миллисекунды критически важна для успешной работы.
YOLOv5 — легендарная модель, но экосистема Ultralytics продолжает расширять границы ИИ. Если в 2026 году ты выбираешь модель для нового проекта, обрати внимание на передовую Ultralytics YOLO26. YOLO26 использует встроенную сквозную архитектуру без NMS с опциональной головой один-к-одному (nms=False), сочетая подход Transformer со скоростью CNN, включает революционный оптимизатор MuSGD для исключительно стабильного обучения и обеспечивает инференс на CPU до 43% быстрее. Кроме того, YOLO11 остаётся отличным, хорошо поддерживаемым вариантом для универсального развёртывания, где нужны оценка позы и обнаружение OBB.
В итоге RTDETRv2 повышает планку точности с помощью слоёв Transformer, тогда как фреймворк Ultralytics YOLO обеспечивает непревзойдённый баланс скорости, низких требований к памяти и превосходно продуманного опыта разработки, значительно сокращая путь от прототипа до промышленной эксплуатации.