RTDETRv2 против YOLOv5: техническое сравнение
В быстро развивающейся сфере обнаружения объектов выбор подходящей модели часто связан с поиском компромисса между архитектурной сложностью, скоростью вывода и практическим удобством использования. В данном руководстве приводится всестороннее техническое сравнение RTDETRv2, детектора реального времени на основе трансформатора от Baidu, и YOLOv5легендарной модели на основе CNN от Ultralytics , известной своей универсальностью и широким распространением.
Анализ производительности: скорость в сравнении с точностью
Фундаментальное различие между этими двумя моделями заключается в их архитектурной философии. RTDETRv2 использует подход Vision Transformer (ViT) для захвата глобального контекста, стремясь к максимальной точности в бенчмарках. В YOLOv5 , напротив, используется высокооптимизированная конволюционная нейронная сеть (CNN), в которой приоритетом является баланс скорости, эффективности и простоты развертывания на различных аппаратных средствах.
Приведенная ниже таблица иллюстрирует это различие. Хотя RTDETRv2 достигает высоких показателей mAP на наборе данныхCOCO , он требует значительно больше вычислительных ресурсов. YOLOv5, особенно в его небольших вариантах (Nano и Small), предлагает значительно более высокую скорость вычислений - особенно на центральных процессорах - и гораздо меньший объем памяти, что делает его практичным выбором для реальных приложений.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Эффективность памяти
YOLOv5 требует значительно меньше памяти CUDA для обучения по сравнению с моделями на основе трансформаторов, такими как RTDETRv2. Такое снижение входного барьера позволяет разработчикам обучать пользовательские модели на стандартных потребительских GPU или даже в облачных средах, таких как Google Colab, не сталкиваясь с ошибками Out-Of-Memory (OOM).
RTDETRv2: Трансформер Челленджер
RTDETRv2 (Real-Time Detection Transformer v2) представляет собой попытку перенести преимущества точности трансформаторов в сценарии реального времени. Используя гибридную архитектуру, он пытается смягчить высокие вычислительные затраты, обычно связанные с трансформаторами зрения.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация: Baidu
- Дата: 17.04.2023
- Arxiv:2304.08069
- GitHub:РепозиторийRT-DETR
- Документы:Документация RTDETRv2
Архитектура и сильные стороны
RTDETRv2 сочетает в себе основу CNN для эффективного извлечения признаков с трансформаторным кодером-декодером. Такая конструкция позволяет модели использовать механизмы самовнимания для понимания глобальных связей между объектами, что может быть полезно в сложных сценах с окклюзией или скоплением людей. Главным достоинством модели является ее высокая точность в академических бенчмарках, где она часто превосходит модели на основе CNN аналогичного масштаба по чистому показателю mAP .
Слабые стороны
Несмотря на свою точность, RTDETRv2 сталкивается с проблемами универсальности и простоты использования. Архитектура трансформатора по своей сути тяжелая, что приводит к замедлению времени обучения и увеличению потребления памяти. Кроме того, его экосистема ориентирована в основном на исследования, и в ней отсутствуют обширные инструменты, поддержка развертывания и ресурсы сообщества, которые есть в более развитых фреймворках. Она также ограничена в основном обнаружением объектов, в то время как современные проекты часто требуют сегментации или классификации в рамках одного конвейера.
Ultralytics YOLOv5: универсальный стандарт
YOLOv5 считается одной из самых практичных и удобных моделей компьютерного зрения. Созданная компанией Ultralytics, она ориентирована на упрощенную работу по принципу "обучил, развернул и готово", что делает передовой ИИ доступным для всех - от любителей до корпоративных инженеров.
- Авторы: Гленн Джокер
- Организация:Ultralytics
- Дата: 26.06.2020
- GitHub:РепозиторийYOLOv5
- Документация:Документация поYOLOv5
Почему YOLOv5 выделяется
YOLOv5 отличается целостным подходом к операциям машинного обучения (MLOps). Это не просто архитектура модели, а целая экосистема.
- Простота использования: Благодаря простому API на Python и интерфейсу командной строки пользователи могут начать обучение на пользовательских данных за считанные минуты.
- Баланс производительности: Семейство моделей (от Nano до X-Large) предлагает идеальный градиент скорости и точности, позволяя пользователям адаптировать свой выбор под конкретное оборудование, например, NVIDIA Jetson или Raspberry Pi.
- Универсальность: В отличие от RTDETRv2, YOLOv5 поддерживает множество задач, включая классификацию изображений и сегментацию экземпляров, что уменьшает необходимость поддерживать отдельные кодовые базы для разных задач зрения.
- Возможность экспорта: Ultralytics обеспечивает встроенную поддержку экспорта в ONNX, TensorRT, CoreML и TFLite, что обеспечивает возможность развертывания моделей в любом месте, от мобильных приложений до облачных серверов.
Пример использования
YOLOv5 создан для простоты. Ниже приведен пример загрузки предварительно обученной модели и проведения расчетов с помощью PyTorch Hub, демонстрирующий интуитивно понятный API, которым славится Ultralytics .
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Define an image URL
img = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img)
# Print results to the console
results.print()
# Show the image with bounding boxes
results.show()
Сравнение обучения и экосистемы
Опыт разработчиков часто имеет такое же значение, как и производительность модели. Здесь различия разительны.
Эффективность обучения
В YOLOv5 используются детекторы на основе якорей, обучение которых не требует больших вычислительных затрат. Фреймворк Ultralytics включает в себя "пакет бесплатных возможностей", таких как увеличение мозаики и автоэволюция якорей, которые помогают моделям быстрее сходиться и лучше обобщать при меньшем количестве данных. Напротив, обучение RTDETRv2 более ресурсоемко из-за квадратичной сложности слоев внимания трансформатора, что часто требует высокопроизводительных графических процессоров с большим объемом VRAM.
Поддержка экосистемы
ЭкосистемаUltralytics обеспечивает явное преимущество. Пользователи получают следующие преимущества:
- Активное развитие: Частые обновления обеспечивают совместимость с последними версиями PyTorch и CUDA.
- Поддержка сообщества: Массовое сообщество на GitHub и Discord помогает быстро устранять неполадки.
- Интегрированные инструменты: Бесшовная интеграция с такими инструментами, как Ultralytics HUB, позволяет без кода обучать модели, управлять наборами данных и развертывать их одним щелчком мыши.
RTDETRv2, хотя и впечатляет технически, не имеет такого уровня сопутствующей инфраструктуры, что делает его более сложным для интеграции в производственные конвейеры.
Идеальные варианты использования
Выбор подходящей модели зависит от ваших конкретных ограничений и целей.
Когда следует выбирать RTDETRv2
- Академические исследования: Если ваша цель - достичь передовых показателей mAP на таких наборах данных, как COCO , и у вас есть доступ к флагманским графическим процессорам (например, A100).
- Сложный контекст: В сценариях, где понимание взаимосвязи между удаленными объектами более важно, чем скорость вывода или стоимость оборудования.
Когда выбирать YOLOv5
- Граничное развертывание: Для приложений в мобильных устройствах, беспилотниках и встраиваемых системах, где скорость CPU и энергоэффективность имеют первостепенное значение.
- Производство в режиме реального времени: Питание систем охранной сигнализации или мониторинга трафика, где низкая задержка не является обязательным условием.
- Быстрая разработка: Стартапы и корпоративные команды, которым необходимо быстро выполнять итерации, начиная со сбора данных и заканчивая развернутой моделью, найдут в YOLOv5 значительно более быстрый рабочий процесс.
- Многозадачные требования: Проекты, в которых требуется и обнаружение, и сегментация, могут использовать один фреймворк, что упрощает технологический стек.
Ищете новейшие технологии?
Хотя YOLOv5 остается мощным инструментом, разработчикам, которым нужны самые последние достижения в области производительности и архитектуры, стоит обратить внимание на YOLO11. YOLO11 опирается на наследие YOLOv5, предлагая еще более высокую точность, более высокую скорость и расширенные возможности, такие как оценка позы и ориентированное обнаружение объектов (OBB).
Заключение
И RTDETRv2, и YOLOv5 являются грозными инструментами в арсенале инженера по компьютерному зрению. RTDETRv2 демонстрирует потенциал трансформаторов для высокоточного обнаружения, что делает его сильным соперником для приложений с большим количеством вычислительных ресурсов.
Однако для подавляющего большинства практических, реальных развертываний, Ultralytics YOLOv5 остается лучшим выбором. Непревзойденная простота использования, зрелость экосистемы и универсальность делают его лучшим решением для разработчиков, которым нужны надежные и высокоскоростные результаты. Вне зависимости от того, развертываете ли вы облако или периферию, эффективность и поддержка, предоставляемые Ultralytics , обеспечивают более плавный путь от концепции до производства.
Изучите другие сравнения моделей
Чтобы помочь вам принять наиболее обоснованное решение, изучите, как эти модели сравниваются с другими архитектурами в этой области:
- RT-DETR против YOLO11
- RT-DETR против YOLOv8
- YOLOv5 против YOLOv8
- YOLOv5 против EfficientDet
- YOLOv5 против YOLOX