RTDETRv2 против YOLOX: техническое сравнение для обнаружения объектов
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость и вычислительные затраты. В этом сравнении рассматриваются две влиятельные модели: RTDETRv2, архитектура на основе трансформера от Baidu, известная своей высокой точностью, и YOLOX, высокоэффективная модель на основе CNN от Megvii, разработанная для скорости. Понимание их архитектурных различий, показателей производительности и идеальных вариантов использования является ключом к выбору лучшей модели для вашего проекта в области компьютерного зрения.
Этот анализ предоставляет подробную разбивку, которая поможет вам разобраться в компромиссах между этими двумя мощными архитектурами.
RTDETRv2: высокоточный детектор-трансформер реального времени v2
RTDETRv2 (Real-Time Detection Transformer version 2) представляет собой значительный шаг в применении Vision Transformers (ViT) для обнаружения объектов в реальном времени. Он нацелен на обеспечение современной точности при сохранении конкурентоспособной скорости inference, бросая вызов доминированию традиционных моделей на основе CNN.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация: Baidu
- Дата: 2023-04-17 (Оригинальная RT-DETR), 2024-07-24 (Улучшения RTDETRv2)
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- Документация: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
Архитектура и ключевые особенности
RTDETRv2 использует гибридную архитектуру, которая сочетает в себе CNN backbone для эффективного извлечения признаков с кодировщиком-декодировщиком на основе transformer. Эта конструкция позволяет модели использовать механизм самовнимания для захвата глобальных взаимосвязей и контекста внутри изображения, что часто является ограничением для чистых моделей CNN. Как и YOLOX, это детектор без привязки к anchor, упрощающий процесс обнаружения за счет устранения необходимости в предопределенных anchor boxes.
Сильные и слабые стороны
Преимущества:
- Высокая точность: Архитектура transformer обеспечивает превосходную точность, особенно в сложных сценах со множеством перекрывающихся или маленьких объектов. Она отлично справляется с пониманием глобального контекста.
- Производительность в реальном времени: Достигает конкурентоспособной скорости, особенно при оптимизации с помощью таких инструментов, как TensorRT, что делает его пригодным для многих приложений реального времени.
- Надежное извлечение признаков: Эффективно захватывает зависимости между объектами на изображении на большом расстоянии.
Слабые стороны:
- Высокое потребление памяти: Трансформерные модели известны своим значительным потреблением памяти, особенно во время обучения. Это может затруднить их обучение без высокопроизводительных GPU с большим объемом VRAM.
- Вычислительная сложность: Обычно имеет большее количество параметров и FLOPs по сравнению с эффективными CNN моделями, такими как Ultralytics YOLOv8, что приводит к более высоким требованиям к ресурсам.
- Более медленная работа на CPU: Архитектура сильно оптимизирована для ускорения на GPU и может работать не так хорошо, как облегченные CNN на устройствах только с CPU.
Идеальные варианты использования
RTDETRv2 лучше всего подходит для приложений, где достижение максимально возможной точности является основной целью и доступны достаточные вычислительные ресурсы.
- Автономные транспортные средства: Для надежных систем восприятия в автомобилях с автоматическим управлением, где точность не подлежит обсуждению.
- Медицинская визуализация: Для точного обнаружения аномалий в медицинских сканах, где детали и контекст имеют решающее значение.
- Анализ высокого разрешения: Идеально подходит для анализа больших изображений, таких как спутниковые снимки, где важен глобальный контекст.
- Продвинутая робототехника: Для роботов, работающих в сложных и неструктурированных средах, требующих глубокого понимания сцены.
YOLOX: высокопроизводительное обнаружение без привязки к якорям
YOLOX — это высокопроизводительный детектор объектов без привязки к якорям от Megvii, который основан на семействе YOLO. Он представил несколько ключевых инноваций для улучшения компромисса между скоростью и точностью, что делает его сильным претендентом для приложений реального времени.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: Megvii
- Дата: 18.07.2021
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Документация: https://yolox.readthedocs.io/en/latest/
Архитектура и ключевые особенности
Философия проектирования YOLOX сосредоточена на простоте и производительности. Его ключевые особенности включают в себя:
- Anchor-Free Design: Упрощает процесс обучения и уменьшает количество параметров проектирования за счет прямого прогнозирования центров объектов.
- Decoupled Head (Разделенная голова): Использует отдельные ветви для задач классификации и регрессии в голове обнаружения, что, как было установлено, улучшает сходимость и точность.
- SimOTA: Продвинутая стратегия назначения меток, которая динамически назначает положительные примеры для обучения, повышая производительность по сравнению со статическими методами назначения.
- Надежная аугментация данных: Использует такие методы, как MixUp и Mosaic, для повышения устойчивости и обобщающей способности модели.
Сильные и слабые стороны
Преимущества:
- Превосходная скорость: Высокая оптимизация для быстрого инференса делает его одним из лучших вариантов для инференса в реальном времени.
- Высокая эффективность: Обеспечивает отличный баланс между скоростью и точностью, особенно в своих меньших вариантах (например, YOLOX-s, YOLOX-tiny).
- Масштабируемость: Предоставляется ряд размеров моделей, от Nano до X, что позволяет развертывать их на различных платформах, от периферийных устройств до облачных серверов.
Слабые стороны:
- Более низкая пиковая точность: Будучи очень быстрой, ее самые большие модели не достигают того же пикового mAP, что и топовые модели на основе трансформеров, такие как RTDETRv2.
- Ориентированность на задачу: В первую очередь предназначен для обнаружения объектов и не обладает встроенной универсальностью для решения нескольких задач (например, сегментация, определение позы), которая есть в таких фреймворках, как Ultralytics YOLO.
- Экосистема: Будучи открытым исходным кодом, он не имеет того же уровня интегрированных инструментов, непрерывных обновлений и поддержки сообщества, как более активно поддерживаемые экосистемы.
Идеальные варианты использования
YOLOX превосходно справляется со сценариями, где производительность в реальном времени и эффективность являются главными приоритетами, особенно на устройствах с ограниченной вычислительной мощностью.
- Робототехника: Быстрое восприятие для навигации и взаимодействия, как рассмотрено в разделе ИИ в робототехнике.
- Видеонаблюдение: Эффективное обнаружение объектов в видеопотоках с высокой частотой кадров для предотвращения краж и мониторинга.
- Промышленный контроль: Автоматизированные визуальные проверки на быстро движущихся производственных линиях, помогающие улучшить производство.
- Edge AI: Его небольшие и эффективные модели идеально подходят для развертывания на платформах, таких как Raspberry Pi или NVIDIA Jetson.
Анализ производительности
Производительность RTDETRv2 и YOLOX подчеркивает их фундаментальные компромиссы в проектировании. Модели RTDETRv2 стабильно достигают более высоких показателей mAP, демонстрируя свою силу в точности. Однако это достигается ценой большего количества параметров и более высокой вычислительной нагрузки. В отличие от этого, модели YOLOX, особенно меньшие варианты, предлагают исключительную скорость инференса, что делает их идеальными для приложений, где задержка является критическим фактором.
Модель | размер (пиксели) |
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 |
YOLOX-nano | 416 | 25.8 | - | - | 0.91 | 1.08 |
YOLOX-tiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
YOLOX-s | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
YOLOX-m | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
YOLOX-l | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
YOLOX-x | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Заключение
RTDETRv2 и YOLOX — это мощные модели обнаружения объектов, но они служат разным потребностям. RTDETRv2 — превосходный выбор, когда максимальная точность имеет первостепенное значение, а вычислительные ресурсы, особенно память GPU и вычислительная мощность, не являются ограничением. Его архитектура Transformer обеспечивает более глубокое понимание сложных сцен. В отличие от этого, YOLOX — это популярная модель благодаря своей исключительной скорости и эффективности, что делает ее идеальной для приложений реального времени, периферийных развертываний и проектов с жестким бюджетом ресурсов.
Почему стоит выбрать модели Ultralytics YOLO?
Хотя RTDETRv2 и YOLOX демонстрируют высокие результаты, модели Ultralytics YOLO, такие как YOLOv10 и новейшая YOLO11, часто предоставляют более убедительный общий пакет для разработчиков и исследователей.
- Простота использования: Оптимизированный Python API, подробная документация и многочисленные руководства упрощают каждый шаг от обучения до развертывания.
- Развитая экосистема: Воспользуйтесь преимуществами активной разработки, большого сообщества, частых обновлений и бесшовной интеграции с Ultralytics HUB для обучения без кода и MLOps.
- Баланс производительности: Модели Ultralytics разработаны для обеспечения превосходного компромисса между скоростью и точностью, что делает их универсальными для различных реальных сценариев.
- Эффективность использования памяти: Модели Ultralytics YOLO значительно эффективнее используют память во время обучения и инференса по сравнению с моделями на основе трансформеров, такими как RTDETRv2, которые часто требуют значительного объема памяти CUDA.
- Универсальность: Изначально поддерживают несколько задач компьютерного зрения, помимо обнаружения, включая сегментацию, оценку позы, классификацию и отслеживание объектов в рамках единой унифицированной структуры.
- Эффективность обучения: Наслаждайтесь более быстрым временем обучения, эффективным использованием ресурсов и готовыми предварительно обученными весами на наборах данных, таких как COCO.
Для получения дополнительной информации изучите другие сравнения, такие как YOLOv8 vs. YOLOX или RT-DETR vs. YOLOv8.