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

YOLOv6.0 против RTDETRv2: Баланс между промышленной скоростью и точностью трансформатора

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

YOLOv6.0

Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
Organization: Meituan
Дата: 2023-01-13
Arxiv: YOLOv6 v3.0: A Full-Scale Reloading
GitHub: YOLOv6
Docs: Ultralytics YOLOv6 Documentation

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

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

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

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

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

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

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

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

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

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

Узнайте больше о YOLOv6.0

RTDETRv2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.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), хотя и с почти вдвое большим временем вывода (5,03 мс против 2,66 мс).
  • Масштабное поведение: С увеличением размера модели разрыв сокращается. RTDETRv2-l (53,4 mAP) превосходит YOLOv6-3.0l (52,8 mAP) при меньшем количестве параметров (42M против 59,6M), что демонстрирует параметрическую эффективность архитектуры трансформатора, хотя количество FLOP остается сопоставимым.
  • Аппаратные возможности: Преимущество YOLOv6 заключается в его чистой структуре CNN, которая напрямую связана с аппаратными ускорителями. Для реализации теоретической скорости RTDETRv2 требуется аппаратное обеспечение, способное эффективно обрабатывать матричные умножения и операции внимания.

Соображения по развертыванию

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

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

Условия обучения для этих двух моделей существенно различаются, что влияет на ресурсы, необходимые для разработки.

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

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

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

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

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

  • Простота использования: Ultralytics предоставляет Pythonic API, который абстрагирует от сложностей обучения и развертывания. Вы можете обучить самую современную модель за три строки кода.
  • Баланс производительности: YOLO11 разработан таким образом, чтобы предложить оптимальный компромисс. Он обеспечивает скорость вывода в реальном времени, сравнимую с YOLOv6 , и при этом достигает точности, превосходящей RTDETR, без огромных затрат памяти на трансформаторы.
  • Универсальность: В отличие от YOLOv6 (только обнаружение), модели Ultralytics поддерживают сегментацию объектов, оценку позы, классификацию и обнаружение ориентированных границ (Oriented Bounding Box, OBB).
  • Хорошо поддерживаемая экосистема: Благодаря частым обновлениям, обширной документации и поддержке сообщества вы никогда не останетесь один на один с отладкой.
  • Эффективность обучения: Модели 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.0, и RTDETRv2 - впечатляющие достижения в области компьютерного зрения. YOLOv6.0 - прагматичный выбор для строго промышленных конвейеров, где аппаратное обеспечение фиксировано, а скорость - единственный параметр, который имеет значение. RTDETRv2 - отличный выбор для исследований и приложений высокого класса, где точность в сложных сценах критически важна, а аппаратных ресурсов предостаточно.

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

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

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


Комментарии