YOLOv8 vs RTDETRv2: Подробное техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной модели обнаружения объектов имеет решающее значение для успеха проекта. В этом сравнении рассматриваются технические различия между YOLOv8, универсальной мощной моделью на основе CNN от Ultralytics, и RTDETRv2, сложной моделью на основе трансформеров от Baidu. Анализируя их архитектуры, показатели производительности и требования к ресурсам, мы стремимся направить разработчиков и исследователей к оптимальному решению для их конкретных потребностей.
Визуализация различий в производительности
На графике ниже показаны компромиссы между скоростью и точностью для различных размеров моделей, что подчеркивает, как YOLOv8 поддерживает превосходную эффективность по всем параметрам.
Анализ производительности: скорость в сравнении с точностью
В следующей таблице представлено прямое сравнение ключевых метрик. В то время как RTDETRv2 достигает высокой точности со своими самыми большими моделями, YOLOv8 демонстрирует значительное преимущество в скорости инференса и эффективности параметров, особенно на оборудовании CPU, где transformer моделям часто приходится сталкиваться с узкими местами задержки.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 |
Ultralytics YOLOv8: стандарт универсальности и скорости
YOLOv8, запущенный в начале 2023 года, представляет собой значительный скачок вперед в семействе YOLO, представляя унифицированный фреймворк для нескольких задач компьютерного зрения. Он был разработан, чтобы обеспечить наилучший компромисс между скоростью и точностью, что делает его очень подходящим для приложений реального времени, начиная от промышленной автоматизации и заканчивая инфраструктурой умного города.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 10.01.2023
- GitHub:ultralytics/ultralytics
- Документация:Документация YOLOv8
Ключевые архитектурные особенности
YOLOv8 использует голову обнаружения без anchor boxes, что упрощает процесс обучения и улучшает обобщение для различных форм объектов. Его архитектура включает backbone Cross-Stage Partial (CSP) Darknet для эффективного извлечения признаков и сеть Path Aggregation Network (PAN)-FPN для надежного многомасштабного слияния. В отличие от многих конкурентов, YOLOv8 изначально поддерживает классификацию изображений, сегментацию экземпляров, оценку позы и обнаружение ориентированных объектов (OBB) в рамках единого, удобного API.
Сильные стороны
- Исключительная эффективность: Оптимизирует использование памяти и вычислительную нагрузку, позволяя развертывание на периферийных устройствах, таких как NVIDIA Jetson и Raspberry Pi.
- Скорость обучения: Требует значительно меньше памяти CUDA и времени для обучения по сравнению с архитектурами на основе трансформеров.
- Развитая экосистема: Поддерживается исчерпывающей документацией, активной поддержкой сообщества и бесшовной интеграцией с такими инструментами, как TensorRT и OpenVINO.
- Простота использования: Процесс «pip install ultralytics» позволяет разработчикам начать обучение и прогнозирование за считанные минуты.
RTDETRv2: повышение точности Transformer
RTDETRv2 - это эволюция Real-Time Detection Transformer (RT-DETR), разработанная для использования возможностей глобального контекста Vision Transformers (ViTs), пытаясь смягчить присущие им проблемы с задержкой. Он нацелен на то, чтобы превзойти YOLO модели по показателям точности, используя механизмы self-attention.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация:Baidu
- Дата: 2024-07-24 (релиз v2)
- Arxiv:RT-DETRv2 Paper
- GitHub:lyuwenyu/RT-DETR
Обзор архитектуры
RTDETRv2 использует гибридный подход, используя CNN backbone (обычно ResNet) для извлечения признаков, которые затем обрабатываются энкодером-декодером transformer. Механизм self-attention позволяет модели понимать взаимосвязи между удаленными частями изображения, что помогает в сложных сценах с окклюзией. Версия 2 представляет дискретный оператор выборки и повышает стабильность динамического обучения.
Сильные и слабые стороны
- Преимущества:
- Глобальный контекст: Отлично справляется со сложными взаимосвязями объектов и перекрытиями благодаря своей природе transformer.
- Высокая точность: Самые крупные модели достигают несколько более высоких показателей mAP на наборе данных COCO по сравнению с YOLOv8x.
- Без привязки к якорям: Как и YOLOv8, он устраняет необходимость ручной настройки anchor box.
- Слабые стороны:
- Требовательный к ресурсам: Высокие FLOPs и количество параметров замедляют работу на CPU и требуют дорогих GPU для обучения.
- Ограниченная поддержка задач: В первую очередь ориентирован на object detection, отсутствует встроенная универсальность для нескольких задач (segmentation, pose и т. д.) фреймворка Ultralytics.
- Сложное развертывание: Transformer-архитектуру может быть сложнее оптимизировать для mobile и встроенных систем по сравнению с чистыми CNN.
Подробное сравнение: архитектура и удобство использования
Эффективность обучения и память
Одно из самых заметных различий заключается в процессе обучения. Модели на основе трансформеров, такие как RTDETRv2, печально известны своей потребностью в большом количестве данных и памяти. Им часто требуется значительно больше памяти CUDA и более длительные эпохи обучения для сходимости по сравнению с CNN, такими как YOLOv8. Для исследователей или стартапов с ограниченными ресурсами GPU Ultralytics YOLOv8 предлагает гораздо более доступный порог вхождения, позволяя эффективно выполнять пользовательское обучение на оборудовании потребительского класса.
Универсальность и экосистема
В то время как RTDETRv2 является сильным академическим претендентом на выполнение задач чистого обнаружения, ему не хватает целостной экосистемы, окружающей модели Ultralytics. YOLOv8 — это не просто модель; это часть платформы, которая поддерживает:
- Управление данными: Простое управление наборами данных, такими как COCO и Objects365.
- MLOps: Интеграция с Weights & Biases, Comet и Ultralytics HUB.
- Развертывание: Экспорт в один клик в такие форматы, как ONNX, CoreML и TFLite для поддержки различного оборудования.
Рекомендации по аппаратному обеспечению
Если ваша цель развертывания включает инференс на CPU (например, стандартные серверы, ноутбуки) или маломощные периферийные устройства, YOLOv8 является подавляюще лучшим выбором из-за своей оптимизированной архитектуры CNN. RTDETRv2 лучше всего использовать в сценариях с выделенным высокопроизводительным ускорением GPU.
Идеальные варианты использования
Когда следует выбирать YOLOv8
YOLOv8 — предпочтительный выбор для подавляющего большинства реальных развертываний. Ее баланс скорости, точности и простоты использования делает ее идеальной для:
- Аналитика в реальном времени: Мониторинг трафика, аналитика розничной торговли и анализ спортивных соревнований, где важна высокая частота кадров.
- Периферийные вычисления: Запуск ИИ на дронах, роботах или в мобильных приложениях, где мощность и вычислительные ресурсы ограничены.
- Multi-Task Applications: Проекты, требующие одновременного отслеживания объектов, segment и классификации.
Когда следует выбирать RTDETRv2
RTDETRv2 блистает в определенных нишах, где вычислительные затраты вторичны по отношению к незначительным приростам точности:
- Академические исследования: Изучение свойств vision transformers.
- Облачная обработка: Пакетная обработка изображений на мощных серверных фермах, где задержка менее критична, чем detect сложных, перекрытых объектов.
Пример кода: Начало работы с YOLOv8
API Ultralytics разработан для простоты использования. Вы можете загрузить предварительно обученную модель, запустить предсказания или начать обучение всего несколькими строками кода на python.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# Train on a custom dataset
# model.train(data="coco8.yaml", epochs=100, imgsz=640)
Заключение
В то время как RTDETRv2 демонстрирует потенциал архитектур transformer в достижении высокой точности, Ultralytics YOLOv8 остается превосходным выбором для практического компьютерного зрения производственного уровня. Архитектурная эффективность YOLOv8 обеспечивает более быстрый инференс, снижение затрат на обучение и более широкую совместимость с оборудованием. Кроме того, надежная экосистема Ultralytics гарантирует, что у разработчиков есть инструменты, документация и поддержка сообщества, необходимые для эффективной реализации своих AI-решений.
Для тех, кто ищет самые последние достижения в области производительности и эффективности, мы также рекомендуем изучить YOLO11, которая еще больше совершенствует наследие YOLO, предлагая еще более выгодный компромисс между точностью и скоростью.
Изучите другие модели
Если вам интересно изучить больше вариантов в экосистеме Ultralytics или сравнить другие модели SOTA, ознакомьтесь с этими ресурсами:
- YOLO11: Новейшая современная YOLO модель.
- YOLOv10: Детектор объектов реального времени end-to-end.
- RT-DETR: Оригинальный Real-Time Detection Transformer.
- YOLOv9: Ориентирован на программируемую градиентную информацию.