RTDETRv2 против YOLOX: техническое сравнение для обнаружения объектов в реальном времени
В быстро развивающейся области компьютерного зрения поиск оптимального баланса между скоростью и точностью продолжает стимулировать инновации. Два разных подхода стали передовыми: RTDETRv2 на основе трансформатора и YOLOX на основе CNN без якорей. В этом сравнении рассматриваются их архитектурные различия, показатели производительности и идеальные сценарии использования, чтобы помочь разработчикам выбрать инструмент, подходящий для их конкретных нужд.
Обзоры моделей
Прежде чем погрузиться в технические особенности, давайте выясним происхождение и основные принципы этих двух влиятельных моделей.
RTDETRv2
RTDETRv2 (Real-Time DEtection TRansformer version 2) представляет собой значительный шаг вперед на пути внедрения архитектур трансформаторов в приложения реального времени. Разработанный исследователями из Baidu, он опирается на оригинальный RT-DETR , внедряя "Bag-of-Freebies", который повышает стабильность и производительность обучения без увеличения задержки вывода. Он призван решить проблему высоких вычислительных затрат, обычно связанных с трансформаторами зрения (ViT), и при этом превзойти по точности традиционные детекторы CNN.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация:Baidu
- Дата: 2023-04-17 (оригинал RT-DETR), последующие обновления v2.
- Arxiv:RT-DETRv2: Улучшенный базовый уровень с помощью Bag-of-Freebies
- GitHub:РепозиторийRT-DETRv2
YOLOX
YOLOX возродил семейство YOLO в 2021 году, перейдя на безъякорный механизм и внедрив такие передовые технологии, как развязанные головки и назначение меток SimOTA. Несмотря на сохранение характерной для серии YOLO магистрали в стиле Darknet, архитектурные изменения позволили устранить многие ограничения детекторов на основе якорей, что привело к созданию высокоэффективной и гибкой модели, которая исключительно хорошо работает на пограничных устройствах.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Arxiv:YOLOX: Превышение серии YOLO в 2021 году
- GitHub:Репозиторий YOLOX
Анализ производительности
Компромиссы в производительности между RTDETRv2 и YOLOX различны. В RTDETRv2 приоритет отдается пиковой точностиmAP), задействуя механизмы глобального внимания трансформаторов для лучшего понимания сложных сцен и окклюдированных объектов. Однако это связано с более высокими вычислительными требованиями, особенно в отношении использования памяти GPU .
Напротив, YOLOX оптимизирован для скорости и эффективности. Его безъякорная конструкция упрощает головку обнаружения, уменьшая количество параметров конструкции и ускоряя постобработкуNMS). Модели YOLOX, особенно варианты Nano и Tiny, часто предпочитают использовать для развертывания пограничного ИИ, когда аппаратные ресурсы ограничены.
В таблице ниже показаны эти различия. Обратите внимание, что, хотя RTDETRv2 достигает более высоких показателей mAP , YOLOX-s обеспечивает более высокую скорость вычислений на TensorRT, что свидетельствует о его пригодности для приложений, чувствительных к задержкам.
| Модель | размер (пиксели) | 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Глубокое погружение в архитектуру
Понимание структурных различий помогает прояснить, почему эти модели работают по-разному.
RTDETRv2: Гибридный кодер-декодер
RTDETRv2 устраняет вычислительные недостатки стандартных моделей DETR, представляя эффективный гибридный кодер. Этот компонент обрабатывает многомасштабные признаки, разделяя внутримасштабное взаимодействие (в пределах одного слоя признаков) и межмасштабное слияние (между слоями).
- Выбор запросовIoU: Вместо выбора статических объектных запросов RTDETRv2 выбирает фиксированное количество признаков изображения в качестве начальных объектных запросов на основе их классификационных оценок, что улучшает инициализацию.
- Гибкий декодер: Декодер поддерживает динамическую настройку числа запросов в процессе вывода, позволяя пользователям выбирать между скоростью и точностью без необходимости переобучения.
YOLOX: без якорей и с развязкой
YOLOX отходит от парадигмы, основанной на якорях, которая использовалась в YOLOv4 и YOLOv5.
- Без якорей: предсказывая центры и размеры объектов напрямую, YOLOX устраняет необходимость в ручном проектировании якорных ящиков, что снижает сложность настройки гиперпараметров.
- Разделенная голова: она разделяет задачи классификации и регрессии по разным ветвям головы сети. Такое разделение часто приводит к ускорению сходимости и повышению точности.
- SimOTA: усовершенствованная стратегия присвоения меток, которая рассматривает процесс присвоения как задачу оптимального переноса, динамически присваивая положительные образцы истинным, основываясь на глобальной стоимости оптимизации.
Якорь с привязкой и без привязки
Традиционные детекторы используют заранее определенные ящики (якоря) для оценки местоположения объектов. YOLOX устраняет эту зависимость, упрощая архитектуру и делая модель более устойчивой к различным формам объектов. RTDETRv2, являясь трансформатором, использует запросы к объектам вместо якорей, обучаясь динамически находить соответствующие области изображения.
Сильные и слабые стороны
RTDETRv2
- Преимущества:
- Высокая точность: достижение передовых показателей mAP на эталонах COCO .
- Глобальный контекст: Механизмы трансформируемого внимания эффективно улавливают дальние зависимости.
- Адаптивность: Настраиваемый выбор запросов обеспечивает гибкость в момент вывода.
- Слабые стороны:
- Ресурсоемкие: Требует значительного объема памяти GPU для обучения и выводов по сравнению с CNN.
- Более медленное обучение: Трансформаторы обычно сходятся дольше, чем архитектуры на основе CNN.
YOLOX
- Преимущества:
- Скорость умозаключений: очень быстрая, особенно у маленьких вариантов (Nano, Tiny, S).
- Удобство развертывания: Легче развертывать на граничных устройствах и CPUS благодаря меньшему количеству FLOP и параметров.
- Простота: Безъякорная конструкция снижает сложность проектирования.
- Слабые стороны:
- Низкая пиковая точность: не может сравниться по точности с крупными моделями трансформаторов, такими как RTDETRv2-x.
- Эволюция возможностей: Не хватает некоторых мультимодальных возможностей, которые есть в более новых фреймворках.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
В то время как RTDETRv2 и YOLOX являются грозными моделями, Ultralytics Ultralytics YOLO экосистема, возглавляемая самой современной моделью YOLO11-предлагает комплексное решение, которое зачастую превосходит преимущества отдельных моделей.
- Баланс производительности: YOLO11 спроектирован таким образом, чтобы обеспечить оптимальный компромисс между скоростью и точностью. Он часто соответствует или превосходит по точности модели на основе трансформаторов, сохраняя при этом скорость вывода, характерную для семейства YOLO .
- Простота использования: Ultralytics уделяет первостепенное внимание работе с разработчиками. Благодаря унифицированному API и CLI на Python вы можете обучать, проверять и развертывать модели всего за несколько строк кода.
- Эффективность использования памяти: В отличие от RTDETRv2, который может сильно нагружать VRAM GPU , YOLO11 отличается высокой эффективностью использования памяти как при обучении, так и при выводах. Это делает его доступным для исследователей и разработчиков с оборудованием потребительского класса.
- Хорошо поддерживаемая экосистема: Модели Ultralytics поддерживаются частыми обновлениями, активным сообществом и обширной документацией. Такие функции, как Ultralytics HUB, обеспечивают беспрепятственное управление моделями и обучение в облаке.
- Универсальность: Помимо простого обнаружения объектов, YOLO11 поддерживает сегментацию объектов, оценку позы, OBB и классификацию, в то время как YOLOX и RTDETRv2 ориентированы в основном на обнаружение.
- Эффективность обучения: Благодаря наличию предварительно обученных весов для различных задач и сложным возможностям трансферного обучения YOLO11 значительно сокращает время и энергию, необходимые для обучения высокопроизводительных моделей.
Пример кода
Ultralytics невероятно упрощает использование этих продвинутых моделей. Ниже приведен пример того, как можно выполнить вывод с помощью YOLO11. Примечательно, что Ultralytics также поддерживает RT-DETR напрямую, что значительно упрощает его использование по сравнению с оригинальным репозиторием.
from ultralytics import RTDETR, YOLO
# Load the Ultralytics YOLO11 model (Recommended)
model_yolo = YOLO("yolo11n.pt")
# Run inference on an image
results_yolo = model_yolo("path/to/image.jpg")
# Load an RT-DETR model via Ultralytics API
model_rtdetr = RTDETR("rtdetr-l.pt")
# Run inference with RT-DETR
results_rtdetr = model_rtdetr("path/to/image.jpg")
Заключение
Выбор между RTDETRv2 и YOLOX в конечном итоге зависит от ваших конкретных ограничений.
- Выбирайте RTDETRv2, если ваша задача требует абсолютной точности, например, в академических исследованиях или высокоточном промышленном контроле, и у вас есть доступ к мощным ресурсам GPU .
- Выбирайте YOLOX, если вы развертываете систему в средах с ограниченными ресурсами, таких как Raspberry Pi или мобильные устройства, где важна каждая миллисекунда задержки.
Однако для подавляющего большинства реальных приложений, Ultralytics YOLO11 является лучшим выбором. Он сочетает в себе преимущества точности современных архитектур со скоростью и эффективностью CNN, и все это в удобной, готовой к производству экосистеме. Независимо от того, создаете ли вы систему для периферии или облака, YOLO11 предоставляет инструменты и производительность для достижения успеха.
Изучите другие сравнения
Чтобы принять более взвешенное решение, рассмотрите возможность изучения других сравнений моделей:
- YOLO11 против RTDETRv2
- YOLO11 против YOLOX
- RTDETRv2 против YOLOv8
- YOLOX в сравнении с YOLOv8
- YOLOv5 против YOLOX