RT-DETRv2 против YOLOv10: техническое сравнение для detect объектов
Выбор оптимальной модели для detectирования объектов требует навигации по ландшафту развивающихся архитектур, где компромиссы между точностью, задержкой и потреблением ресурсов определяют наилучшее соответствие для данного приложения. В этом техническом сравнении анализируются RT-DETRv2, модель на основе трансформеров, разработанная для задач высокой точности, и YOLOv10, эволюция известного семейства YOLO, ориентированная на эффективность. Изучая их архитектурные инновации, показатели производительности и характеристики развертывания, мы стремимся направить разработчиков к идеальному решению для их конкретных потребностей.
RT-DETRv2: Оптимизированные Vision Transformers
RT-DETRv2 представляет собой значительную итерацию в серии Real-Time Detection Transformer, первоначально разработанной для оспаривания доминирования детекторов на основе CNN. Разработанная исследователями из Baidu, эта модель включает в себя "Bag-of-Freebies" для повышения стабильности обучения и производительности без дополнительных затрат на вывод.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация:Baidu
- Дата: 2024-07-24
- Arxiv:https://arxiv.org/abs/2407.17140
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Архитектура и сильные стороны
RT-DETRv2 использует гибридный энкодер и масштабируемый бэкбон Vision Transformer (ViT). В отличие от традиционных сверточных нейронных сетей (CNN), которые обрабатывают изображения, используя локальные рецептивные поля, архитектура transformer использует механизмы само-внимания для захвата глобального контекста. Это позволяет модели эффективно различать взаимосвязи между удаленными объектами и обрабатывать сложные окклюзии. Улучшения "v2" сосредоточены на оптимизации динамического выбора запросов и внедрении гибких стратегий обучения, которые позволяют пользователям точно настраивать баланс между скоростью и точностью.
Несмотря на эффективность, эта архитектура по своей сути требует значительных вычислительных ресурсов. Слой self-attention, хоть и мощный, способствует большему потреблению памяти как во время обучения, так и во время инференса, по сравнению с чисто CNN-альтернативами.
YOLOv10: Стандарт эффективности в реальном времени
YOLOv10 расширяет границы парадигмы You Only Look Once, представляя стратегию обучения без NMS и целостный дизайн, ориентированный на эффективность и точность. Разработанная исследователями из Университета Цинхуа, она специально спроектирована для минимизации задержки при сохранении конкурентоспособной производительности object detection.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:https://arxiv.org/abs/2405.14458
- GitHub:https://github.com/THU-MIG/yolov10
Архитектура и сильные стороны
Определяющей характеристикой YOLOv10 является устранение Non-Maximum Suppression (NMS) с помощью последовательной стратегии двойного назначения. Традиционные детекторы объектов часто предсказывают несколько ограничивающих рамок для одного объекта, требуя постобработки NMS для фильтрации дубликатов. Этот шаг создает узкое место в задержке вывода. YOLOv10 устраняет это требование, обеспечивая реальное сквозное развертывание.
Кроме того, архитектура включает пространственно-канальную развязанную понижающую дискретизацию и блочный дизайн, управляемый рангом, что значительно снижает количество параметров и FLOPs (операций с плавающей запятой). Это делает YOLOv10 исключительно легкой и подходящей для сред с ограниченными ресурсами, таких как устройства edge AI.
Вывод без NMS
Удаление NMS меняет правила игры для приложений реального времени. Это снижает сложность конвейера развертывания и гарантирует, что время вывода остается детерминированным, независимо от количества объектов, обнаруженных в сцене.
Анализ производительности
При непосредственном сравнении двух моделей YOLOv10 демонстрирует превосходную способность балансировать между скоростью и точностью, особенно в верхнем диапазоне производительности. В то время как RT-DETRv2 предлагает хорошие результаты, YOLOv10 стабильно обеспечивает меньшую задержку и требует меньше параметров для сопоставимого или лучшего mAP (средняя точность).
В таблице ниже показаны метрики производительности на наборе данных COCO. Примечательно, что YOLOv10x превосходит RT-DETRv2-x по точности (54,4% против 54,3%), будучи при этом значительно быстрее (12,2 мс против 15,03 мс) и требуя гораздо меньше параметров (56,9M против 76M).
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Скорость и эффективность
Архитектурная эффективность YOLOv10 очевидна во всех масштабах. Варианты Nano (n) и Small (s) обеспечивают молниеносную скорость инференса, подходящую для мобильных CPU и IoT-устройств. Например, YOLOv10n работает со скоростью 1,56 мс на GPU T4, что значительно быстрее, чем самый маленький вариант RT-DETRv2.
Точность и вычислительные ресурсы
RT-DETRv2 использует свой transformer бэкбон для достижения высокой точности, особенно в моделях малого и среднего размера. Однако это достигается за счет значительно большего количества FLOPs и количества параметров. YOLOv10 эффективно устраняет этот разрыв; более крупные модели YOLOv10 соответствуют или превосходят точность своих transformer аналогов, сохраняя при этом меньшую вычислительную нагрузку, что делает их более универсальными для различного оборудования.
Обучение, удобство использования и экосистема
Важнейшим отличием для разработчиков является простота обучения и внедрения. Экосистема Ultralytics предоставляет единый интерфейс, который значительно упрощает работу с такими моделями, как YOLOv10.
Простота использования
Обучение RT-DETRv2 часто включает в себя сложные файлы конфигурации и специальные настройки среды, адаптированные к архитектурам transformer. В отличие от этого, YOLOv10 интегрирован непосредственно в Python API Ultralytics, что позволяет пользователям начинать обучение, валидацию или вывод всего несколькими строками кода.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Требования к памяти
Модели на основе Transformer, такие как RT-DETRv2, известны своим высоким потреблением памяти. Механизм само-внимания масштабируется квадратично с длиной последовательности, что приводит к высокому использованию VRAM во время обучения. YOLOv10, с его оптимизированной архитектурой CNN, требует значительно меньше памяти CUDA, что позволяет пользователям обучать большие размеры пакетов или использовать более скромное оборудование.
Хорошо поддерживаемая экосистема
Выбор модели, поддерживаемой Ultralytics, обеспечивает доступ к надежной экосистеме. Это включает в себя непрерывные обновления, обширную документацию и простую интеграцию с инструментами MLOps, такими как Ultralytics HUB и различные форматы экспорта (ONNX, TensorRT, CoreML). Эта структура поддержки неоценима для эффективного переноса проектов из стадии исследований в производство.
Идеальные варианты использования
RT-DETRv2
- Академические исследования: Идеально подходит для изучения возможностей transformer в задачах vision и бенчмаркинга по сравнению с современными методами.
- Развертывание на серверах высокого класса: Подходит для сценариев с большим количеством аппаратных ресурсов, где полезны специфические характеристики карт внимания transformer, например, в детальном анализе медицинских изображений.
YOLOv10
- Edge AI в реальном времени: Низкая задержка и малый размер модели делают его идеальным для развертывания на периферийных устройствах, таких как NVIDIA Jetson или Raspberry Pi, для таких задач, как управление трафиком.
- Робототехника: Дизайн без NMS обеспечивает детерминированную задержку, необходимую для контуров управления в автономных роботах.
- Коммерческие приложения: От аналитики розничной торговли до мониторинга безопасности, баланс скорости и точности максимизирует рентабельность инвестиций за счет снижения затрат на оборудование.
Заключение
В то время как RT-DETRv2 демонстрирует потенциал трансформеров в обнаружении объектов с впечатляющей точностью, YOLOv10 становится более практичным и универсальным выбором для большинства реальных приложений. Его способность обеспечивать современную производительность со значительно меньшими вычислительными требованиями в сочетании с простотой использования, обеспечиваемой экосистемой Ultralytics, делает его превосходным решением для разработчиков, стремящихся к эффективности и масштабируемости.
Для тех, кто ищет самые последние достижения в области компьютерного зрения, мы также рекомендуем изучить YOLO11, которая еще больше совершенствует архитектуру для достижения еще большей скорости и точности в более широком диапазоне задач, включая segmentацию и оценку позы.
Изучите другие модели
Расширьте свое понимание ландшафта обнаружения объектов с помощью этих дополнительных сравнений: