Перейти к содержанию

RTDETRv2 против YOLOX: техническое сравнение для обнаружения объектов в реальном времени

В быстро развивающейся области компьютерного зрения поиск оптимального баланса между скоростью и точностью продолжает стимулировать инновации. Два разных подхода стали передовыми: RTDETRv2 на основе трансформатора и YOLOX на основе CNN без якорей. В этом сравнении рассматриваются их архитектурные различия, показатели производительности и идеальные сценарии использования, чтобы помочь разработчикам выбрать инструмент, подходящий для их конкретных нужд.

Обзоры моделей

Прежде чем погрузиться в технические особенности, давайте выясним происхождение и основные принципы этих двух влиятельных моделей.

RTDETRv2

RTDETRv2 (Real-Time DEtection TRansformer version 2) представляет собой значительный шаг вперед на пути внедрения архитектур трансформаторов в приложения реального времени. Разработанный исследователями из Baidu, он опирается на оригинальный RT-DETR , внедряя "Bag-of-Freebies", который повышает стабильность и производительность обучения без увеличения задержки вывода. Он призван решить проблему высоких вычислительных затрат, обычно связанных с трансформаторами зрения (ViT), и при этом превзойти по точности традиционные детекторы CNN.

Узнайте больше о RTDETRv2

YOLOX

YOLOX возродил семейство YOLO в 2021 году, перейдя на безъякорный механизм и внедрив такие передовые технологии, как развязанные головки и назначение меток SimOTA. Несмотря на сохранение характерной для серии YOLO магистрали в стиле Darknet, архитектурные изменения позволили устранить многие ограничения детекторов на основе якорей, что привело к созданию высокоэффективной и гибкой модели, которая исключительно хорошо работает на пограничных устройствах.

Узнайте больше о 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-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.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 значительно сокращает время и энергию, необходимые для обучения высокопроизводительных моделей.

Узнайте больше о 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 предоставляет инструменты и производительность для достижения успеха.

Изучите другие сравнения

Чтобы принять более взвешенное решение, рассмотрите возможность изучения других сравнений моделей:


Комментарии