YOLOv5 против RTDETRv2: оценка архитектур CNN против Transformer для обнаружения объектов
Ландшафт компьютерного зрения за последние несколько лет значительно расширился, предоставив разработчикам широкий спектр архитектур для решения сложных визуальных задач. Среди наиболее популярных парадигм — сверточные нейронные сети (CNN) и трансформеры обнаружения (DETR).
Это руководство представляет собой глубокий технический анализ двух ключевых моделей в этих категориях: Ultralytics YOLOv5, высокоэффективной и широко используемой модели на базе CNN, и RTDETRv2, передового детектора объектов реального времени на базе трансформера.
Ultralytics YOLOv5: отраслевой стандарт эффективности
С момента своего выпуска Ultralytics YOLOv5 стал краеугольным камнем сообщества ИИ, обеспечивая работу тысяч коммерческих приложений и исследовательских проектов по всему миру. Построенный полностью на фреймворке PyTorch, он отдает приоритет интуитивно понятному опыту разработки без ущерба для производительности в реальном времени.
Ключевые характеристики:
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26.06.2020
- Ссылки: Репозиторий GitHub
Архитектура и сильные стороны
YOLOv5 использует оптимизированную архитектуру CNN, разработанную для максимальной эффективности извлечения признаков при сохранении крайне малого объема потребляемой памяти. В ней используется бэкенд CSPDarknet и нек PANet, что создает мощную комбинацию для многомасштабного слияния признаков.
Одним из главных преимуществ YOLOv5 является баланс производительности. Она обеспечивает исключительный компромисс между скоростью и точностью, что делает ее идеальным выбором для развертывания моделей на оборудовании с ограниченными ресурсами, таком как устройства NVIDIA Jetson и смартфоны.
Более того, YOLOv5 обладает непревзойденной универсальностью. В отличие от моделей, строго ограниченных прогнозированием ограничивающих рамок, YOLOv5 нативно поддерживает классификацию изображений и сегментацию экземпляров, предоставляя унифицированную среду для различных визуальных задач. Ее эффективность обучения также впечатляет: она требует значительно меньше памяти CUDA во время обучения по сравнению с архитектурами на базе трансформеров.
Недостатки
Поскольку YOLOv5 опирается на старую архитектуру CNN, она внутренне зависит от подавления немаксимумов (NMS) во время постобработки для устранения дублирующих ограничивающих рамок. Хотя NMS отлично оптимизирована в рамках Ultralytics, она иногда может приводить к задержкам на специализированных периферийных NPU.
RTDETRv2: Трансформеры реального времени от Baidu
RTDETRv2 (Real-Time Detection Transformer v2) представляет собой значительный скачок в применении архитектур трансформеров для обнаружения объектов в реальном времени, решая проблему вычислительных неэффективностей, которые исторически были присущи стандартным DETR.
Ключевые характеристики:
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Статья на Arxiv, Репозиторий GitHub
Архитектура и сильные стороны
RTDETRv2 развивает идеи своего предшественника, используя гибридный энкодер и гибкую конструкцию декодера для обработки изображений. Механизм селф-аттеншн (самовнимания) трансформера дает модели глобальное понимание контекста изображения, позволяя ей исключительно хорошо работать в сложных сценах с сильным перекрытием объектов.
A defining feature of RTDETRv2 is its end-to-end, NMS-free design. By predicting object queries directly without requiring anchor boxes or NMS post-processing, it simplifies the inference pipeline. This architecture achieves an impressive mAP (mean Average Precision) on benchmark datasets like COCO.
Недостатки
Несмотря на свои возможности работы в реальном времени, RTDETRv2 имеет заметно более высокие требования к памяти по сравнению с моделями YOLO. Механизмы внимания в трансформерах масштабируются квадратично от длины последовательности, что может привести к ошибкам нехватки памяти (OOM) во время обучения с высоким разрешением, если не использовать массивные GPU-кластеры. Кроме того, ей не хватает универсальности экосистемы Ultralytics, поскольку она ориентирована в основном только на 2D-обнаружение объектов без нативной поддержки сегментации или оценки позы.
Таблица сравнения производительности
Чтобы объективно оценить эти архитектуры, мы собрали их метрики производительности. Значения, выделенные жирным шрифтом, представляют собой наиболее эффективные или самые высокие показатели среди протестированных конфигураций.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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: Проектов, изучающих механизмы внимания и архитектуры трансформеров для end-to-end обнаружения объектов без NMS.
- Сценариев с высокой точностью и гибкой задержкой: Приложений, где точность обнаружения является главным приоритетом, а немного большая задержка вывода допустима.
- Обнаружения крупных объектов: Сцен, преимущественно состоящих из средних и крупных объектов, где глобальный механизм внимания трансформеров дает естественное преимущество.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Взгляд в будущее: YOLO11 и YOLO26
Если ты начинаешь новый проект по машинному зрению сегодня, настоятельно рекомендуется изучить последние поколения моделей Ultralytics.
Хотя YOLOv5 остается невероятно надежной, YOLO11 предлагает улучшенную точность и расширенный набор задач, включая обнаружение ориентированных ограничивающих рамок (OBB).
Что еще важнее, передовая YOLO26 объединяет лучшее из обоих миров. Она реализует End-to-End NMS-Free Design (впервые представленный в YOLOv10), устраняя накладные расходы на постобработку и сохраняя при этом эффективность CNN. YOLO26 также представляет MuSGD Optimizer, вдохновленный инновациями в обучении LLM, для более быстрой сходимости. Благодаря удалению DFL (Distribution Focal Loss удалена для упрощения экспорта и лучшей совместимости с периферийными/маломощными устройствами), YOLO26 обеспечивает до 43% более быстрый логический вывод на CPU, что делает ее абсолютно лучшим выбором для периферийного ИИ. Кроме того, ProgLoss + STAL предоставляют улучшенные функции потерь с заметным прогрессом в распознавании мелких объектов, что критически важно для IoT, робототехники и аэрофотосъемки.
Заключение
Выбор между YOLOv5 и RTDETRv2 сильно зависит от твоих ограничений при развертывании. RTDETRv2 раздвигает границы mAP, используя мощные механизмы внимания трансформеров, но требует высокой платы в виде памяти и вычислительных затрат.
И наоборот, Ultralytics YOLOv5 предлагает проверенное, высокооптимизированное и универсальное решение, которое плавно работает везде — от облачных серверов до микроконтроллеров. Для команд, которые ищут максимально возможную точность наряду с бесшовными инструментами развертывания, обновление внутри экосистемы Ultralytics до YOLO26 предоставляет окончательное передовое решение для современных приложений vision AI.