RTDETRv2 против YOLOv6.0: высокоточные трансформаторы, отвечающие требованиям промышленной скорости
Выбор оптимальной архитектуры обнаружения объектов часто связан с поиском компромисса между абсолютной точностью и задержкой вывода. В этом техническом сравнении рассматриваются RTDETRv2, модель на основе трансформатора зрения, предназначенная для решения высокоточных задач, и YOLOv6.0, детектор на основе CNN, разработанный специально для повышения скорости и эффективности работы в промышленности. Анализируя их архитектуры, показатели производительности и характеристики развертывания, мы поможем вам выбрать лучшее решение для ваших приложений компьютерного зрения.
RTDETRv2: Расширение границ с помощью трансформаторов зрения
RTDETRv2 (Real-Time Detection Transformer v2) представляет собой значительную эволюцию в области обнаружения объектов, используя возможности трансформаторов для улавливания глобального контекста в изображениях. В отличие от традиционных CNN, которые обрабатывают локальные признаки, RTDETRv2 использует механизмы самовнимания для понимания взаимосвязей между удаленными объектами, что делает его очень эффективным для сложных сцен.
Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu
Organization:Baidu
Date: 2023-04-17 (Initial), 2024-07-24 (v2)
Arxiv:RT-DETR: DETRs Beat YOLOs on Real-time Object Detection
GitHub:RT-DETR Repository
Docs:RTDETRv2 Documentation
Архитектурные инновации
Архитектура RTDETRv2 представляет собой гибридную конструкцию. В ней используется стандартная основа CNN (обычно ResNet или HGNet) для первоначального извлечения признаков, а затем кодер-декодер с трансформатором. Такая структура позволяет модели эффективно обрабатывать разномасштабные признаки, избавляя ее от необходимости использовать такие компоненты ручной работы, как якорные блоки и немаксимальное подавление (NMS).
Преимущество трансформатора
Компоненты Vision Transformer (ViT) в RTDETRv2 отлично справляются с неоднозначными ситуациями в многолюдных сценах. Анализируя весь контекст изображения одновременно, модель снижает количество ложных срабатываний, вызванных окклюзией или фоновыми помехами.
Сильные и слабые стороны
Преимущества:
- Превосходная точность: Как правило, достигается более высокая средняя точность (mAP) на таких наборах данных, как COCO по сравнению с аналогичными по размеру CNN.
- Безъякорная конструкция: Упрощает конвейер обнаружения за счет удаления якорных блоков, уменьшая настройку гиперпараметров.
- Глобальный контекст: Отлично справляется с обнаружением объектов в плотном или запутанном окружении, где локальные признаки недостаточны.
Слабые стороны:
- Вычислительные затраты: Требуется значительно больше FLOP и памяти GPU , особенно во время обучения.
- Латентность: Несмотря на "реальное время", он в целом уступает оптимизированным CNN, таким как YOLOv6 , в скорости вычислений на эквивалентном оборудовании.
- Голодание данных: Для сходимости трансформационных моделей часто требуются большие наборы обучающих данных и более длительные графики обучения.
YOLOv6.0: Индустриальный спидстер
YOLOv6.0, разработанный компанией Meituan, полностью ориентирован на потребности промышленных приложений: низкая задержка и высокая пропускная способность. Он совершенствует классическую парадигму одноэтапного детектора объектов для достижения максимальной эффективности на аппаратном обеспечении от граничных устройств до графических процессоров.
Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
Organization:Meituan
Date: 2023-01-13
Arxiv:YOLOv6 v3.0: Полномасштабная перезагрузка
GitHub:YOLOv6 Repository
Docs:Ultralytics YOLOv6 Docs
Оптимизировано для эффективности
В YOLOv6.0 реализована философия "аппаратно-ориентированного" дизайна. В ней используется эффективная репараметризационная магистраль (в стиле RepVGG), которая сводит сеть к простому стеку сверток 3x3 во время вывода, устраняя многоразветвленную сложность. Кроме того, в процессе обучения используются методы саморасщепления, позволяющие повысить точность без увеличения стоимости вычислений.
Сильные и слабые стороны
Преимущества:
- Исключительная скорость: Обеспечивает очень низкую задержку, что делает его идеальным для высокоскоростных производственных линий и робототехники.
- Удобство развертывания: перепараметризованную структуру легко экспортировать в такие форматы, как ONNX и TensorRT для достижения максимальной производительности.
- Аппаратная эффективность: Оптимизировано для полного использования вычислительных блоков GPU и минимизации времени простоя.
Слабые стороны:
- Потолок точности: Несмотря на свою конкурентоспособность, в очень сложных визуальных сценариях он может не дотягивать до пиковой точности моделей на основе трансформаторов.
- Ограниченная универсальность: Ориентирован в основном на обнаружение, не поддерживает такие задачи, как сегментация объектов или оценка позы, которые встречаются в новых фреймворках.
Анализ производительности: Скорость против точности
Выбор между RTDETRv2 и YOLOv6.0 часто сводится к конкретным ограничениям среды развертывания. RTDETRv2 доминирует в сценариях, требующих максимальной точности, в то время как YOLOv6.0 выигрывает по скорости и эффективности.
В следующей таблице представлены основные показатели. Обратите внимание, что YOLOv6.0 достигает более низкой задержки (более высокой скорости) при схожих масштабах модели, в то время как RTDETRv2 стремится к более высоким показателям mAP за счет интенсивности вычислений (FLOPs).
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Обучение и потребности в ресурсах
При разработке пользовательских моделей опыт обучения существенно отличается.
- Использование памяти: RTDETRv2 требует значительного объема VRAM GPU из-за квадратичной сложности механизмов внимания. Для обучения вариантов "Large" или "X-Large" часто требуются высокопроизводительные корпоративные графические процессоры. В отличие от этого, модели Ultralytics YOLO и YOLOv6 в целом более экономичны по объему памяти, что позволяет проводить обучение на оборудовании потребительского класса или небольших облачных инстансах.
- Конвергенция: Модели на основе трансформаторов обычно требуют более длительных эпох для изучения пространственных иерархий, которые CNN улавливают интуитивно, что потенциально увеличивает затраты на облачные вычисления.
Идеально сбалансированный: Преимущество Ultralytics
В то время как RTDETRv2 и YOLOv6.0 отлично зарекомендовали себя в своих нишах, Ultralytics YOLO11 предлагает единое решение, которое устраняет недостатки обоих. Он сочетает в себе простоту использования и скорость CNN с усовершенствованиями архитектуры, превосходящими по точности трансформаторы.
Почему разработчики и исследователи все чаще отдают предпочтение моделям Ultralytics :
- Универсальность: В отличие от YOLOv6, который предназначен только для обнаружения, Ultralytics поддерживает классификацию изображений, сегментацию, оценку положения и обнаружение ориентированных границ (Oriented Bounding Box, OBB) в рамках одного API.
- Хорошо поддерживаемая экосистема: Платформа Ultralytics обеспечивает частые обновления, широкую поддержку сообщества и бесшовную интеграцию с такими инструментами, как MLflow, TensorBoard и Ultralytics HUB.
- Простота использования: Благодаря философии "низкого кода" вы можете обучать, проверять и развертывать самые современные модели с помощью всего нескольких строк Python или команд CLI .
- Баланс производительности: 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.0 - впечатляющие вехи в истории компьютерного зрения. RTDETRv2 - отличный выбор для исследований и сценариев, где точность является абсолютным приоритетом, независимо от вычислительных затрат. YOLOv6.0 отлично подходит для промышленного сектора, предлагая экстремальную скорость для контролируемых сред.
Однако для большинства реальных приложений требуется надежное, универсальное и простое в развертывании решение, Ultralytics YOLO11 является лучшим выбором. Сочетание передовой производительности, малого объема памяти и развитой экосистемы позволяет разработчикам уверенно и быстро переходить от прототипов к производству.
Изучите другие модели
Узнайте, как сравниваются различные архитектуры, чтобы найти идеальный вариант для вашего проекта: