YOLOv5 и RTDETRv2#
За последние несколько лет область компьютерного зрения значительно расширилась, предоставив разработчикам множество архитектур для решения сложных задач анализа изображений. Среди наиболее популярных подходов — свёрточные нейронные сети (CNNs) и детекторы на основе Transformer (DETRs).
В этом руководстве подробно сравниваются две ключевые модели этих категорий: Ultralytics YOLOv5 — высокоэффективная и широко распространённая модель на основе CNN, и RTDETRv2 — передовой детектор объектов в реальном времени на основе Transformer.
Ultralytics YOLOv5: отраслевой стандарт эффективности#
С момента выпуска Ultralytics YOLOv5 стала одной из ключевых моделей в сообществе ИИ, лежащей в основе тысяч коммерческих приложений и исследовательских проектов по всему миру. Полностью построенная на фреймворке PyTorch, она обеспечивает удобство разработки без ущерба для производительности в реальном времени.
Основные характеристики:
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- Ссылки: Репозиторий GitHub
Архитектура и сильные стороны#
YOLOv5 использует оптимизированную архитектуру CNN, обеспечивающую эффективное извлечение признаков при крайне низком потреблении памяти. В модели применяются базовая сеть CSPDarknet и шейный слой PANet, вместе обеспечивающие эффективное слияние признаков на разных масштабах.
Одно из главных преимуществ YOLOv5 — баланс производительности. Модель обеспечивает превосходное сочетание скорости и точности и идеально подходит для развёртывания моделей на устройствах с ограниченными ресурсами, таких как NVIDIA Jetson и смартфоны.
Кроме того, YOLOv5 отличается непревзойдённой универсальностью. В отличие от моделей, ограниченных прогнозированием ограничивающих рамок, YOLOv5 изначально поддерживает классификацию изображений и сегментацию экземпляров, предлагая единый фреймворк для самых разных задач анализа изображений. Модель также впечатляет эффективностью обучения: во время обучения ей требуется значительно меньше памяти CUDA, чем архитектурам на основе Transformer.
Недостатки#
Поскольку YOLOv5 построена на более старом фреймворке CNN, для удаления дублирующихся ограничивающих рамок при постобработке модели неизбежно требуется подавление немаксимумов (NMS). В экосистеме Ultralytics NMS хорошо оптимизирована, но на специализированных периферийных NPU она иногда может стать причиной задержек.
RTDETRv2: трансформеры реального времени от Baidu#
RTDETRv2 (трансформер для обнаружения объектов в реальном времени версии 2) — значительный шаг вперёд в применении архитектур Transformer для обнаружения объектов в реальном времени. Модель решает проблему вычислительной неэффективности, которая исторически была присуща стандартным DETR.
Основные характеристики:
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Статья на Arxiv, репозиторий на GitHub
Архитектура и сильные стороны#
RTDETRv2 развивает идеи предшественника: для обработки изображений используется гибридный кодировщик и гибкая структура декодера. Механизм самовнимания Transformer даёт модели целостное представление о контексте изображения, позволяя ей особенно хорошо справляться со сложными сценами, где объекты сильно перекрывают друг друга.
Отличительная особенность RTDETRv2 — сквозная архитектура без NMS. Модель напрямую предсказывает запросы объектов, не используя якорные рамки и постобработку NMS, что упрощает конвейер инференса. Эта архитектура обеспечивает впечатляющий показатель mAP (средняя точность) на таких бенчмарках, как COCO.
Недостатки#
Несмотря на возможности работы в реальном времени, RTDETRv2 предъявляет значительно более высокие требования к памяти, чем модели YOLO. Потребность Transformer в вычислениях внимания квадратично растёт с увеличением длины последовательности, что может приводить к ошибкам нехватки памяти при обучении на изображениях высокого разрешения, если не использовать большие кластеры GPU. Кроме того, в RTDETRv2 нет такой универсальной поддержки «из коробки», как в экосистеме Ultralytics: модель в основном предназначена для обнаружения объектов в 2D и изначально не поддерживает сегментацию или оценку позы.
Таблица сравнения производительности#
Чтобы объективно оценить эти архитектуры, мы собрали их метрики производительности. Жирным шрифтом выделены самые эффективные или высокие показатели среди протестированных масштабов моделей.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 |
Хотя RTDETRv2-x показывает наибольшее абсолютное значение mAP, ей требуется примерно в 40 раз больше параметров, чем YOLOv5n. Для высокоскоростных приложений на ограниченном оборудовании модели Ultralytics стабильно обеспечивают наилучшую вычислительную эффективность.
Преимущества экосистемы Ultralytics#
При переносе модели из исследовательского блокнота в рабочую среду программное обеспечение вокруг модели не менее важно, чем архитектура нейронной сети. Хорошо поддерживаемая экосистема Ultralytics значительно ускоряет цикл разработки.
Непревзойдённое удобство использования#
Модели Ultralytics обеспечивают невероятно простой и удобный интерфейс. Хочешь обучить собственную модель, выполнить валидацию или экспортировать модель в форматы для конкретного оборудования, например TensorRT или ONNX? Python API Ultralytics позволяет сделать это всего за несколько строк кода.
Вот практический пример кода, который показывает, насколько просто обучить модель Ultralytics и запустить инференс:
from ultralytics import YOLO
# Инициализация модели (веса загружаются автоматически)
model = YOLO("yolov5su.pt") # YOLOv5u: веса YOLOv5 без якорей для пакета ultralytics
# Обучи модель на датасете COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Инференс на изображении из интернета
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Отображение полученного изображения с ограничивающими рамками
inference_results[0].show()Этот простой унифицированный API изначально поддерживает интеграции для отслеживания экспериментов с такими инструментами, как Weights & Biases и Comet. Разработчики могут легко регистрировать метрики, не создавая сложный шаблонный код.
Сценарии использования и рекомендации#
Выбор между YOLOv5 и RT-DETR зависит от требований конкретного проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенные производственные системы: существующие развертывания, где ценятся длительная история стабильной работы YOLOv5, подробная документация и поддержка большого сообщества.
- Обучение при ограниченных ресурсах: среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и сниженные требования к памяти дают преимущество.
- Широкая поддержка форматов экспорта: проекты, требующие развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и LiteRT.
Когда выбрать RT-DETR#
RT-DETR рекомендуется для:
- Исследований обнаружения на основе Transformer: Проектов, в которых изучаются механизмы внимания и архитектуры Transformer для сквозного обнаружения объектов без NMS.
- Сценариев с высокой точностью и гибкими требованиями к задержке: Приложений, где точность обнаружения важнее всего, а немного большая задержка инференса допустима.
- Обнаружения крупных объектов: Сцен, в которых преобладают объекты среднего и крупного размера, а механизм глобального внимания Transformer даёт естественное преимущество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Взгляд в будущее: YOLO11 и YOLO26#
Если ты начинаешь новый проект в области компьютерного зрения, настоятельно рекомендуем изучить новейшие поколения моделей Ultralytics.
YOLOv5 по-прежнему отличается высокой надёжностью, а YOLO11 обеспечивает более высокую точность и поддерживает расширенный набор задач, включая обнаружение ориентированных ограничивающих рамок (OBB).
Ещё важнее то, что передовая модель YOLO26 объединяет лучшие качества обоих подходов. В ней реализована сквозная архитектура без NMS (впервые представленная в YOLOv10), которая устраняет затраты на постобработку и сохраняет эффективность CNN. В YOLO26 также представлен оптимизатор MuSGD, вдохновлённый новыми методами обучения LLM и ускоряющий сходимость. Благодаря удалению DFL (Distribution Focal Loss убрана для упрощения экспорта и повышения совместимости с периферийными устройствами и устройствами с низким энергопотреблением) YOLO26 обеспечивает инференс на CPU до 43% быстрее, что делает её лучшим выбором для периферийного ИИ. Кроме того, ProgLoss + STAL обеспечивают улучшенные функции потерь и заметно повышают качество распознавания мелких объектов, что важно для IoT, робототехники и аэрофотосъёмки.
Заключение#
Выбор между YOLOv5 и RTDETRv2 во многом зависит от ограничений развёртывания. RTDETRv2 выводит mAP на новый уровень благодаря мощным механизмам внимания Transformer, но требует значительных затрат памяти и вычислительных ресурсов.
В свою очередь, Ultralytics YOLOv5 — это проверенное, высокооптимизированное и универсальное решение, которое стабильно работает повсюду: от облачных серверов до микроконтроллеров. Командам, которым нужны максимально высокая точность и удобные инструменты развёртывания, переход в экосистеме Ultralytics на YOLO26 даст передовое решение для современных приложений визуального ИИ.