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

RTDETRv2 и YOLOv6-3.0: высокоточные трансформеры, отвечающие требованиям промышленной скорости

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

RTDETRv2: расширяя границы с помощью Vision Transformers

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

Авторы: Веню Лв, Йиан Чжао, Циняо Чанг, Куи Хуанг, Гуанжонг Ванг и Йи Лиу
Организация:Baidu
Дата: 2023-04-17 (Первоначальный), 2024-07-24 (v2)
Arxiv:RT-DETR: DETRs Beat YOLOs on Real-time Object Detection
GitHub:Репозиторий RT-DETR
Документация:Документация RTDETRv2

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

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

Архитектура RTDETRv2 представляет собой гибридную конструкцию. Она использует стандартный CNN backbone (обычно ResNet или HGNet) для начального извлечения признаков, за которым следует transformer encoder-decoder. Эта структура позволяет модели эффективно обрабатывать многомасштабные признаки, устраняя при этом необходимость в компонентах, созданных вручную, таких как anchor boxes и Non-Maximum Suppression (NMS).

Преимущества Transformer

Компоненты Vision Transformer (ViT) в RTDETRv2 превосходно справляются с устранением неоднозначностей в перегруженных сценах. Анализируя контекст всего изображения одновременно, модель уменьшает количество ложных срабатываний, вызванных окклюзией или фоновым шумом.

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

Преимущества:

  • Превосходная точность: Обычно достигает более высокого среднего значения точности (mAP) на наборах данных, таких как COCO, по сравнению с CNN аналогичного размера.
  • Дизайн без Anchor: Упрощает конвейер detect, удаляя anchor boxes, уменьшая настройку гиперпараметров.
  • Глобальный контекст: Отлично подходит для detect объектов в плотных или запутанных средах, где локальных признаков недостаточно.

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

  • Computational Cost: Требует значительно больше FLOPs и памяти GPU, особенно во время обучения.
  • Задержка (Latency): Будучи "в реальном времени", она, как правило, уступает оптимизированным CNN, таким как YOLOv6, в скорости необработанного инференса на эквивалентном оборудовании.
  • Нехватка данных: Модели Transformer часто требуют больших наборов данных для обучения и более длительных графиков обучения для сходимости.

YOLOv6-3.0: Промышленный скоростной

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

Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдан Ке, Сяомин Сюй и Сянсян Чу
Организация:Meituan
Дата: 2023-01-13
Arxiv:YOLOv6 v3.0: A Full-Scale Reloading
GitHub:Репозиторий YOLOv6
Документация:Документация Ultralytics YOLOv6

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

Оптимизировано для эффективности

YOLOv6-3.0 включает в себя философию проектирования, "учитывающую особенности оборудования". Он использует эффективный Reparameterization Backbone (в стиле RepVGG), который упрощает сеть в простой стек сверток 3x3 во время inference, устраняя сложность многокомпонентности. Кроме того, он использует методы самодистилляции во время обучения для повышения точности без увеличения стоимости inference.

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

Преимущества:

  • Исключительная скорость: Обеспечивает очень низкую задержку, что делает его идеальным для высокоскоростных производственных линий и робототехники.
  • Удобство развертывания: Репараметризованную структуру легко экспортировать в такие форматы, как ONNX и TensorRT для максимальной производительности.
  • Аппаратная эффективность: Оптимизировано для полного использования вычислительных блоков GPU, минимизируя время простоя.

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

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

Анализ производительности: Скорость vs. Точность

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

В следующей таблице сопоставляются ключевые метрики. Обратите внимание, как YOLOv6-3.0 достигает более низкой задержки (более высокой скорости) при аналогичных масштабах модели, в то время как RTDETRv2 стремится к более высоким показателям mAP за счет вычислительной интенсивности (FLOPs).

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
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 требует значительного объема GPU VRAM из-за квадратичной сложности механизмов внимания. Обучение вариантов "Large" или "X-Large" часто требует высокопроизводительных корпоративных GPU. В отличие от этого, модели Ultralytics YOLO и YOLOv6, как правило, более эффективно используют память, что позволяет проводить обучение на оборудовании потребительского класса или небольших облачных инстансах.
  • Сходимость: Моделям на основе Transformer обычно требуется больше эпох для изучения пространственных иерархий, которые CNN улавливают интуитивно, что потенциально увеличивает затраты на облачные вычисления.

Идеальный баланс: Преимущество Ultralytics

В то время как RTDETRv2 и YOLOv6-3.0 превосходны в своих нишах, Ultralytics YOLO11 предлагает унифицированное решение, которое устраняет ограничения обоих. Он сочетает в себе простоту использования и скорость CNN с усовершенствованиями архитектуры, которые конкурируют с точностью transformer.

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

Почему разработчики и исследователи все чаще предпочитают модели Ultralytics:

  1. Универсальность: В отличие от YOLOv6, которая предназначена исключительно для обнаружения, Ultralytics поддерживает классификацию изображений, сегментацию, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB) в рамках одного API.
  2. Хорошо поддерживаемая экосистема: Платформа Ultralytics предоставляет частые обновления, широкую поддержку сообщества и простую интеграцию с такими инструментами, как MLflow, TensorBoard и Ultralytics HUB.
  3. Простота использования: Благодаря философии «минимум кода» вы можете обучать, проверять и развертывать современные модели, используя всего несколько строк кода на Python или команд в CLI.
  4. Баланс производительности: YOLO11 обеспечивает оптимальное сочетание скорости инференса в реальном времени и высокой точности, часто превосходя старые версии YOLO и соответствующие сложным трансформерам в практических сценариях.

Пример кода

Оцените простоту API Ultralytics. В следующем примере показано, как загрузить предварительно обученную модель и запустить логический вывод на изображении:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model (n=nano, s=small, m=medium, l=large, x=xlarge)
model = YOLO("yolo11n.pt")

# Run inference on a local image
results = model("path/to/image.jpg")

# Process results
for result in results:
    result.show()  # Display results on screen
    result.save(filename="result.jpg")  # Save results to disk

Заключение

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

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

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

Узнайте, как сравнить различные архитектуры, чтобы найти идеальный вариант для вашего проекта:


Комментарии