YOLOv7 против RTDETRv2#
Ландшафт компьютерного зрения продолжает стремительно развиваться, находясь под сильным влиянием конкуренции между сверточными нейронными сетями (CNN) и трансформерами зрения (ViT). В этом техническом обзоре мы погружаемся в две тяжеловесные архитектуры: YOLOv7, высокооптимизированный детектор объектов на основе CNN, и RTDETRv2, современный трансформер для обнаружения объектов в реальном времени.
Анализируя их архитектурные различия, показатели производительности и идеальные сценарии развертывания, ты сможешь принять обоснованные решения при интеграции этих моделей компьютерного зрения в свои производственные конвейеры.
YOLOv7: архитектура CNN с «набором бесплатных инструментов»#
YOLOv7 представила несколько революционных структурных оптимизаций для традиционного семейства YOLO, раздвинув границы обнаружения объектов в реальном времени с помощью серии «обучаемых бесплатных улучшений» (trainable bag-of-freebies).
Ключевые характеристики:
Авторы: 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). Такая конструктивная особенность позволяет модели изучать более разнообразные признаки без разрушения исходного градиентного пути. Кроме того, в неё встроены плановые репараметризованные свертки, которые оптимизируют скорость инференса без снижения точности. Обучаемый подход из набора бесплатных улучшений (bag-of-freebies) позволяет модели достигать впечатляющего баланса между скоростью и точностью, что делает её отлично подходящей для задач обнаружения объектов в реальном времени на GPU серверного класса.
YOLOv7 также отличается высокой универсальностью. Помимо стандартного обнаружения ограничивающих прямоугольников, репозиторий предлагает ветки для оценки поз и сегментации экземпляров, демонстрируя свою адаптивность.
Ограничения#
Как и многие устаревшие модели CNN, YOLOv7 полагается на немаксимальное подавление (NMS) для постобработки. NMS вносит переменную задержку, особенно в переполненных сценах, что может усложнить соблюдение строгих гарантий реального времени на периферийных устройствах.
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 представляет собой значительный шаг вперед для Vision Transformers. Модель задействует гибкий процесс выбора запросов и эффективный гибридный энкодер для быстрого анализа многомасштабных признаков. Благодаря внедрению нового набора бесплатных улучшений, созданного специально для Detection Transformers (DETRs), модель доводит пространственное рассуждение до предела. Поскольку она изначально не требует NMS, она обеспечивает детерминированное время инференса, что является критически важной функцией для требовательных приложений умного города и автономного вождения.
Ограничения#
Несмотря на свои достижения, RTDETRv2 несет в себе традиционные недостатки архитектур на основе трансформеров. По сравнению с CNN, она требует значительно больше памяти CUDA как во время обучения, так и при инференсе. Кроме того, время сходимости при ее обучении заметно дольше, что требует огромных объемов высококачественных аннотированных данных (таких как датасет COCO) и мощных вычислительных ресурсов.
Сравнение производительности#
При проведении бенчмаркинга этих моделей мы должны смотреть на общую картину, охватывающую точность, «сырую» скорость вывода и вычислительные затраты. Ниже представлена сравнительная таблица.
| Модель | размер (пиксели) | 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 поддерживают строгую эффективность использования памяти. Это обеспечивает быстрое обучение моделей на доступном оборудовании. Экосистема изначально поддерживает множество задач компьютерного зрения в рамках единой кодовой базы, включая классификацию изображений и обнаружение с помощью ориентированных ограничивающих прямоугольников (OBB), предлагая гибкость, которой в настоящее время не хватает RTDETRv2.
Бесшовное развертывание#
Переход от исследований к продакшену требует надежных вариантов развертывания. API Ultralytics изначально поддерживает экспорт моделей в стандартные для индустрии форматы в один клик. Независимо от того, ориентируешься ли ты на 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, что критически важно для роботизированной автоматизации.
- Edge-оптимизация и удаление DFL: Удалив Distribution Focal Loss (DFL), YOLO26 упрощает выходной слой (head), что приводит к увеличению скорости инференса на CPU до 43%, делая её гораздо более пригодной для развертывания на edge-устройствах, чем тяжелые модели Transformer.
Пример обучения с 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), при условии, что у тебя есть видеопамять для поддержки ее трансформерного бэкенда.
Когда стоит выбрать Ultralytics YOLO26:
- Почти всегда. Она предлагает детерминизм без NMS, присущий RTDETRv2, превосходит YOLOv7 по скорости и точности, использует значительно меньше VRAM и полностью интегрирована в платформу Ultralytics для удобного управления датасетами, обучения и развертывания.
Интересно, как соотносятся другие архитектуры? Изучи наши подробные материалы о предыдущих поколениях, таких как YOLO11 и YOLOv8, или узнай, как использовать подбор гиперпараметров для максимизации точности своего проекта.