YOLOv5 против RTDETRv2#
За последние несколько лет область компьютерного зрения значительно расширилась, предложив разработчикам широкий выбор архитектур для решения сложных задач анализа изображений. Среди наиболее популярных подходов — свёрточные нейронные сети (CNN) и трансформеры обнаружения (DETR).
В этом руководстве приведено подробное техническое сравнение двух ключевых моделей из этих категорий: Ultralytics YOLOv5 — высокоэффективной и широко распространённой модели на базе CNN — и RTDETRv2, современного детектора объектов реального времени на базе трансформера.
Ultralytics YOLOv5: отраслевой стандарт эффективности#
С момента выпуска Ultralytics YOLOv5 стала одной из основ сообщества ИИ, обеспечивая работу тысяч коммерческих приложений и исследовательских проектов по всему миру. Полностью созданная на базе фреймворка PyTorch, модель ставила во главу угла удобство для разработчиков без ущерба для производительности в реальном времени.
Ключевые характеристики:
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- Ссылки: Репозиторий GitHub
Архитектура и преимущества#
YOLOv5 использует оптимизированную архитектуру CNN, разработанную для максимальной эффективности извлечения признаков при сохранении исключительно малого объёма используемой памяти. В ней применяются магистральная сеть CSPDarknet и шея PANet, создающие мощную комбинацию для многоуровневого объединения признаков.
Одно из главных преимуществ YOLOv5 — это баланс производительности. Модель обеспечивает исключительный компромисс между скоростью и точностью, что делает её идеальным выбором для развёртывания моделей на аппаратном обеспечении с ограниченными ресурсами, например устройствах NVIDIA Jetson и смартфонах.
Кроме того, YOLOv5 отличается непревзойдённой универсальностью. В отличие от моделей, ограниченных исключительно предсказанием ограничивающих рамок, YOLOv5 изначально поддерживает классификацию изображений и сегментацию экземпляров, предоставляя единую платформу для решения различных задач анализа изображений. Её эффективность обучения также впечатляет: по сравнению с архитектурами на базе трансформеров во время обучения требуется значительно меньше памяти CUDA.
Недостатки#
Поскольку YOLOv5 использует более старую архитектуру CNN, при постобработке она изначально зависит от подавления немаксимумов (NMS) для удаления дублирующихся ограничивающих рамок. Хотя в экосистеме Ultralytics NMS сильно оптимизирован, иногда он может создавать узкие места по задержке на специализированных периферийных NPU.
RTDETRv2: Transformer-модели реального времени от Baidu#
RTDETRv2 (трансформер обнаружения в реальном времени, версия 2) знаменует собой значительный прорыв в применении архитектур трансформеров для обнаружения объектов в реальном времени, устраняя вычислительную неэффективность, которая исторически была характерна для стандартных DETR.
Ключевые характеристики:
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Статья на Arxiv, репозиторий GitHub
Архитектура и преимущества#
RTDETRv2 развивает идеи предшественника, используя гибридный кодировщик и гибкую конструкцию декодировщика для обработки изображений. Механизм самооб attention трансформера обеспечивает модели глобальное понимание контекста изображения, позволяя ей особенно хорошо работать в сложных сценах с сильным перекрытием объектов.
Отличительная особенность RTDETRv2 — сквозная конструкция без NMS. Благодаря непосредственному предсказанию запросов объектов без необходимости в якорных рамках или постобработке NMS она упрощает конвейер инференса. Эта архитектура достигает впечатляющего значения mAP (средняя точность) на эталонных наборах данных, таких как COCO.
Недостатки#
Несмотря на возможности работы в реальном времени, RTDETRv2 предъявляет значительно более высокие требования к памяти по сравнению с моделями YOLO. Механизмы внимания в трансформерах масштабируются квадратично относительно длины последовательности, что может приводить к ошибкам нехватки памяти во время обучения на изображениях высокого разрешения, если не используются огромные кластеры GPU. Кроме того, модели не хватает универсальности экосистемы Ultralytics «из коробки»: в основном она ориентирована только на 2D-обнаружение объектов, без встроенной поддержки сегментации или оценки позы.
Таблица сравнения производительности#
Для объективной оценки этих архитектур мы собрали их показатели производительности. Значения, выделенные жирным шрифтом, обозначают наиболее эффективные или самые высокие результаты среди протестированных масштабов.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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, для неё требуется почти в 30 раз больше параметров, чем для YOLOv5n. Для высокоскоростных приложений, работающих на аппаратном обеспечении с ограниченными ресурсами, модели Ultralytics неизменно обеспечивают наилучшую вычислительную эффективность.
Преимущества экосистемы Ultralytics#
При переносе модели из исследовательского ноутбука в производственную среду программное окружение модели не менее важно, чем архитектура нейронной сети. Хорошо поддерживаемая экосистема, предоставляемая Ultralytics, значительно ускоряет жизненный цикл разработки.
Непревзойдённая простота использования#
Модели Ultralytics ориентированы на невероятно удобный и оптимизированный пользовательский интерфейс. Если ты хочешь обучить пользовательскую модель, выполнить валидацию или экспортировать её в форматы для конкретного оборудования, например TensorRT или ONNX, Python API Ultralytics позволяет сделать это всего несколькими строками кода.
Ниже приведён практический пример кода, демонстрирующий, насколько просто обучать модель Ultralytics и выполнять с её помощью инференс:
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()Этот простой унифицированный API изначально поддерживает интеграции для отслеживания экспериментов с такими инструментами, как Weights & Biases и Comet, позволяя разработчикам без труда записывать метрики без написания сложного шаблонного кода.
Варианты применения и рекомендации#
Выбор между YOLOv5 и RT-DETR зависит от конкретных требований проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенных производственных систем: существующих развертываний, где важны длительная история стабильной работы YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения при ограниченных ресурсах: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти дают преимущества.
- Широкой поддержки форматов экспорта: проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда стоит выбрать RT-DETR#
RT-DETR рекомендуется для:
- Исследований обнаружения на основе Transformer: Проектов, изучающих механизмы внимания и архитектуры Transformer для сквозного обнаружения объектов без NMS.
- Сценариев с высокой точностью и гибкими требованиями к задержке: Приложений, в которых точность обнаружения является главным приоритетом, а немного большая задержка инференса приемлема.
- Обнаружения крупных объектов: Сцен с преимущественно средними и крупными объектами, где механизм глобального внимания Transformer дает естественное преимущество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения 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 обеспечивает до 43% более быстрый инференс на CPU, что делает её безусловно лучшим выбором для периферийного ИИ. Кроме того, ProgLoss + STAL обеспечивают улучшенные функции потерь с заметным повышением качества распознавания небольших объектов, что особенно важно для IoT, робототехники и аэрофотосъёмки.
Заключение#
Выбор между YOLOv5 и RTDETRv2 в значительной степени зависит от ограничений развёртывания. RTDETRv2 расширяет границы mAP благодаря мощным механизмам внимания трансформеров, но требует существенных затрат памяти и вычислительных ресурсов.
В свою очередь, Ultralytics YOLOv5 — это проверенное, высокооптимизированное и универсальное решение, которое стабильно работает повсюду: от облачных серверов до микроконтроллеров. Командам, которым необходима максимально возможная точность наряду с удобными инструментами развёртывания, переход внутри экосистемы Ultralytics на YOLO26 предоставляет окончательное современное решение уровня state-of-the-art для приложений ИИ в области компьютерного зрения.