Перейти к содержанию

YOLOv7 против RTDETRv2: техническое сравнение современных детекторов объектов

Выбор оптимальной архитектуры для detectирования объектов является ключевым шагом в разработке надежных решений компьютерного зрения. Это решение часто включает в себя учет сложных компромиссов между скоростью inference, точностью detectирования и требованиями к вычислительным ресурсам. В этом руководстве представлено углубленное техническое сравнение между YOLOv7, высокооптимизированным детектором на основе CNN, известным своей скоростью, и RTDETRv2, современной моделью на основе трансформеров, разработанной для привнесения глобального контекстного понимания в приложения реального времени.

YOLOv7: Вершина эффективности CNN

YOLOv7 представляет собой значительную эволюцию в семействе You Only Look Once (YOLO), выпущенную для расширения границ того, чего сверточные нейронные сети (CNN) могут достичь в сценариях реального времени. Сосредоточившись на архитектурных усовершенствованиях и передовых стратегиях обучения, он обеспечивает впечатляющую скорость на оборудовании GPU.

Архитектурные инновации

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. Кроме того, настройка его сложной архитектуры может быть сложной для начинающих.

Узнайте больше о YOLOv7

RTDETRv2: Трансформеры для обнаружения в реальном времени

RTDETRv2 развивает успех Real-Time Detection Transformer (RT-DETR), используя возможности Vision Transformers (ViT) для захвата глобальной информации по всему изображению. В отличие от CNN, которые обрабатывают локальные окрестности пикселей, трансформеры используют механизмы самоанализа для понимания взаимосвязей между удаленными объектами.

Архитектурные инновации

RTDETRv2 использует гибридную архитектуру. Он использует CNN backbone для эффективного извлечения признаков и энкодер-декодер transformer для детекции. Важно отметить, что он anchor-free, что устраняет необходимость в ручной настройке anchor boxes и постобработке non-maximum suppression (NMS) в некоторых конфигурациях. Улучшения "v2" сосредоточены на гибком backbone и улучшенных стратегиях обучения для дальнейшего снижения задержки при сохранении высокой средней точности (mAP).

Сильные и слабые стороны

Основным преимуществом RTDETRv2 является ее точность в сложных сценах с перекрытиями благодаря глобальному пониманию контекста. Она часто превосходит CNN аналогичного масштаба по mAP. Однако это достигается ценой: модели-трансформеры, как известно, требуют большого объема памяти во время обучения и могут медленнее сходиться. Для эффективного обучения им обычно требуются более мощные GPU по сравнению с CNN, такими как YOLOv7.

Узнайте больше о RT-DETR

Сравнение производительности: Метрики и анализ

В следующей таблице представлено сопоставительное сравнение ключевых показателей производительности. В то время как RTDETRv2-x достигает превосходной точности, модели YOLOv7 часто обеспечивают конкурентное преимущество в скорости инференса на определенных конфигурациях оборудования благодаря своей CNN-native конструкции.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Понимание компромиссов

При выборе между этими архитектурами учитывайте оборудование, на котором будет производиться развертывание. Трансформеры, такие как RTDETRv2, часто требуют специальных оптимизаций TensorRT для достижения максимальной скорости на NVIDIA GPU, в то время как CNN, такие как YOLOv7, обычно эффективно работают на более широком спектре оборудования с меньшей настройкой.

Методология обучения и ресурсы

Методологии обучения существенно различаются между двумя архитектурами. YOLOv7 использует стандартный стохастический градиентный спуск (SGD) или оптимизаторы Adam с акцентом на конвейеры расширения данных, такие как Mosaic. Он относительно эффективен по памяти, что делает возможным обучение на графических процессорах среднего уровня.

В отличие от этого, RTDETRv2 требует более ресурсоемкого режима обучения. Механизмы самообслуживания в трансформерах масштабируются квадратично с длиной последовательности (размером изображения), что приводит к более высокому использованию VRAM. Пользователям часто требуются высокопроизводительные NVIDIA GPU с большими объемами памяти (например, A100), чтобы эффективно обучать более крупные варианты RT-DETR. Кроме того, трансформерам обычно требуются более длительные графики обучения (больше эпох) для сходимости по сравнению с CNN.

В то время как 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 — от управления данными до развертывания.

Изучите другие сравнения моделей

Чтобы получить больше информации для принятия решения, изучите эти дополнительные технические сравнения:


Комментарии