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

RTDETRv2 и YOLOv8: техническое сравнение

В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для успеха проекта. В настоящее время в этой области доминируют две различные архитектурные философии: подходы на основе трансформеров, представленные RTDETRv2, и высокооптимизированные конструкции сверточных нейронных сетей (CNN), примером которых является Ultralytics YOLOv8.

В то время как RTDETRv2 расширяет границы точности, используя vision transformers, YOLOv8 совершенствует баланс между скоростью, точностью и простотой развертывания. Это сравнение исследует технические характеристики, архитектурные различия и практические показатели производительности, чтобы помочь разработчикам и исследователям выбрать оптимальное решение для своих задач.

Метрики производительности: Скорость, точность и эффективность

Ландшафт производительности подчеркивает явный компромисс. RTDETRv2 фокусируется на максимизации средней Precision (mAP) за счет сложных механизмов внимания, тогда как YOLOv8 отдает приоритет универсальному балансу скорости inference в реальном времени и высокой accuracy, подходящему для развертывания на периферии и в облаке.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Анализ результатов

Данные выявляют несколько важных моментов для стратегий развертывания:

  • Computational Efficiency: YOLOv8 демонстрирует превосходную эффективность. Например, YOLOv8l достигает почти паритета в точности (52.9 mAP) с RTDETRv2-l (53.4 mAP), работая при этом с более высокой скоростью inference на GPU.
  • Производительность CPU: YOLOv8 предлагает задокументированную, надежную производительность на CPU, что делает его практичным выбором для периферийных AI устройств, не имеющих выделенных ускорителей. Тесты RTDETRv2 для CPU часто недоступны из-за высокой вычислительной стоимости слоев transformer.
  • Эффективность параметров: Модели YOLOv8 последовательно требуют меньше параметров и операций с плавающей запятой (FLOPs) для достижения конкурентоспособных результатов, что напрямую приводит к снижению потребления памяти и ускорению времени обучения.

Рекомендации по аппаратному обеспечению

Если ваша цель развертывания включает стандартные CPU (например, процессоры Intel) или встроенные устройства (например, Raspberry Pi), архитектура YOLOv8 на основе CNN обеспечивает значительное преимущество в задержке по сравнению с операциями RTDETRv2, интенсивно использующими трансформаторы.

RTDETRv2: Обнаружение в реальном времени с помощью Transformers

RTDETRv2 (Real-Time Detection Transformer v2) представляет собой продолжающуюся эволюцию применения Vision Transformers (ViT) к обнаружению объектов. Разработанный исследователями из Baidu, он направлен на решение проблем задержки, традиционно связанных с моделями на основе DETR, сохраняя при этом их способность понимать глобальный контекст.

Авторы: Веню Лв, Йиан Чжао, Циняо Чанг, Куи Хуанг, Гуанжонг Ванг и Йи Лиу
Организация:Baidu
Дата: 2024-07-24 (v2 release)
Arxiv:https://arxiv.org/abs/2304.08069
GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch

Архитектура

RTDETRv2 использует гибридную архитектуру, которая сочетает в себе backbone (обычно CNN, например ResNet) с эффективным энкодером-декодером transformer. Ключевой особенностью является разделение взаимодействия внутри масштаба и слияния между масштабами, что помогает модели захватывать зависимости на большом расстоянии по всему изображению. Это позволяет модели одновременно "обращать внимание" на разные части сцены, что потенциально улучшает производительность в загроможденных средах.

Сильные и слабые стороны

Основная сила RTDETRv2 заключается в ее высокой точности на сложных наборах данных, где глобальный контекст имеет решающее значение. Отказываясь от anchor boxes в пользу object queries, она упрощает конвейер постобработки, устраняя необходимость в Non-Maximum Suppression (NMS).

Однако, эти преимущества имеют свою цену:

  • Интенсивность использования ресурсов: Модель требует значительно больше памяти GPU для обучения по сравнению с CNN.
  • Более медленная сходимость: Моделям на основе Transformer обычно требуется больше времени для обучения до сходимости.
  • Ограниченная универсальность: Он в первую очередь предназначен для detection ограничивающих рамок, ему не хватает встроенной поддержки segment или оценки позы.

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

Ultralytics YOLOv8: Скорость, универсальность и экосистема

Ultralytics YOLOv8 — это современная модель object detection без привязки к якорям, которая устанавливает стандарт универсальности и простоты использования в отрасли. Она опирается на наследие семейства YOLO, представляя архитектурные усовершенствования, которые повышают производительность, сохраняя при этом скорость в реальном времени, которая сделала YOLO знаменитой.

Авторы: Гленн Джохер, Аюш Чаурасия и Цзин Цю
Организация:Ultralytics
Дата: 2023-01-10
GitHub:https://github.com/ultralytics/ultralytics
Документация:https://docs.ultralytics.com/models/yolov8/

Архитектура

YOLOv8 имеет магистральную сеть CSP (Cross Stage Partial) Darknet и слой агрегации признаков PANet (Path Aggregation Network), которые завершаются отделенным детектирующим слоем. Эта архитектура не использует anchor boxes, то есть прогнозирует центры объектов напрямую, что упрощает структуру и улучшает обобщение. Модель высоко оптимизирована для тензорных процессоров и GPU, что обеспечивает максимальную пропускную способность.

Ключевые преимущества для разработчиков

  • Простота использования: Благодаря API на языке python и надежному CLI пользователи могут обучать и развертывать модели, используя всего несколько строк кода. Обширная документация снижает порог вхождения как для новичков, так и для экспертов.
  • Хорошо поддерживаемая экосистема: Поддерживаемый Ultralytics, YOLOv8 выигрывает от частых обновлений, поддержки сообщества и бесшовной интеграции с такими инструментами, как TensorBoard и MLFlow.
  • Универсальность: В отличие от RTDETRv2, YOLOv8 поддерживает широкий спектр задач из коробки, включая instance segmentation, pose estimation, classification и oriented object detection (OBB).
  • Эффективность обучения: Модель разработана для быстрой тренировки с меньшими требованиями к памяти CUDA, что делает ее доступной для исследователей с ограниченным аппаратным бюджетом.

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

Глубокое погружение: Архитектура и варианты использования

Выбор между этими двумя моделями часто зависит от конкретных требований среды приложения.

Архитектурная философия

YOLOv8 опирается на сверточные нейронные сети (CNN), которые превосходно обрабатывают локальные признаки и пространственные иерархии. Это делает их изначально быстрее и менее требовательными к памяти. Зависимость RTDETRv2 от трансформеров позволяет эффективно моделировать глобальные взаимосвязи, но вносит квадратичную сложность по отношению к размеру изображения, что приводит к более высокой задержке и использованию памяти, особенно при высоком разрешении.

Идеальные варианты использования

Выберите YOLOv8, когда:

  • Критически важна производительность в реальном времени: Такие приложения, как автономное вождение, видеоаналитика и контроль качества в производстве, требуют низкой задержки.
  • Аппаратные ресурсы ограничены: Развертывание на NVIDIA Jetson, Raspberry Pi или мобильных устройствах выполняется без проблем с YOLOv8.
  • Необходимость многозадачности: Если вашему проекту требуется segment объекты или track ключевые точки наряду с detection, YOLOv8 предлагает унифицированный фреймворк.
  • Быстрые циклы разработки: Экосистема Ultralytics ускоряет маркировку данных, обучение и развертывание.

Выберите RTDETRv2, когда:

  • Максимальная точность - единственный показатель: Для академических тестов или сценариев, где доступны неограниченные вычислительные ресурсы и важна каждая доля mAP.
  • Сложные перекрытия: В сильно загроможденных сценах, где понимание взаимосвязи между удаленными пикселями жизненно важно, механизм глобального внимания может предложить небольшое преимущество.

Краткое сравнение

Хотя RTDETRv2 представляет собой интересное академическое достижение в применении трансформеров к задаче detect, YOLOv8 остается превосходным выбором для большинства практических применений. Его баланс скорости, точности и эффективности не имеет себе равных. Кроме того, возможность выполнять несколько задач компьютерного зрения в рамках одной удобной библиотеки делает его универсальным инструментом для современной разработки ИИ.

Для разработчиков, стремящихся к самым последним достижениям в производительности и наборах функций, обращение к новым итерациям, таким как YOLO11, обеспечивает еще большую эффективность и прирост точности по сравнению с YOLOv8 и RTDETRv2.

Пример кода: Начало работы с YOLOv8

Интеграция YOLOv8 в ваш рабочий процесс не составит труда. Ниже приведен пример на Python, демонстрирующий, как загрузить предварительно обученную модель, запустить вывод и экспортировать ее для развертывания.

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a local image
# Ensure the image path is correct or use a URL
results = model("path/to/image.jpg")

# Export the model to ONNX format for deployment
success = model.export(format="onnx")

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

Для более широкого взгляда на архитектуры обнаружения объектов, рассмотрите возможность изучения этих связанных сравнений:


Комментарии