RTDETRv2 против YOLOv8: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость и вычислительные затраты. На этой странице представлено подробное техническое сравнение двух мощных архитектур: RTDETRv2, модели на основе трансформеров от Baidu, и Ultralytics YOLOv8, современной сверточной нейронной сети (CNN). Мы углубимся в их архитектурные различия, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать лучшую модель для вашего проекта.
RTDETRv2: Детектор-трансформер в реальном времени v2
RT-DETRv2 (Детектор-трансформер реального времени v2) — это современный детектор объектов, который использует возможности Vision Transformers для достижения высокой точности при сохранении производительности в реальном времени. Он представляет собой эволюцию оригинальной архитектуры DETR (DEtection TRansformer), оптимизированную для скорости.
Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
Организация: Baidu
Дата: 2023-04-17 (Initial RT-DETR), 2024-07-24 (RT-DETRv2 improvements)
Arxiv: https://arxiv.org/abs/2304.08069, 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-based encoder-decoder. CNN backbone извлекает начальные карты признаков, которые затем передаются в трансформер. Механизм самовнимания трансформера позволяет модели захватывать глобальные взаимосвязи между различными частями изображения. Это глобальное понимание контекста является ключевым отличием от моделей, основанных исключительно на CNN, и позволяет RTDETRv2 превосходно обнаруживать объекты в сложных и загроможденных сценах.
Сильные стороны
- Высокая точность: Архитектура transformer позволяет RTDETRv2 достигать отличных показателей mAP, особенно на наборах данных с плотными или маленькими объектами, где глобальный контекст является преимуществом.
- Надежное извлечение признаков: Обрабатывая контекст всего изображения сразу, он может лучше справляться с окклюзиями и сложными взаимосвязями объектов.
- Реальное время на GPU: При ускорении с помощью таких инструментов, как NVIDIA TensorRT, RTDETRv2 может достигать скорости инференса в реальном времени на высокопроизводительных GPU.
Слабые стороны
- Высокая вычислительная стоимость: Модели на основе Transformer, как известно, требуют больших ресурсов. RTDETRv2 имеет большее количество параметров и FLOPs по сравнению с YOLOv8, что требует более мощного оборудования.
- Медленное обучение и высокое потребление памяти: Обучение трансформеров является вычислительно затратным и медленным процессом. Они часто требуют значительно больше памяти CUDA, чем модели на основе CNN, такие как YOLOv8, что делает их недоступными для пользователей с ограниченными аппаратными ресурсами.
- Более медленный инференс на CPU: Будучи быстрыми на GPU, их производительность на CPU значительно ниже, чем у высокооптимизированных CNN, таких как YOLOv8.
- Ограниченная экосистема: RTDETRv2 не хватает обширной, унифицированной экосистемы, предоставляемой Ultralytics. Это включает в себя меньшее количество интеграций, менее полную документацию и меньшее сообщество для поддержки.
Ultralytics YOLOv8: Скорость, универсальность и простота использования
Ultralytics YOLOv8 — это последняя итерация в очень успешном семействе YOLO (You Only Look Once). Разработанная Ultralytics, она устанавливает новый стандарт скорости, точности и простоты использования, что делает ее лучшим выбором для широкого спектра задач компьютерного зрения.
Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
Организация: Ultralytics
Дата: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Документация: https://docs.ultralytics.com/models/yolov8/
Архитектура
YOLOv8 имеет современную, одноэтапную архитектуру без anchor boxes. В ней используется новый backbone CSP (Cross Stage Partial) и decoupled head, который разделяет задачи классификации и регрессии для повышения точности. Вся архитектура высоко оптимизирована для исключительного баланса между производительностью и эффективностью, что позволяет ей работать на широком спектре оборудования, от мощных облачных GPU до периферийных устройств с ограниченными ресурсами.
Сильные стороны
- Баланс производительности: YOLOv8 предлагает выдающийся компромисс между скоростью и точностью, что делает его подходящим для различных реальных приложений, где оба показателя имеют решающее значение.
- Универсальность: В отличие от RTDETRv2, которая в первую очередь является детектором объектов, YOLOv8 — это многозадачная структура, которая изначально поддерживает обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных объектов (OBB).
- Простота использования: YOLOv8 разработана для оптимизации работы пользователей благодаря простому Python API и мощному CLI. Обширная документация и активное сообщество позволяют разработчикам легко начать работу.
- Эффективность обучения и низкий объем памяти: YOLOv8 обучается значительно быстрее и требует гораздо меньше памяти CUDA, чем RTDETRv2. Это делает его более доступным и экономически эффективным для пользовательского обучения.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет надежную экосистему с частыми обновлениями, многочисленными интеграциями и такими инструментами, как Ultralytics HUB, для бесшовного управления наборами данных и обучения.
Слабые стороны
- Глобальный контекст: Несмотря на высокую эффективность, его архитектура на основе CNN может не захватывать глобальный контекст так же полно, как transformer в определенных нишевых сценариях с чрезвычайно сложными взаимосвязями объектов. Однако для большинства приложений его производительности более чем достаточно.
Прямое сравнение производительности: RTDETRv2 против YOLOv8
Сравнение производительности подчеркивает различные философии проектирования двух моделей. RTDETRv2 стремится к максимальной точности, в то время как YOLOv8 разработан для обеспечения превосходного баланса скорости, точности и эффективности в широком диапазоне оборудования.
Модель | размер (пиксели) |
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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
На основании таблицы можно сделать несколько выводов:
- Точность: Самая большая модель RTDETRv2-x немного превосходит YOLOv8x по mAP. Однако в целом модели YOLOv8 обеспечивают высокую конкурентоспособную точность для своего размера. Например, YOLOv8l почти соответствует RTDETRv2-l по точности с меньшим количеством FLOPs.
- Скорость GPU: YOLOv8 значительно быстрее, особенно его небольшие варианты. YOLOv8n более чем в 3 раза быстрее, чем самая маленькая модель RTDETRv2, что делает ее идеальной для приложений с высокой частотой кадров. Даже самая большая модель YOLOv8x быстрее, чем ее аналог RTDETRv2-x.
- Скорость CPU: YOLOv8 демонстрирует огромное преимущество в инференсе на CPU, что является критическим фактором для развертывания на многих периферийных устройствах и стандартных серверах без выделенных GPU.
- Эффективность: Модели YOLOv8 гораздо более эффективны с точки зрения параметров и FLOPs. YOLOv8x достигает почти такой же точности, как RTDETRv2-x, с меньшим количеством параметров и FLOPs, демонстрируя превосходную архитектурную эффективность.
Обучение и развертывание
Когда дело доходит до обучения, разница очевидна. Обучение RTDETRv2 — это ресурсоемкий процесс, требующий высокопроизводительных GPU с большим объемом VRAM и может занять значительное количество времени.
В отличие от них, фреймворк Ultralytics YOLOv8 создан для эффективности обучения. Он позволяет быстро выполнять пользовательское обучение с меньшими требованиями к памяти, что делает его доступным для более широкого круга разработчиков. Оптимизированный рабочий процесс, от подготовки данных до обучения и проверки модели, является значительным преимуществом.
Что касается развертывания, универсальность YOLOv8 проявляется в полной мере. Ее можно легко экспортировать во множество форматов, таких как ONNX, TensorRT, CoreML и OpenVINO, что обеспечивает оптимизированную производительность практически на любой платформе, от облачных серверов до мобильных телефонов и встроенных систем, таких как Raspberry Pi.
Заключение: какую модель вам следует выбрать?
RTDETRv2 — это мощная модель для исследователей и команд со значительными вычислительными ресурсами, которым необходимо выжать последнюю долю процента в точности для сложных задач обнаружения объектов, таких как в автономном вождении или анализе спутниковых изображений.
Однако, для подавляющего большинства разработчиков, исследователей и предприятий Ultralytics YOLOv8 является явным победителем. Он предлагает гораздо более практичное и эффективное решение, обеспечивая исключительный баланс скорости и точности. Его ключевые преимущества — универсальность в различных задачах, простота использования, превосходная эффективность обучения, более низкие требования к ресурсам и комплексная, хорошо поддерживаемая экосистема — делают его идеальным выбором для быстрого и эффективного создания надежных приложений компьютерного зрения для реального мира. Независимо от того, развертываете ли вы его на сервере высокого класса или на маломощном периферийном устройстве, YOLOv8 предоставляет масштабируемое, высокопроизводительное и удобное решение.
Изучите другие модели
Если вам интересно изучить другие модели, ознакомьтесь с этими дополнительными сравнениями в нашей серии сравнений моделей:
- RT-DETR против YOLOv9
- YOLOv8 vs. YOLOv9
- YOLOv8 vs. YOLOv5
- EfficientDet против YOLOv8
- YOLOv8 vs. YOLOv7
- Ознакомьтесь с последними моделями, такими как YOLOv10 и YOLO11