YOLOv7 против RTDETRv2: техническое сравнение современных детекторов объектов
Выбор оптимальной архитектуры для detectирования объектов является ключевым шагом в разработке надежных решений компьютерного зрения. Это решение часто включает в себя учет сложных компромиссов между скоростью inference, точностью detectирования и требованиями к вычислительным ресурсам. В этом руководстве представлено углубленное техническое сравнение между YOLOv7, высокооптимизированным детектором на основе CNN, известным своей скоростью, и RTDETRv2, современной моделью на основе трансформеров, разработанной для привнесения глобального контекстного понимания в приложения реального времени.
YOLOv7: Вершина эффективности CNN
YOLOv7 представляет собой значительную эволюцию в семействе You Only Look Once (YOLO), выпущенную для расширения границ того, чего сверточные нейронные сети (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 представляет Extended Efficient Layer Aggregation Network (E-ELAN) — новую конструкцию магистральной сети, которая повышает способность сети к обучению, не разрушая путь градиента. Это позволяет создавать более глубокие сети, которые остаются эффективными для обучения. Отличительной особенностью YOLOv7 является "trainable bag-of-freebies" — набор методов оптимизации, таких как ре-параметризация модели и coarse-to-fine lead guided label assignment, которые повышают точность, не увеличивая задержку inference.
Сильные и слабые стороны
YOLOv7 превосходно работает в средах, где приоритетом является вывод в реальном времени на стандартных GPU. Его архитектура хорошо оптимизирована для CUDA, обеспечивая высокую частоту кадров для видеопотоков. Однако, будучи чистой CNN, она может испытывать трудности с зависимостями на большом расстоянии по сравнению с transformer. Кроме того, настройка его сложной архитектуры может быть сложной для начинающих.
RTDETRv2: Трансформеры для обнаружения в реальном времени
RTDETRv2 развивает успех Real-Time Detection Transformer (RT-DETR), используя возможности Vision Transformers (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 backbone для эффективного извлечения признаков и энкодер-декодер transformer для детекции. Важно отметить, что он anchor-free, что устраняет необходимость в ручной настройке anchor boxes и постобработке non-maximum suppression (NMS) в некоторых конфигурациях. Улучшения "v2" сосредоточены на гибком backbone и улучшенных стратегиях обучения для дальнейшего снижения задержки при сохранении высокой средней точности (mAP).
Сильные и слабые стороны
Основным преимуществом RTDETRv2 является ее точность в сложных сценах с перекрытиями благодаря глобальному пониманию контекста. Она часто превосходит CNN аналогичного масштаба по mAP. Однако это достигается ценой: модели-трансформеры, как известно, требуют большого объема памяти во время обучения и могут медленнее сходиться. Для эффективного обучения им обычно требуются более мощные GPU по сравнению с CNN, такими как YOLOv7.
Сравнение производительности: Метрики и анализ
В следующей таблице представлено сопоставительное сравнение ключевых показателей производительности. В то время как RTDETRv2-x достигает превосходной точности, модели YOLOv7 часто обеспечивают конкурентное преимущество в скорости инференса на определенных конфигурациях оборудования благодаря своей CNN-native конструкции.
| Модель | размер (пиксели) | 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 GPU, в то время как CNN, такие как YOLOv7, обычно эффективно работают на более широком спектре оборудования с меньшей настройкой.
Методология обучения и ресурсы
Методологии обучения существенно различаются между двумя архитектурами. YOLOv7 использует стандартный стохастический градиентный спуск (SGD) или оптимизаторы Adam с акцентом на конвейеры расширения данных, такие как Mosaic. Он относительно эффективен по памяти, что делает возможным обучение на графических процессорах среднего уровня.
В отличие от этого, RTDETRv2 требует более ресурсоемкого режима обучения. Механизмы самообслуживания в трансформерах масштабируются квадратично с длиной последовательности (размером изображения), что приводит к более высокому использованию VRAM. Пользователям часто требуются высокопроизводительные NVIDIA GPU с большими объемами памяти (например, A100), чтобы эффективно обучать более крупные варианты RT-DETR. Кроме того, трансформерам обычно требуются более длительные графики обучения (больше эпох) для сходимости по сравнению с CNN.
Почему модели Ultralytics являются рекомендуемым выбором
В то время как YOLOv7 и RTDETRv2 являются отличными моделями сами по себе, экосистема Ultralytics—возглавляемая современной YOLO11—предлагает более комплексное решение для современной разработки ИИ.
Превосходная простота использования и экосистема
Модели Ultralytics разработаны с учетом приоритета опыта разработчиков. В отличие от сложных файлов конфигурации и ручной настройки, часто требуемых для YOLOv7, или особых потребностей в среде RTDETRv2, Ultralytics предоставляет унифицированный, простой API python. Это позволяет загружать, обучать и развертывать модели всего в несколько строк кода.
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 не ограничиваются detect объектов. Они изначально поддерживают широкий спектр задач компьютерного зрения в рамках одной и той же структуры:
- Сегментация экземпляров: Точное выделение контуров объектов.
- Оценка позы: Обнаружение ключевых точек для позы человека или животного.
- Классификация: Категоризация целых изображений.
- Обнаружение ориентированных объектов (obb): Обнаружение вращающихся объектов (например, на аэрофотоснимках).
Эффективность и обучение
Модели Ultralytics оптимизированы для эффективности памяти. Они обычно требуют значительно меньше памяти CUDA во время обучения, чем альтернативы на основе transformer, такие как RTDETRv2, что демократизирует доступ к высокопроизводительному ИИ. Благодаря широко доступным предварительно обученным весам и эффективным возможностям переноса обучения вы можете получить результаты, готовые к production, за короткое время.
Заключение
YOLOv7 остается сильным конкурентом для устаревших систем, требующих строго оптимизированного CNN inference, в то время как RTDETRv2 предлагает передовую точность для сложных сцен, где вычислительные ресурсы в изобилии. Однако для большинства разработчиков и исследователей, ищущих современное, универсальное и удобное решение, Ultralytics YOLO11 является превосходным выбором.
Выбирая Ultralytics, вы получаете доступ к процветающему сообществу, частым обновлениям и надежному набору инструментов, который упрощает весь жизненный цикл MLOps — от управления данными до развертывания.
Изучите другие сравнения моделей
Чтобы получить больше информации для принятия решения, изучите эти дополнительные технические сравнения:
- YOLO11 vs. YOLOv8
- RT-DETR против YOLOv8
- YOLOv7 против YOLOv8
- YOLO11 vs. EfficientDet
- YOLOv10 vs. RT-DETR