YOLOv5 против RTDETRv2: Баланс между скоростью работы в реальном времени и точностью трансформатора
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для успеха проекта. В этом комплексном техническом сравнении рассматриваются два различных подхода: YOLOv5легендарный детектор на основе CNN, известный своей универсальностью и скоростью, и RTDETRv2, современная модель на основе трансформатора, ориентированная на высокую точность.
В то время как RTDETRv2 использует Vision Transformers (ViT) для захвата глобального контекста, Ultralytics YOLOv5 остается лучшим выбором для разработчиков, которым требуется надежное, готовое к развертыванию решение с низкими затратами ресурсов.
Технические характеристики и происхождение модели
Прежде чем погружаться в метрики производительности, необходимо понять историю и архитектурную философию каждой модели.
| Характеристика | Ultralytics YOLOv5 | RTDETRv2 |
|---|---|---|
| Архитектура | На основе CNN (на основе якоря) | Гибрид (магистраль CNN + трансформатор) |
| Основной фокус | Скорость работы в режиме реального времени, универсальность, простота использования | Высокая точность, глобальный контекст |
| Авторы | Гленн Джочер | Вэньюй Лв, Йян Чжао и др. |
| Организация | Ultralytics | Baidu |
| Дата выхода | 2020-06-26 | 2023-04-17 |
| Задачи | Обнаружение, сегментация, классификация | Обнаружение |
Философия архитектуры и дизайна
Принципиальное различие между этими моделями заключается в том, как они обрабатывают визуальные данные.
Ultralytics YOLOv5
В YOLOv5 используется высоко оптимизированная архитектура конволюционной нейронной сети (CNN). Она использует модифицированную магистраль CSPDarknet и горловину Path Aggregation Network (PANet) для извлечения карт признаков.
- Основан на якорях: Полагается на предопределенные якорные ящики для предсказания местоположения объектов, что упрощает процесс обучения для обычных форм объектов.
- Эффективность: Разработано для максимальной скорости вычислений на широком спектре аппаратного обеспечения, от граничных устройств, таких как NVIDIA Jetson, до стандартных процессоров.
- Универсальность: Поддержка множества задач, включая сегментацию экземпляров и классификацию изображений, в рамках единой унифицированной структуры.
RTDETRv2
RTDETRv2 (Real-Time Detection Transformer v2) представляет собой переход к архитектуре трансформаторов.
- Гибридная конструкция: Сочетает в себе основу CNN с трансформаторным кодером-декодером, используя механизмы самовнимания для обработки отношений между объектами.
- Глобальный контекст: Компонент трансформатора позволяет модели "видеть" все изображение сразу, что повышает производительность в сложных сценах с окклюзией.
- Вычислительные затраты: Эта сложная архитектура обычно требует значительно больше памяти 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 , обратите внимание на столбцы Speed и FLOPs. YOLOv5n работает со скоростью 73,6 мс на CPU, что делает его пригодным для приложений реального времени на неускоренном оборудовании. Модели RTDETRv2 значительно тяжелее и требуют мощных графических процессоров для поддержания частоты кадров в реальном времени.
Эффективность обучения и использование памяти
Важнейшее преимущество YOLOv5 является эффективность обучения. Модели на основе трансформаторов, такие как RTDETRv2, печально известны высоким потреблением VRAM и медленной скоростью сходимости.
- Меньший объем памяти: YOLOv5 можно обучать на графических процессорах потребительского класса со скромным объемом памяти CUDA , что обеспечивает демократичный доступ к разработке ИИ.
- Более быстрая конвергенция: Пользователи часто могут получить полезные результаты за меньшее количество эпох, экономя драгоценное время и расходы на облачные вычисления.
Ключевые преимущества Ultralytics YOLOv5
Для большинства разработчиков и коммерческих приложений YOLOv5 предлагает более сбалансированный и практичный набор преимуществ:
- Непревзойденная простота использования:API Ultralytics Python является отраслевым стандартом простоты. Загрузка модели, проведение расчетов и обучение на пользовательских данных могут быть выполнены с помощью всего нескольких строк кода.
- Богатая экосистема: Опираясь на огромное сообщество разработчиков с открытым исходным кодом, YOLOv5 легко интегрируется с Ultralytics HUB для обучения без кода, инструментами MLOps для отслеживания и различными форматами экспорта, такими как ONNX и TensorRT.
- Гибкость развертывания: Легкая архитектура YOLOv5 позволяет использовать его там, где не могут работать более тяжелые модели трансформаторов: от мобильных приложений для iOS и Android до Raspberry Pi и облачных серверов.
- Универсальность задач: В отличие от RTDETRv2, который в первую очередь является детектором объектов, YOLOv5 поддерживает классификацию и сегментацию, что уменьшает необходимость поддерживать несколько кодовых баз для различных задач зрения.
Путь обновления
Если вам нужна еще более высокая точность, чем YOLOv5 , при сохранении этих преимуществ экосистемы, обратите внимание на новую модель YOLO11. В нем реализованы современные архитектурные усовершенствования, позволяющие превзойти точность трансформатора, а также эффективность, которую вы ожидаете от 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 высокого класса: Среды, в которых выделенные графические процессоры серверного класса (например, NVIDIA A100) доступны как для обучения, так и для выводов.
- Сложные статические сцены: Сценарии с плотной окклюзией, в которых механизм самовнушения обеспечивает критическое преимущество в точности.
Заключение
Хотя RTDETRv2 демонстрирует потенциал трансформаторов в компьютерном зрении с впечатляющими показателями точности, это связано со значительными затратами аппаратных ресурсов и сложностью обучения. Для подавляющего большинства реальных приложений, Ultralytics YOLOv5 остается лучшим выбором. Его идеальное сочетание скорости, точности и низкого потребления памяти в сочетании с поддерживающей экосистемой и обширной документацией гарантирует,что разработчики смогут создавать масштабируемые, эффективные и действенные решения в области ИИ.
Тем, кто стремится к абсолютной производительности без ущерба для удобства использования фреймворка Ultralytics , мы настоятельно рекомендуем изучить YOLO11который преодолевает разрыв между эффективностью CNN и точностью на уровне трансформатора.
Изучите другие модели
- YOLOv5 против YOLOv8
- RT-DETR против YOLO11
- YOLOv5 против EfficientDet
- YOLOv8 против RT-DETR
- YOLOv10 против YOLOv5