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, Документация
Архитектурные инновации#
YOLOX перевел семейство YOLO на безъякорную парадигму, интегрировав разделенную голову и продвинутую стратегию назначения меток SimOTA. Благодаря отказу от якорных блоков архитектура значительно сократила число параметров проектирования и улучшила обобщающую способность на различных эталонных наборах данных. Ее облегченные версии, YOLOX-Nano и YOLOX-Tiny, стали популярным выбором для развертывания приложений компьютерного зрения на периферийных устройствах.
Несмотря на заметные достижения YOLOX, использование ресурсоемких конвейеров аугментации и устаревших процедур постобработки, таких как традиционный NMS, может приводить к большей задержке по сравнению с моделями, изначально поддерживающими сквозную обработку.
RTDETRv2: развитие трансформеров для компьютерного зрения в реальном времени#
Опираясь на основу предшественника, RTDETRv2 использует возможности трансформеров для компьютерного зрения (ViTs), обеспечивая конкурентоспособную точность без ущерба для скорости инференса в реальном времени.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Arxiv, GitHub
Архитектурные инновации#
RTDETRv2 переосмысливает конвейер обнаружения, используя архитектуру на основе Transformer, которая изначально не требует подавления немаксимумов (NMS). Это достигается за счет гибридного кодировщика и выбора запросов с учетом IoU, что улучшает инициализацию запросов объектов. Модель эффективно обрабатывает признаки разных масштабов, позволяя улавливать сложные детали в комплексных условиях, например при обнаружении объектов на дорожных видео в ночное время.
Однако трансформеры по своей природе требуют значительных ресурсов. Обучение RTDETRv2 обычно требует существенно больше памяти GPU и вычислительных циклов, чем альтернативы на основе CNN, что может стать препятствием для команд с жесткими бюджетными ограничениями или для тех, кому необходимо часто выполнять настройку модели.
Таблица сравнения производительности#
Чтобы объективно оценить эти архитектуры, мы изучаем их производительность на наборе данных COCO. В таблице ниже показан компромисс между точностью (mAP), количеством параметров и вычислительной сложностью.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 используется как базовая модель для экспериментов с новыми головками обнаружения или функциями потерь.
- Сверхлёгкие периферийные устройства: Развертывание на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый размер варианта YOLOX-Nano (0.91M параметров).
- Исследования назначения меток SimOTA: Исследовательские проекты, изучающие стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда стоит выбрать RT-DETR#
RT-DETR рекомендуется для:
- Исследований обнаружения на основе Transformer: Проектов, изучающих механизмы внимания и архитектуры Transformer для сквозного обнаружения объектов без NMS.
- Сценариев с высокой точностью и гибкими требованиями к задержке: Приложений, в которых точность обнаружения является главным приоритетом, а немного большая задержка инференса приемлема.
- Обнаружения крупных объектов: Сцен с преимущественно средними и крупными объектами, где механизм глобального внимания Transformer дает естественное преимущество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Преимущество Ultralytics: YOLO26#
Хотя YOLOX и RTDETRv2 обладают разными сильными сторонами, недавно выпущенная Ultralytics YOLO26 переопределяет уровень качества в области компьютерного зрения, устраняя исторический компромисс между скоростью, точностью и простотой развертывания.
1. Архитектура без NMS со сквозной обработкой#
Черпая вдохновение из трансформерных моделей и сохраняя эффективность CNN, YOLO26 использует изначально сквозную архитектуру без NMS. Исключение подавления немаксимумов как этапа постобработки значительно упрощает конвейеры развертывания YOLO26 и обеспечивает стабильную задержку инференса на различных периферийных устройствах без накладных расходов на сложную настройку порогов.
2. До 43% более быстрый инференс на CPU#
В отличие от трансформерных архитектур, таких как RTDETRv2, которые сильно зависят от производительных GPU, YOLO26 специально оптимизирован для сред выполнения на периферийных устройствах. Благодаря удалению Distribution Focal Loss (DFL) YOLO26 упрощает экспорт модели и обеспечивает до 43% более быстрый инференс на CPU, что делает его идеальным выбором для интеграции в такие устройства, как Raspberry Pi, или в стандартные мобильные устройства.
3. Эффективное обучение с MuSGD#
Обучение трансформерных моделей часто приводит к чрезмерному потреблению памяти CUDA и увеличению продолжительности обучения. YOLO26 представляет новый оптимизатор MuSGD — гибрид стохастического градиентного спуска (SGD) и оптимизатора Muon, вдохновленного LLM. Это нововведение обеспечивает исключительно стабильное обучение и более быструю сходимость, значительно снижая требования к оборудованию по сравнению с RTDETRv2.
4. Непревзойденная экосистема и универсальность#
Экосистема Ultralytics обеспечивает интуитивно понятный и оптимизированный опыт для разработчиков. Благодаря подробной документации, активной поддержке сообщества и работающей в облаке платформе Ultralytics управлять полным жизненным циклом AI еще никогда не было так просто. Кроме того, YOLO26 отличается высокой универсальностью. В то время как RTDETRv2 ориентирован на обнаружение объектов, YOLO26 изначально поддерживает сегментацию экземпляров, оценку позы, классификацию изображений и задачи ориентированных ограничивающих рамок (OBB). Усиленный новыми функциями потерь ProgLoss + STAL, YOLO26 также превосходно распознает небольшие объекты — важнейшая возможность для аэрофотоснимков и обнаружения промышленных дефектов.
Бесшовная интеграция с Ultralytics#
Развертывание моделей не должно требовать работы со сложными и разрозненными кодовыми базами. API Ultralytics для Python позволяет загружать, обучать и экспортировать современные модели всего несколькими строками кода.
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, YOLO26 позволяет разработчикам создавать новое поколение надежных высокопроизводительных систем компьютерного зрения.