YOLOv7 против RTDETRv2: техническое сравнение для обнаружения объектов в реальном времени
Ландшафт компьютерного зрения продолжает стремительно развиваться под сильным влиянием конкуренции между сверточными нейронными сетями (CNN) и визуальными трансформерами (ViT). В этом техническом обзоре рассматриваются две мощные архитектуры: YOLOv7, высокооптимизированный детектор объектов на базе CNN, и RTDETRv2, современный трансформер для детектирования в реальном времени.
Анализируя архитектурные различия, показатели производительности и идеальные сценарии развертывания, разработчики могут принимать обоснованные решения при интеграции этих моделей компьютерного зрения в свои производственные конвейеры.
YOLOv7: архитектура CNN с «мешком бесплатных плюшек» (bag-of-freebies)
YOLOv7 привнесла несколько структурных оптимизаций, изменивших парадигму традиционного семейства YOLO, что позволило расширить границы детектирования объектов в реальном времени благодаря ряду «обучаемых бесплатных улучшений».
Основные характеристики:
Авторы: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Организация: Institute of Information Science, Academia Sinica
Дата: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: WongKinYiu/yolov7
Архитектура и сильные стороны
YOLOv7 опирается на архитектуру Extended Efficient Layer Aggregation Network (E-ELAN). Эта структурная разработка позволяет модели изучать более разнообразные признаки, не разрушая исходный путь градиента. Кроме того, она включает запланированные перепараметризованные свертки, которые оптимизируют скорость вывода без снижения точности. Структура с развязанной головой (decoupled head) позволяет достичь впечатляющего баланса между скоростью и точностью, что делает модель весьма подходящей для задач real-time object detection на серверных GPU.
YOLOv7 также отличается высокой универсальностью. Помимо стандартного обнаружения ограничивающих рамок (BBox), репозиторий предлагает ветки для pose estimation и instance segmentation, демонстрируя свою адаптивность.
Ограничения
Как и многие устаревшие модели CNN, YOLOv7 полагается на Non-Maximum Suppression (NMS) для постобработки. NMS вносит переменную задержку, особенно в переполненных сценах, что может усложнить обеспечение строгих гарантий реального времени на граничных устройствах (edge devices).
RTDETRv2: развитие трансформеров для реального времени
RTDETRv2 базируется на оригинальной структуре RT-DETR, дополнительно доказывая, что трансформеры могут конкурировать с архитектурами YOLO по задержке в реальном времени, сохраняя при этом высокую пространственную точность.
Основные характеристики:
Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, Yi Liu
Организация: Baidu
Дата: 2024-07-24
Arxiv: https://arxiv.org/abs/2407.17140
GitHub: lyuwenyu/RT-DETR
Архитектура и сильные стороны
RTDETRv2 представляет собой значительный шаг вперед для визуальных трансформеров. Она использует гибкий процесс выбора запросов (query selection) и эффективный гибридный энкодер для быстрой обработки многомасштабных признаков. Внедряя новый «набор бесплатных улучшений», специально разработанный для трансформеров обнаружения (DETRs), она доводит пространственное мышление до предела. Поскольку модель изначально не использует NMS, она обеспечивает детерминированное время вывода — критически важную характеристику для строгих требований smart city applications и автономного вождения.
Ограничения
Несмотря на свои достижения, RTDETRv2 несет в себе традиционные бремена архитектур на основе трансформеров. Она требует значительно больше CUDA-памяти как при обучении, так и при выводе по сравнению с CNN. Кроме того, время сходимости при обучении заметно больше, что требует огромного количества качественных аннотированных данных (например, COCO dataset) и значительных вычислительных ресурсов.
Сравнение производительности
При сравнительном тестировании этих моделей мы должны рассматривать целостную картину, охватывающую точность, скорость вывода и вычислительные затраты. Ниже приведена прямая сравнительная таблица.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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-x претендует на самый высокий показатель mAPval в 54,3%, для этого требуются колоссальные 259 миллиардов FLOPs. И наоборот, архитектуры YOLOv7 обеспечивают отличную базу, но страдают от накладных расходов устаревшего NMS, которые не в полной мере отражены в чистых метриках задержки сети.
Преимущество Ultralytics: экосистема и эволюция
Хотя YOLOv7 и RTDETRv2 предлагают надежные возможности, их развертывание в производственной среде часто выявляет логистические трудности. Именно здесь превосходит экосистема Ultralytics. Спроектированная для бесшовной интеграции от начала до конца, платформа Ultralytics предоставляет разработчикам унифицированный API, который абстрагирует типичные сложности конвейеров компьютерного зрения.
Непревзойденная универсальность и эффективность использования памяти
В отличие от жестких моделей трансформеров, потребляющих огромное количество видеопамяти (VRAM), модели Ultralytics YOLO поддерживают строгую эффективность использования памяти. Это обеспечивает быстрое model training на доступном оборудовании. Экосистема по своей сути поддерживает несколько задач компьютерного зрения из единой кодовой базы, включая image classification и oriented bounding box (OBB) detection, предлагая гибкость, которой в настоящее время не хватает RTDETRv2.
Бесшовное развертывание
Переход от исследований к производству требует надежных вариантов развертывания. API Ultralytics нативно обрабатывает model export в стандартные промышленные форматы одним кликом. Независимо от того, ориентируешься ли ты на ONNX для кроссплатформенной совместимости или на TensorRT для максимального ускорения на GPU, конвейер полностью автоматизирован и надежен.
Абсолютное обновление: Ultralytics YOLO26
Для разработчиков, выбирающих между YOLOv7 и RTDETRv2, оптимальным путем вперед является новый стандарт в области визуального ИИ: Ultralytics YOLO26. Выпущенная в январе 2026 года, YOLO26 преодолевает разрыв между скоростью CNN и сложным мышлением трансформеров, полностью устраняя их соответствующие слабости.
YOLO26 внедряет новаторские инновации, адаптированные как для серверного развертывания, так и для граничных устройств:
- Сквозной дизайн без NMS: Впервые представленный в YOLOv10, YOLO26 нативно исключает постобработку NMS. Это обеспечивает детерминированную задержку, как у RTDETRv2, без обременительных вычислительных затрат трансформера.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (таких как Kimi K2 от Moonshot AI), YOLO26 использует гибрид SGD и Muon. Это обеспечивает беспрецедентную стабильность обучения и значительно более быстрое время сходимости по сравнению со стандартными реализациями AdamW, используемыми в ViT.
- ProgLoss + STAL: Эти передовые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов, напрямую конкурируя с преимуществами многомасштабных признаков RTDETRv2, что критически важно для robotic automation.
- Оптимизация для Edge и удаление DFL: Удалив Distribution Focal Loss (DFL), YOLO26 оптимизирует выходную «голову», что приводит к ускорению вывода на CPU до 43%, делая модель гораздо более пригодной для развертывания на граничных устройствах, чем тяжелые трансформеры.
Пример обучения с Ultralytics
Простота Python API Ultralytics позволяет обучить ультрасовременную модель YOLO26 всего несколькими строками кода:
from ultralytics import YOLO
# Load the highly efficient YOLO26 small model
model = YOLO("yolo26s.pt")
# Train the model on the COCO8 dataset
# The framework automatically manages data augmentation and hyperparameter tuning
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="0")
# Effortlessly export to TensorRT for deployment
model.export(format="engine", dynamic=True)Идеальные сценарии использования
Выбор правильной архитектуры сильно зависит от ограничений развертывания и доступности оборудования:
Когда стоит рассматривать YOLOv7:
- Устаревшие исследовательские проекты, где YOLOv7 является установленной базовой моделью.
- Среды, где много ресурсов для ускорения на GPU и допустим джиттер задержки NMS.
Когда стоит рассмотреть RTDETRv2:
- Развертывание на высокопроизводительных серверах, требующих максимального значения mAP.
- Сценарии, где строго требуется детерминированная задержка вывода (без NMS), при условии наличия достаточного объема VRAM для поддержки трансформерного бэкенда.
Когда стоит выбрать Ultralytics YOLO26:
- Почти всегда. Она предлагает детерминизм без NMS, присущий RTDETRv2, превосходит YOLOv7 по скорости и точности, потребляет значительно меньше VRAM и полностью интегрирована в Ultralytics Platform для удобного управления данными, обучения и развертывания.
Интересно, как соотносятся другие архитектуры? Ознакомься с нашими глубокими обзорами предыдущих поколений, таких как YOLO11 и YOLOv8, или узнай, как использовать hyperparameter tuning для максимизации точности твоего проекта.