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

YOLOv5 против RTDETRv2: подробное сравнение моделей

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

Ultralytics YOLOv5: Устоявшийся отраслевой стандарт

Автор: Гленн Джокер
Организация: Ultralytics
Дата: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Документация: https://docs.ultralytics.com/models/yolov5/

После выпуска Ultralytics YOLOv5 установил новый стандарт для обнаружения объектов в реальном времени, быстро став фаворитом среди разработчиков и исследователей благодаря исключительному сочетанию скорости, точности и удобства использования. Полностью разработанный на PyTorch, он хорошо оптимизирован и прост в обучении, валидации и развертывании.

Архитектура

В YOLOv5 используется классическая архитектура на основе CNN, которая является одновременно эффективной и действенной.

  • Backbone: Использует backbone CSPDarknet53, который является вариантом Darknet, оптимизированным с помощью соединений Cross Stage Partial (CSP) для улучшения распространения градиентов и снижения вычислительных затрат.
  • Neck: Для агрегации признаков используется Path Aggregation Network (PANet), эффективно объединяющая признаки из разных масштабов для улучшения обнаружения объектов различных размеров.
  • Head: Модель использует головную часть обнаружения на основе anchor-ов для предсказания ограничивающих рамок, вероятностей классов и оценок объектности.

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

  • Исключительная скорость и эффективность: YOLOv5 высоко оптимизирована для высокой скорости вывода, что делает ее лучшим выбором для приложений реального времени на широком спектре оборудования, от CPU до периферийных устройств.
  • Простота использования: YOLOv5, известный своим оптимизированным пользовательским интерфейсом, предлагает простой Python API и CLI, подкрепленные обширной документацией.
  • Хорошо поддерживаемая экосистема: Как модель Ultralytics, она выигрывает от надежной и активно развивающейся экосистемы. Это включает в себя большое сообщество, частые обновления и бесшовную интеграцию с такими инструментами, как Ultralytics HUB для обучения и развертывания без кода.
  • Баланс производительности: YOLOv5 обеспечивает отличный компромисс между скоростью и точностью, что делает его очень практичным для различных реальных сценариев.
  • Эффективность памяти: По сравнению с моделями на основе трансформеров, модели YOLOv5 обычно требуют значительно меньше памяти CUDA во время обучения и более эффективны по памяти во время инференса.
  • Универсальность: Он поддерживает несколько задач, включая обнаружение объектов, сегментацию экземпляров и классификацию изображений, и все это в рамках единой структуры.
  • Эффективность обучения: Процесс обучения быстрый и эффективный, с готовыми предварительно обученными весами на наборах данных, таких как COCO, для ускорения разработки.

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

  • Точность на сложных сценах: Несмотря на высокую точность, она может быть ниже, чем у новых, более сложных архитектур, таких как RTDETRv2, на наборах данных со множеством мелких или перекрывающихся объектов.
  • Дизайн на основе Anchor: Его опора на предопределенные anchor boxes иногда может потребовать ручной настройки для достижения оптимальной производительности на наборах данных с нетрадиционными пропорциями объектов.

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

YOLOv5 превосходен в приложениях, где скорость, эффективность использования ресурсов и быстрая разработка имеют решающее значение.

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

RTDETRv2: Высокоточный детектор реального времени на основе Transformer

Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
Организация: Baidu
Дата: 2023-04-17 (Первоначальная версия RT-DETR), 2024-07-24 (Улучшения RT-DETRv2)
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

RT-DETRv2 (Детектор-трансформер реального времени v2) — это современный детектор объектов, который использует возможности Vision Transformers (ViT) для достижения высокой точности при сохранении производительности в реальном времени на производительном оборудовании.

Архитектура

RTDETRv2 использует гибридный подход, сочетающий в себе сильные стороны CNN и Transformers.

  • Backbone: Обычно использует CNN (например, варианты ResNet) для эффективного начального извлечения признаков.
  • Encoder-Decoder: Структура энкодера-декодера на основе Transformer обрабатывает признаки изображения. Она использует механизмы самовнимания для захвата глобального контекста, что позволяет модели лучше понимать взаимосвязи между удаленными объектами и сложными сценами.

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

  • Высокая точность: Архитектура transformer позволяет RTDETRv2 достигать отличных показателей mAP, особенно на сложных наборах данных с плотными или маленькими объектами, таких как в анализе спутниковых изображений.
  • Возможности реального времени: Он оптимизирован для обеспечения конкурентоспособной скорости вывода, особенно при ускорении на мощных графических процессорах с использованием таких инструментов, как NVIDIA TensorRT.
  • Надежное извлечение признаков: Благодаря захвату глобального контекста, он хорошо работает в сложных сценариях, таких как окклюзия, что полезно для таких приложений, как автономное вождение.

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

  • Высокая вычислительная стоимость: RTDETRv2 обычно имеет большее количество параметров и FLOPs по сравнению с YOLOv5, что требует более значительных вычислительных ресурсов, таких как память GPU и вычислительная мощность.
  • Сложность обучения: Обучение моделей на основе трансформеров часто является более ресурсоемким и медленным, чем обучение CNN. Обычно они требуют гораздо больше памяти CUDA, что делает их менее доступными для пользователей с ограниченным оборудованием.
  • Скорость инференса на CPU/Edge: Несмотря на работу в реальном времени на мощных GPU, ее производительность может быть значительно ниже, чем у YOLOv5 на CPU или менее мощных периферийных устройствах.
  • Экосистема и удобство использования: Ей не хватает обширной, унифицированной экосистемы, инструментов и широкой поддержки сообщества, которую Ultralytics предоставляет для своих моделей YOLO.

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

Анализ производительности: скорость в сравнении с точностью

Ключевое различие между YOLOv5 и RTDETRv2 заключается в их философии проектирования. YOLOv5 разработан для оптимального баланса скорости и точности на широком спектре оборудования, что делает его невероятно универсальным. В отличие от этого, RTDETRv2 отдает приоритет достижению максимальной точности, используя более ресурсоемкую архитектуру Transformer, которая лучше всего работает на высокопроизводительных GPU.

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

Модель размер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv5n 640 28.0 73.6 1.12 2.6 7.7
YOLOv5s 640 37.4 120.7 1.92 9.1 24.0
YOLOv5m 640 45.4 233.9 4.03 25.1 64.2
YOLOv5l 640 49.0 408.4 6.61 53.2 135.0
YOLOv5x 640 50.7 763.2 11.89 97.2 246.4
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

Заключение и рекомендации

И YOLOv5, и RTDETRv2 — это впечатляющие модели обнаружения объектов, но они служат разным потребностям.

RTDETRv2 — отличный выбор для приложений, где достижение максимально возможной точности является основной целью, и имеются значительные вычислительные ресурсы (т.е. высокопроизводительные GPU) для обучения и развертывания. Его архитектура на основе transformer дает ему преимущество в сложных сценах.

Однако, для подавляющего большинства реальных приложений Ultralytics YOLOv5 представляет собой более убедительное и практичное решение. Его исключительный баланс скорости и точности в сочетании с низкими требованиями к ресурсам делает его подходящим для более широкого спектра сценариев развертывания. Ключевые преимущества хорошо поддерживаемой экосистемы Ultralytics — включая простоту использования, всеобъемлющую документацию, активную поддержку сообщества и такие инструменты, как Ultralytics HUB — значительно снижают порог входа и ускоряют время разработки.

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

Сравнения с другими моделями

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



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

Комментарии