YOLOX против RTDETRv2#
Выбор оптимальной архитектуры для приложений компьютерного зрения требует тщательного баланса между точностью, скоростью инференса и возможностью развертывания. В этом подробном техническом анализе мы исследуем фундаментальные различия между YOLOX, весьма успешной безакерной архитектурой CNN, и RTDETRv2, современным трансформером детектирования в реальном времени.
Хотя обе модели внесли значительный вклад в область детекции объектов, разработчики, создающие готовые к продакшену приложения, часто обнаруживают, что современные альтернативы, такие как Ultralytics YOLO26, обеспечивают превосходную эффективность обучения, меньшие требования к памяти и более надежную экосистему развертывания.
YOLOX: преодолевая разрыв между исследованиями и индустрией#
YOLOX стала очень популярной адаптацией серии YOLO без использования якорей, предложив упрощенный дизайн, который на момент выпуска обеспечил впечатляющие улучшения производительности.
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
- Организация: Megvii
- Дата: 18 июля 2021 г.
- Ссылки: Arxiv, GitHub, Docs
Архитектурные инновации#
YOLOX перевела семейство YOLO на безакерную парадигму, интегрировав развязанную голову (decoupled head) и продвинутую стратегию назначения меток SimOTA. Устранение якорей (anchor boxes) позволило архитектуре значительно сократить количество параметров проектирования и улучшить обобщение на различных наборах данных бенчмарков. Ее легковесные версии, YOLOX-Nano и YOLOX-Tiny, стали популярным выбором для развертывания приложений визуального ИИ на периферийных устройствах.
Хотя YOLOX привнесла значительные достижения, её зависимость от тяжелых конвейеров аугментации и старых процедур постобработки (таких как традиционный NMS) может привести к большей задержке по сравнению с нативными end-to-end моделями.
RTDETRv2: развитие Vision Transformers в реальном времени#
Основываясь на достижениях своего предшественника, RTDETRv2 использует мощь Vision Transformers (ViTs) для достижения конкурентоспособной точности без ущерба для скорости инференса в реальном времени.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 24.07.2024
- Ссылки: Arxiv, GitHub
Архитектурные инновации#
RTDETRv2 коренным образом переосмысляет конвейер детектирования, используя архитектуру на базе трансформеров, которая нативно обходит подавление немаксимумов (NMS). Это достигается за счет гибридного энкодера и выбора запросов с учетом IoU, что улучшает инициализацию объектных запросов. Модель эффективно обрабатывает многомасштабные признаки, позволяя улавливать сложные детали в сложных условиях, таких как детекция на видео с дорожных камер в ночное время.
Однако трансформеры по своей природе ресурсоемки. Обучение RTDETRv2 обычно требует значительно больше памяти GPU и вычислительных циклов по сравнению с альтернативами на базе CNN, что может стать препятствием для команд, работающих в условиях жестких бюджетных ограничений или нуждающихся в частой настройке моделей.
Таблица сравнения производительности#
Для объективной оценки этих архитектур мы рассматриваем их производительность на наборе данных COCO. Таблица ниже иллюстрирует компромиссы между точностью (mAP), количеством параметров и вычислительной сложностью.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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-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 достигает впечатляющей точности, YOLOX сохраняет преимущество в легковесных профилях параметров, особенно в версиях Nano и Tiny.
Сценарии использования и рекомендации#
Выбор между YOLOX и RT-DETR зависит от твоих специфических требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLOX#
YOLOX — сильный выбор для:
- Исследований безъякорного обнаружения: академических исследований, использующих чистую безъякорную архитектуру YOLOX как базу для экспериментов с новыми головами детекции или функциями потерь.
- Сверхлегких Edge-устройств: развертывания на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый вес варианта YOLOX-Nano (0.91 млн параметров).
- Изучения назначения меток SimOTA: исследовательских проектов, анализирующих стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать RT-DETR#
RT-DETR рекомендуется для:
- Исследований детектирования на основе Transformer: проектов, изучающих механизмы внимания и архитектуры трансформеров для end-to-end детектирования объектов без NMS.
- Сценариев с высокой точностью и гибкой задержкой: приложений, где точность детектирования является главным приоритетом, а немного большая задержка вывода допустима.
- Детектирования крупных объектов: сцен преимущественно со средними и крупными объектами, где глобальный механизм внимания трансформеров дает естественное преимущество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Преимущество Ultralytics: YOLO26#
Хотя и YOLOX, и RTDETRv2 обладают своими уникальными сильными сторонами, недавно выпущенная Ultralytics YOLO26 переопределяет состояние дел (state-of-the-art) в сфере визуального ИИ, разрешая исторические компромиссы между скоростью, точностью и простотой развертывания.
End-to-end архитектура без NMS#
Вдохновляясь трансформерными моделями и сохраняя эффективность CNN, YOLO26 отличается нативным end-to-end дизайном без NMS. Устранив Non-Maximum Suppression как этап постобработки, YOLO26 радикально упрощает конвейеры развертывания, обеспечивая стабильную задержку инференса на различных периферийных устройствах без накладных расходов на сложную настройку порогов.
До 43% быстрее инференс на CPU#
В отличие от архитектур на основе трансформеров, таких как RTDETRv2, которые сильно зависят от мощных GPU, YOLO26 специально оптимизирована для сред периферийных вычислений. Благодаря удалению функции потерь DFL (Distribution Focal Loss), YOLO26 упрощает экспорт моделей и обеспечивает до 43% более быстрый инференс на CPU, что делает ее идеальным выбором для интеграции в такое железо, как Raspberry Pi или стандартные мобильные устройства.
Эффективность обучения с MuSGD#
Обучение моделей-трансформеров часто приводит к чрезмерному потреблению памяти CUDA и затягиванию процесса обучения. YOLO26 представляет инновационный оптимизатор MuSGD — гибрид стохастического градиентного спуска (SGD) и вдохновленного LLM оптимизатора Muon. Это нововведение обеспечивает исключительно стабильное обучение и более быструю сходимость, значительно снижая требования к аппаратному обеспечению по сравнению с RTDETRv2.
Непревзойденная экосистема и универсальность#
Среда Ultralytics ecosystem обеспечивает интуитивно понятный и оптимизированный опыт работы для разработчиков. Благодаря обширной документации, активной поддержке сообщества и облачной платформе Ultralytics Platform управлять полным жизненным циклом ИИ стало проще чем когда-либо. Кроме того, YOLO26 обладает высокой универсальностью. В то время как RTDETRv2 фокусируется на детекции объектов, YOLO26 нативно поддерживает задачи сегментации экземпляров, оценки позы, классификации изображений и ориентированных ограничивающих рамок (OBB). Усовершенствованная новыми функциями потерь ProgLoss + STAL, YOLO26 также превосходно справляется с распознаванием мелких объектов, что является критически важной функцией для аэрофотоснимков и промышленного поиска дефектов.
Бесшовная интеграция с Ultralytics#
Развертывание моделей не должно требовать борьбы со сложными, фрагментированными кодовыми базами. Python API от Ultralytics позволяет загружать, обучать и экспортировать передовые модели всего в несколько строк кода.
from ultralytics import YOLO
# Load the latest YOLO26 nano model for optimal edge performance
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with minimal memory overhead
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export seamlessly to ONNX or TensorRT for deployment
model.export(format="onnx", optimize=True)Используя Ultralytics, ты избегаешь сложных конфигураций окружения, обычно связанных с исследовательскими репозиториями, что ускоряет выход твоего продукта на рынок.
Заключение#
YOLOX и RTDETRv2 представляют собой важные вехи в развитии детекции объектов в реальном времени. YOLOX доказала жизнеспособность высокоэффективных безъякорных CNN, в то время как RTDETRv2 успешно адаптировала трансформеры для условий реального времени.
Тем не менее, для современных приложений, начиная с аналитики умного ритейла и заканчивая встраиваемой робототехникой, Ultralytics YOLO26 предлагает окончательное решение. Объединяя инференс без NMS с беспрецедентной скоростью CPU, уменьшенным объемом памяти и надежной поддержкой платформы Ultralytics Platform, YOLO26 вооружает разработчиков всем необходимым для создания систем компьютерного зрения нового поколения с высокой надежностью и производительностью.