YOLOv5 против RTDETRv2: Баланс скорости в реальном времени и точности Transformer
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для успеха проекта. В этом всестороннем техническом сравнении рассматриваются два различных подхода: YOLOv5, легендарный детектор на основе CNN, известный своей универсальностью и скоростью, и RTDETRv2, современная модель на основе трансформеров, ориентированная на высокую точность.
В то время как RTDETRv2 использует Vision Transformers (ViT) для захвата глобального контекста, Ultralytics YOLOv5 остается лучшим выбором для разработчиков, которым требуется надежное, готовое к развертыванию решение с низкими накладными расходами на ресурсы.
Спецификации и происхождение моделей
Прежде чем углубляться в показатели производительности, важно понять предысторию и архитектурную философию каждой модели.
| Функциональность | Ultralytics YOLOv5 | RTDETRv2 |
|---|---|---|
| Архитектура | На основе CNN (с привязками) | Гибридная модель (CNN Backbone + Transformer) |
| Основной фокус | Скорость, универсальность и простота использования в реальном времени | Высокая точность, глобальный контекст |
| Авторы | Glenn Jocher | Вэнью Люй, Иань Чжао и др. |
| Организация | Ultralytics | Baidu |
| Дата выпуска | 2020-06-26 | 2023-04-17 |
| Задачи | Обнаружение, Сегментация, Классификация | Обнаружение |
Архитектура и философия проектирования
Принципиальное различие между этими моделями заключается в способе обработки визуальных данных.
Ultralytics YOLOv5
YOLOv5 использует высокооптимизированную архитектуру сверточной нейронной сети (CNN). Он использует модифицированный бэкбон CSPDarknet и neck Path Aggregation Network (PANet) для извлечения карт признаков.
- На основе Anchor: Полагается на предопределенные anchor boxes для прогнозирования местоположения объектов, что упрощает процесс обучения для распространенных форм объектов.
- Эффективность: Разработан для максимальной скорости inference на самых разных аппаратных средствах, от периферийных устройств, таких как NVIDIA Jetson, до стандартных CPU.
- Универсальность: Поддерживает несколько задач, включая instance segmentation и image classification, в рамках единой унифицированной структуры.
RTDETRv2
RTDETRv2 (Real-Time Detection Transformer v2) представляет собой сдвиг в сторону архитектур transformer.
- Гибридный дизайн: Сочетает в себе CNN backbone с transformer encoder-decoder, используя механизмы самовнимания для обработки объектных взаимосвязей.
- Глобальный контекст: Компонент transformer позволяет модели "видеть" все изображение сразу, улучшая производительность в сложных сценах с перекрытиями.
- Computational Cost: Эта сложная архитектура обычно требует значительно больше памяти GPU и вычислительной мощности (FLOPs) по сравнению с решениями, основанными исключительно на CNN.
Анализ производительности
В таблице ниже представлено прямое сравнение ключевых показателей производительности. В то время как RTDETRv2 демонстрирует впечатляющую точность (mAP) на наборе данных COCO, YOLOv5 демонстрирует превосходную скорость инференса, особенно на оборудовании CPU, где трансформаторы часто испытывают трудности.
| Модель | размер (пиксели) | 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 достигает более высоких показателей mAP, обратите внимание на столбцы Скорость и FLOPs. YOLOv5n работает со скоростью 73,6 мс на CPU, что делает его пригодным для приложений реального времени на не ускоренном оборудовании. Модели RTDETRv2 значительно тяжелее, что требует мощных GPU для поддержания частоты кадров в реальном времени.
Эффективность обучения и использование памяти
Важнейшее преимущество YOLOv5 является эффективность обучения. Модели на основе трансформаторов, такие как RTDETRv2, печально известны высоким потреблением VRAM и медленной скоростью сходимости.
- Меньший объем памяти: YOLOv5 можно обучать на GPU потребительского класса со скромной памятью CUDA, что демократизирует доступ к разработке AI.
- Более быстрая сходимость: Пользователи часто могут достичь приемлемых результатов за меньшее количество эпох, экономя ценное время и затраты на облачные вычисления.
Ключевые преимущества Ultralytics YOLOv5
Для большинства разработчиков и коммерческих приложений YOLOv5 предлагает более сбалансированный и практичный набор преимуществ:
- Непревзойденная простота использования: Ultralytics Python API является отраслевым стандартом простоты. Загрузка модели, запуск inference и обучение на пользовательских данных могут быть выполнены всего несколькими строками кода.
- Развитая экосистема: Поддерживаемый огромным сообществом с открытым исходным кодом, YOLOv5 легко интегрируется с Ultralytics HUB для обучения без кода, инструментами MLOps для отслеживания и различными форматами экспорта, такими как ONNX и TensorRT.
- Гибкость развертывания: От мобильных приложений iOS и Android до Raspberry Pi и облачных серверов, легкая архитектура YOLOv5 позволяет ему работать там, где более тяжелые transformer-модели не могут.
- Универсальность задач: В отличие от RTDETRv2, который в основном является детектором объектов, YOLOv5 поддерживает классификацию и сегментацию, что снижает необходимость поддерживать несколько кодовых баз для различных задач компьютерного зрения.
Путь обновления
Если вам нужна еще более высокая точность, чем у YOLOv5, при сохранении преимуществ этой экосистемы, обратите внимание на новый YOLO11. Он включает в себя современные архитектурные улучшения, позволяющие конкурировать или превосходить точность transformer с эффективностью, которую вы ожидаете от YOLO.
Сравнение кода: простота использования
В следующем примере демонстрируется простота использования YOLOv5 с пакетом Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model = YOLO("yolov5s.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
for result in results:
result.show() # show to screen
result.save(filename="result.jpg") # save to disk
Идеальные варианты использования
Когда следует выбирать Ultralytics YOLOv5
- Периферийные вычисления: Развертывание на устройствах с батарейным питанием или с ограниченными ресурсами (дроны, мобильные телефоны, IoT).
- Видеоаналитика в реальном времени: Одновременная обработка нескольких видеопотоков для управления трафиком или безопасности.
- Быстрое прототипирование: Когда вам нужно перейти от набора данных к развернутой модели за часы, а не за дни.
- Требования к нескольким задачам: Проекты, требующие как обнаружения объектов, так и сегментации изображений.
Когда следует выбирать RTDETRv2
- Академические исследования: Сравнение с абсолютным современным уровнем на статических наборах данных, где скорость вторична.
- Доступность высокопроизводительных GPU: Среды, в которых доступны выделенные GPU серверного класса (например, NVIDIA A100) как для обучения, так и для inference.
- Сложные статические сцены: Сценарии с плотным перекрытием, где механизм само-внимания обеспечивает критическое преимущество в точности.
Заключение
Несмотря на то, что RTDETRv2 демонстрирует потенциал трансформеров в компьютерном зрении с впечатляющими показателями точности, это сопряжено со значительными затратами с точки зрения аппаратных ресурсов и сложности обучения. Для подавляющего большинства реальных приложений Ultralytics YOLOv5 остается превосходным выбором. Его идеальное сочетание скорости, точности и низкого потребления памяти, в сочетании с поддерживающей экосистемой и обширной документацией, гарантирует, что разработчики смогут создавать масштабируемые, эффективные и результативные решения на основе искусственного интеллекта.
Для тех, кто ищет самые современные решения в области производительности, не жертвуя при этом удобством использования фреймворка Ultralytics, мы настоятельно рекомендуем изучить YOLO11, который устраняет разрыв между эффективностью CNN и точностью на уровне трансформеров.
Изучите другие модели
- YOLOv5 против YOLOv8
- RT-DETR против YOLO11
- YOLOv5 против EfficientDet
- YOLOv8 против RT-DETR
- YOLOv10 vs YOLOv5