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

YOLOv6-3.0 vs RTDETRv2: Баланс между промышленной скоростью и точностью Transformer

Выбор оптимальной архитектуры для detectирования объектов часто включает в себя компромисс между задержкой inference и точностью detectирования. В этом техническом сравнении рассматриваются два различных подхода к этой задаче: YOLOv6-3.0, модель на основе CNN, разработанная Meituan для промышленной скорости, и RTDETRv2, архитектура Vision Transformer (ViT) от Baidu, разработанная для обеспечения точности трансформеров в приложениях реального времени.

YOLOv6-3.0

Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu и Xiangxiang Chu
Организация: Meituan
Дата: 2023-01-13
Arxiv: YOLOv6 v3.0: A Full-Scale Reloading
GitHub: meituan/YOLOv6
Документация: Ultralytics YOLOv6 Documentation

YOLOv6-3.0 представляет собой значительную эволюцию в линейке одноэтапных детекторов, специально разработанную для промышленных применений, где эффективность оборудования имеет первостепенное значение. Он вводит «полную перезагрузку» архитектуры, включая расширенные стратегии слияния функций и обучения для максимизации пропускной способности на GPU.

Архитектура и ключевые особенности

Архитектура YOLOv6-3.0 ориентирована на удобный для оборудования дизайн. Она использует эффективный Reparameterization Backbone (RepBackbone), который позволяет модели иметь сложные возможности извлечения признаков во время обучения, сворачиваясь в оптимизированную структуру для вывода. Ключевые архитектурные инновации включают:

  • Двунаправленное объединение (BiC): Модуль в neck, который повышает точность объединения признаков без значительных вычислительных затрат.
  • Обучение с использованием якорей (AAT): Стратегия, сочетающая преимущества anchor-based и anchor-free парадигм на этапе обучения для стабилизации сходимости.
  • Самодистилляция: Фреймворк использует цикл обучения «учитель-ученик», где модель учится на своих собственных предсказаниях, повышая точность без увеличения размера модели.

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

  • Промышленная эффективность: Модель явно оптимизирована для развертывания TensorRT, обеспечивая исключительно низкую задержку на NVIDIA GPUs.
  • Низкая задержка на границе: Благодаря специальным вариантам "Lite" он хорошо работает на мобильных CPU устройствах, что делает его подходящим для ручных промышленных сканеров.
  • Поддержка квантования: Он имеет надежную поддержку квантования с учетом обучения (QAT), предотвращая значительную потерю точности при переходе к точности INT8.

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

  • Ограничение задачи: YOLOv6 в основном предназначен для обнаружения ограничивающих рамок. Ему не хватает встроенной поддержки сложных задач, таких как оценка позы или обнаружение ориентированных ограничивающих рамок (OBB), которые есть в более универсальных фреймворках.
  • Сложность обучения: Зависимость от самодистилляции и специализированных этапов репараметризации может сделать конвейер обучения более хрупким и трудным для настройки по сравнению со стандартными моделями YOLO.

Идеальные варианты использования

  • Высокоскоростное производство: Detect дефектов на быстро движущихся конвейерных лентах, где критична задержка в миллисекунды.
  • Embedded Robotics: Навигационные системы на платформах, таких как NVIDIA Jetson, где вычислительные ресурсы строго ограничены.

Узнайте больше о YOLOv6-3.0

RTDETRv2

Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
Организация: Baidu
Дата: 2023-04-17 (Оригинал), 2024-07-24 (v2)
Arxiv: RT-DETRv2: Improved Baseline with Bag-of-Freebies
GitHub: lyuwenyu/RT-DETR
Документация: Ultralytics RT-DETR Documentation

RTDETRv2 (Real-Time Detection Transformer v2) бросает вызов доминированию CNN, доказывая, что transformers могут достигать скорости реального времени. Он основывается на парадигме DETR (Detection Transformer), но решает проблемы медленной сходимости и высоких вычислительных затрат, обычно связанных с механизмами внимания.

Архитектура и ключевые особенности

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

  • Эффективный гибридный энкодер: Разделяет взаимодействие внутри масштаба и межмасштабное слияние для снижения вычислительных затрат.
  • Выбор запросов с учетом IoU: Выбирает высококачественные начальные запросы объектов из выходных данных энкодера, улучшая инициализацию декодера и ускоряя сходимость.
  • Дизайн без Anchor: Устраняет необходимость в постобработке Non-Maximum Suppression (NMS), упрощая конвейер развертывания и уменьшая изменчивость задержки в переполненных сценах.

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

  • Глобальное восприятие контекста: Механизм само-внимания позволяет модели "видеть" изображение целиком, что приводит к улучшенному detect объектов с перекрытиями, по сравнению с CNN, которые полагаются на локальные рецептивные поля.
  • Высокий потолок точности: Он стабильно достигает более высоких показателей mAP на наборе данных COCO для заданного масштаба модели по сравнению со многими аналогами CNN.
  • Без NMS: Отсутствие NMS делает время inference более детерминированным, что является значительным преимуществом для систем реального времени.

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

  • Интенсивность использования памяти: Transformer требуют значительно больше VRAM во время обучения и инференса из-за квадратичной сложности матриц внимания (хотя RT-DETR это оптимизирует).
  • Нехватка данных: Vision Transformers обычно требуют больших наборов данных и более длительных графиков обучения для полной сходимости по сравнению с CNN, такими как YOLOv6.

Идеальные варианты использования

  • Сложные сцены дорожного движения: Обнаружение пешеходов и транспортных средств в плотных, хаотичных средах, где часто встречаются перекрытия.
  • Автономное вождение: Приложения, требующие высокой надежности восприятия, где стоимость пропущенного обнаружения перевешивает стоимость немного более высоких требований к оборудованию.

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

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

В следующей таблице сравнивается производительность YOLOv6-3.0 и RTDETRv2. В то время как RTDETRv2 расширяет границы точности, YOLOv6-3.0 сохраняет преимущество в скорости инференса, особенно в масштабе "Nano".

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Анализ

  • Скорость и точность: Параметр YOLOv6-3.0n невероятно легок (вывод занимает 1,17 мс), что делает его бесспорным лидером для оборудования с крайне ограниченными ресурсами. Однако, если приоритетом является точность, RTDETRv2-s предлагает значительно более высокий mAP (48.1), чем YOLOv6-3.0s (45.0), хотя и почти вдвое больше времени inference (5.03 мс против 2.66 мс).
  • Поведение при масштабировании: По мере увеличения размера модели разрыв сужается. RTDETRv2-l (53.4 mAP) превосходит YOLOv6-3.0l (52.8 mAP), имея при этом меньше параметров (42M против 59.6M), демонстрируя эффективность параметров архитектуры transformer, хотя FLOP остаются сопоставимыми.
  • Аппаратные последствия: Преимущество YOLOv6 заключается в его чистой структуре CNN, которая очень непосредственно отображается на аппаратные ускорители. RTDETRv2 требует аппаратного обеспечения, которое может эффективно обрабатывать матричные умножения и операции внимания, чтобы реализовать свою теоретическую скорость.

Рекомендации по развертыванию

При развертывании на периферийных устройствах помните, что «Параметры» не всегда идеально коррелируют со скоростью. Хотя RTDETRv2 может иметь меньше параметров в некоторых конфигурациях, шаблоны доступа к ее памяти (внимание) могут быть медленнее на устаревшем оборудовании по сравнению с высокооптимизированными свертками YOLOv6.

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

Ландшафт обучения для этих двух моделей значительно различается, что влияет на ресурсы, необходимые для разработки.

YOLOv6-3.0 следует стандартным практикам deep learning для CNN. Она выигрывает от более коротких графиков обучения (обычно 300-400 эпох) и более низкого потребления памяти GPU. Такие методы, как self-distillation, обрабатываются внутри, но добавляют уровень сложности в расчет функции потерь.

RTDETRv2, будучи основанным на transformerах, обычно требует больше памяти CUDA во время обучения. Квадратичная сложность механизма внимания по отношению к размеру изображения означает, что размеры пакетов часто необходимо уменьшать или использовать более мощные GPU. Кроме того, transformerы часто выигрывают от более длительных горизонтов обучения, чтобы полностью изучить пространственные отношения без индуктивных смещений.

Преимущество Ultralytics

Несмотря на то, что YOLOv6 и RTDETR предлагают убедительные функции для конкретных ниш, Ultralytics YOLO11 предоставляет унифицированное решение, которое уравновешивает лучшее из обоих миров. Оно объединяет эффективность CNN с современными архитектурными усовершенствованиями, которые конкурируют с точностью transformer, и все это в рамках экосистемы, разработанной для повышения производительности разработчиков.

Почему стоит выбрать модели Ultralytics?

  • Простота использования: Ultralytics предоставляет Pythonic API, который абстрагирует сложности обучения и развертывания. Вы можете обучить современную модель в три строки кода.
  • Баланс производительности: YOLO11 разработан для обеспечения оптимального компромисса. Он обеспечивает скорость инференса в реальном времени, сравнимую с YOLOv6, достигая при этом уровней точности, которые бросают вызов RTDETR, без огромных накладных расходов на память, связанных с трансформерами.
  • Универсальность: В отличие от YOLOv6 (только detect), модели Ultralytics изначально поддерживают Instance Segmentation, Pose Estimation, Classification и Oriented Bounding Box (OBB) detect.
  • Хорошо поддерживаемая экосистема: Благодаря частым обновлениям, обширной документации и поддержке сообщества вы никогда не останетесь отлаживать в одиночку.
  • Эффективность обучения: Модели Ultralytics славятся своими эффективными конвейерами обучения, позволяющими быстро выполнять итерации даже на скромном оборудовании.
from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train on COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with a single command
results = model("path/to/image.jpg")

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

Заключение

И YOLOv6-3.0, и RTDETRv2 являются впечатляющими достижениями в компьютерном зрении. YOLOv6-3.0 — это прагматичный выбор для строго промышленных конвейеров, где оборудование фиксировано и скорость является единственным важным показателем. RTDETRv2 — отличный выбор для исследований и высокопроизводительных приложений, где точность в сложных сценах имеет решающее значение, а аппаратные ресурсы в изобилии.

Однако, для подавляющего большинства реальных приложений, Ultralytics YOLO11 остается превосходным выбором. Она обеспечивает «золотую середину» производительности, универсальности и простоты использования, что ускоряет путь от концепции до производства. Независимо от того, являетесь ли вы исследователем, нуждающимся в быстрых экспериментах, или инженером, развертывающим тысячи периферийных устройств, экосистема Ultralytics предоставляет инструменты для обеспечения успеха.

Изучите другие модели

Если вам интересны дальнейшие сравнения, изучите эти ресурсы в документации Ultralytics:


Комментарии