YOLOv7 против RTDETRv2: Техническое сравнение современных детекторов объектов
Выбор оптимальной архитектуры обнаружения объектов является ключевым шагом в разработке надежных решений для компьютерного зрения. Это решение часто связано со сложным компромиссом между скоростью вывода, точностью обнаружения и требованиями к вычислительным ресурсам. В данном руководстве приводится подробное техническое сравнение между YOLOv7оптимизированным детектором на основе CNN, известным своей скоростью, и RTDETRv2, современной моделью на основе трансформатора, разработанной для обеспечения понимания глобального контекста в приложениях реального времени.
YOLOv7: вершина эффективности CNN
YOLOv7 представляет собой значительную эволюцию семейства You Only Look OnceYOLO), выпущенную с целью расширить границы возможностей конволюционных нейронных сетей (CNN) в сценариях реального времени. Сосредоточившись на архитектурных усовершенствованиях и передовых стратегиях обучения, она обеспечивает впечатляющую скорость работы на оборудовании GPU .
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 06.07.2022
- Arxiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- Документы:https://docs.ultralytics.com/models/yolov7/
Архитектурные инновации
В YOLOv7 появилась расширенная эффективная сеть агрегирования слоев (E-ELAN)- новая конструкция магистрали, которая повышает способность сети к обучению, не разрушая градиентный путь. Это позволяет создавать более глубокие сети, которые остаются эффективными в обучении. Определяющей особенностью YOLOv7 является "обучаемый мешок бесплатных вещей" - набор методов оптимизации, таких как повторная параметризация модели и назначение меток с грубой и тонкой наводкой, которые повышают точность без увеличения времени ожидания вывода.
Сильные и слабые стороны
YOLOv7 отлично подходит для работы в средах, где приоритетом являются выводы в реальном времени на стандартных графических процессорах. Его архитектура хорошо оптимизирована для CUDA, обеспечивая высокий FPS при передаче видео. Однако, будучи чистым CNN, он может испытывать трудности с дальними зависимостями по сравнению с трансформаторами. Кроме того, настройка его сложной архитектуры может оказаться сложной для новичков.
RTDETRv2: Трансформаторы для обнаружения в реальном времени
RTDETRv2 опирается на успех трансформатора обнаружения в реальном времениRT-DETR), используя возможности трансформаторов зрения (ViT) для получения глобальной информации по всему изображению. В отличие от CNN, которые обрабатывают локальные окрестности пикселей, трансформаторы используют механизмы самовнимания для понимания взаимосвязей между удаленными объектами.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация: Baidu
- Дата: 2023-04-17 (оригинальный RT-DETR), 2024-07 (RTDETRv2)
- Arxiv:https://arxiv.org/abs/2304.08069
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Архитектурные инновации
RTDETRv2 использует гибридную архитектуру. В ней используется основа CNN для эффективного извлечения признаков и трансформаторный кодер-декодер для головки обнаружения. Очень важно, что он не имеет якорей, что устраняет необходимость в ручной настройке якорных блоков и постобработке не максимального подавленияNMS) в некоторых конфигурациях. Усовершенствования "v2" сосредоточены на гибкой основе и улучшенных стратегиях обучения для дальнейшего снижения задержки при сохранении высокой средней точности (mAP).
Сильные и слабые стороны
Основное преимущество RTDETRv2 - точность в сложных сценах с окклюзиями, благодаря глобальному пониманию контекста. Он часто превосходит CNN аналогичного масштаба в mAP. Однако за это приходится платить: трансформаторные модели, как известно, занимают много памяти во время обучения и могут медленнее сходиться. Для их эффективного обучения обычно требуются более мощные графические процессоры по сравнению с CNN типа YOLOv7.
Сравнение производительности: Метрики и анализ
В следующей таблице представлено сравнение ключевых показателей производительности. В то время как RTDETRv2-x достигает более высокой точности, YOLOv7 модели часто имеют преимущество в скорости вычислений на конкретных аппаратных конфигурациях благодаря своему CNN-нативному дизайну.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Понимание компромиссов
Выбирая между этими архитектурами, учитывайте аппаратное обеспечение для развертывания. Трансформеры, такие как RTDETRv2, часто требуют специальных оптимизаций TensorRT , чтобы полностью раскрыть свой потенциал скорости на графических процессорах NVIDIA , в то время как CNN, такие как YOLOv7 , обычно эффективно работают на более широком спектре оборудования с меньшими настройками.
Методология обучения и ресурсы
Методики обучения двух архитектур существенно различаются. В YOLOv7 используется стандартный стохастический градиентный спуск (SGD) или оптимизаторы Adam , ориентированные на конвейеры расширения данных, такие как Mosaic. Он занимает относительно мало памяти, что делает его пригодным для обучения на GPU среднего уровня.
Напротив, RTDETRv2 требует более ресурсоемкого режима обучения. Механизмы самовнимания в трансформаторах масштабируются квадратично с длиной последовательности (размером изображения), что приводит к увеличению использования VRAM. Пользователям часто требуются высокопроизводительные графические процессорыNVIDIA с большим объемом памяти (например, A100) для эффективного обучения больших вариантов RT-DETR . Кроме того, трансформаторы обычно требуют более длительного обучения (больше эпох) для сходимости по сравнению с CNN.
Почему модели Ultralytics являются оптимальным выбором
Хотя YOLOv7 и RTDETRv2 сами по себе являются отличными моделями, экосистемаUltralytics , возглавляемаясамым современным YOLO11-предлагает более комплексное решение для разработки современного ИИ.
Превосходная простота использования и экосистема
Модели Ultralytics разработаны с учетом приоритета разработчиков. В отличие от сложных конфигурационных файлов и ручной настройки, которые часто требуются для YOLOv7 , или специфических требований к среде для RTDETRv2, Ultralytics предоставляет унифицированный, простой Python API. Это позволяет загружать, обучать и развертывать модели всего в нескольких строках кода.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Сбалансированная производительность и универсальность
YOLO11 достигает исключительного баланса скорости и точности, часто превосходя по эффективности YOLOv7 и RT-DETR . Важно, что модели Ultralytics не ограничиваются обнаружением объектов. Они поддерживают широкий спектр задач компьютерного зрения в рамках одного и того же фреймворка:
- Сегментация объектов: Точное выделение объектов.
- Оценка позы: Определение ключевых точек для определения позы человека или животного.
- Классификация: Категоризация всего изображения.
- Обнаружение ориентированных объектов (OBB): Обнаружение повернутых объектов (например, на аэрофотоснимках).
Эффективность и обучение
Модели Ultralytics оптимизированы для эффективного использования памяти. Они обычно требуют значительно меньше памяти CUDA во время обучения, чем альтернативы на основе трансформаторов, такие как RTDETRv2, что демократизирует доступ к высокопроизводительному ИИ. Широко доступные предварительно обученные веса и эффективные возможности трансферного обучения позволят вам получить готовые к производству результаты за долю времени.
Заключение
YOLOv7 остается сильным соперником для устаревших систем, требующих строго оптимизированного вывода CNN, в то время как RTDETRv2 предлагает передовую точность для сложных сцен, где вычислительные ресурсы достаточно велики. Однако для большинства разработчиков и исследователей, ищущих современное, универсальное и удобное решение, Ultralytics YOLO11 является лучшим выбором.
Выбрав Ultralytics, вы получаете доступ к процветающему сообществу, частым обновлениям и надежному набору инструментов, упрощающему весь жизненный цикл MLOps - от управления данными до их развертывания.
Изучите другие сравнения моделей
Чтобы принять решение, изучите эти дополнительные технические сравнения:
- YOLO11 vs. YOLOv8
- RT-DETR против YOLOv8
- YOLOv7 против YOLOv8
- YOLO11 vs. EfficientDet
- YOLOv10 против RT-DETR