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

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. Это включает в себя меньшее количество интеграций, менее полную документацию и меньшее сообщество для поддержки.

Узнайте больше о RT-DETR

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 в определенных нишевых сценариях с чрезвычайно сложными взаимосвязями объектов. Однако для большинства приложений его производительности более чем достаточно.

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

Прямое сравнение производительности: 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 предоставляет масштабируемое, высокопроизводительное и удобное решение.

Изучите другие модели

Если вам интересно изучить другие модели, ознакомьтесь с этими дополнительными сравнениями в нашей серии сравнений моделей:



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии