RTDETRv2 и PP-YOLOE+: техническое сравнение трансформеров и CNN
Ландшафт object detection значительно эволюционировал, разветвляясь на различные архитектурные философии. С одной стороны, у нас есть устоявшаяся эффективность сверточных нейронных сетей (CNN), а с другой — растущая мощь Vision Transformers (ViTs). В этом сравнении исследуются две известные модели, разработанные Baidu: RTDETRv2 (Real-Time Detection Transformer v2) и PP-YOLOE+.
В то время как PP-YOLOE+ представляет собой вершину усовершенствованного обнаружения без привязки к якорям на основе CNN в экосистеме PaddlePaddle, RTDETRv2 расширяет границы, адаптируя архитектуру Transformer для приложений реального времени. Понимание нюансов между ними — от их дизайна нейронной сети до требований к развертыванию — необходимо инженерам, выбирающим правильный инструмент для своих проектов в области компьютерного зрения.
RTDETRv2: эволюция Transformer
RTDETRv2 основывается на успехе оригинального RT-DETR, стремясь решить проблему высоких вычислительных затрат, обычно связанных с моделями на основе DETR, сохраняя при этом их превосходное понимание глобального контекста. Он разработан, чтобы преодолеть разрыв между высокой точностью transformers и скоростью, необходимой для инференса в реальном времени.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация:Baidu
- Дата: 2023-04-17 (Оригинальная RT-DETR), последующие обновления v2
- Arxiv:https://arxiv.org/abs/2304.08069
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Архитектура и ключевые особенности
RTDETRv2 использует гибридный энкодер, который эффективно обрабатывает многомасштабные признаки. В отличие от традиционных CNN, которые в значительной степени полагаются на локальные свертки, архитектура transformer использует self-attention механизмы для захвата зависимостей на большом расстоянии по всему изображению. Ключевым нововведением является выбор запросов, учитывающий IoU, который улучшает инициализацию объектных запросов, что приводит к более быстрой сходимости и лучшей точности. Кроме того, он устраняет необходимость в постобработке Non-Maximum Suppression (NMS), делая конвейер действительно сквозным.
Сильные и слабые стороны
Преимущества:
- Глобальный контекст: Механизм внимания позволяет модели понимать взаимосвязи между удаленными частями изображения, превосходно проявляя себя в загроможденных сценах или там, где контекст жизненно важен.
- Сквозная логика: Отказ от NMS упрощает конвейер развертывания и устраняет гиперпараметр, который часто требует ручной настройки.
- Высокая точность: Как правило, он достигает более высокой средней точности (mAP) на наборах данных, таких как COCO, по сравнению с CNN аналогичного масштаба.
Слабые стороны:
- Интенсивность использования ресурсов: Несмотря на оптимизацию, transformers по своей сути потребляют больше CUDA памяти и требуют более мощных GPU для обучения по сравнению с эффективными CNN.
- Сложность обучения: Сходимость может быть медленнее, а рецепт обучения часто более чувствителен к гиперпараметрам, чем стандартные модели YOLO.
PP-YOLOE+: Мощный CNN без привязки к якорям
PP-YOLOE+ — это эволюция серии YOLO, разработанная специально для фреймворка PaddlePaddle. Он фокусируется на практическом развертывании, оптимизируя компромисс между скоростью inference и accuracy detect с использованием чистой архитектуры CNN.
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- Arxiv:https://arxiv.org/abs/2203.16250
- GitHub:https://github.com/PaddlePaddle/PaddleDetection/
Архитектура и ключевые особенности
PP-YOLOE+ имеет CSPRepResNet backbone и path aggregation network (PAN) neck. Важно отметить, что он использует head без anchor, что упрощает конструкцию, устраняя необходимость в предопределенных anchor boxes. Модель использует Task Alignment Learning (TAL), динамическую стратегию назначения меток, которая обеспечивает хорошую синхронизацию задач классификации и локализации, улучшая качество окончательных прогнозов.
Сильные и слабые стороны
Преимущества:
- Скорость инференса: Как модель на основе CNN, она хорошо оптимизирована для скорости, особенно на периферийном оборудовании, где операции свертки хорошо ускорены.
- Упрощенная конструкция: Безъякорный характер уменьшает количество гиперпараметров и необходимых инженерных эвристик.
- Сбалансированная производительность: Предлагает конкурентное соотношение точности и скорости, что делает его подходящим для промышленных приложений общего назначения.
Слабые стороны:
- Зависимость от фреймворка: Глубокая привязка к экосистеме PaddlePaddle может создать трудности для команд, работающих в основном в рабочих процессах PyTorch или TensorFlow.
- Локальные рецептивные поля: Несмотря на эффективность, CNN испытывают больше трудностей, чем transformers, при захвате глобального контекста в очень сложных визуальных сценах.
Анализ производительности: Точность vs. Эффективность
Выбор между RTDETRv2 и PP-YOLOE+ часто сводится к конкретным ограничениям среды развертывания. Если аппаратное обеспечение допускает более высокие вычислительные затраты, RTDETRv2 предлагает превосходные возможности detect. И наоборот, для строго ограниченных сценариев инференса в реальном времени PP-YOLOE+ остается сильным претендентом.
| Модель | размер (пиксели) | 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 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Анализ данных:
- Точность: Самая большая модель PP-YOLOE+x достигает наивысшего mAP (54.7), опережая RTDETRv2-x. Однако, если посмотреть на средние и большие размеры, RTDETRv2 обычно обеспечивает более высокую точность для каждого уровня модели.
- Задержка (Latency): PP-YOLOE+s — король скорости здесь, показывающий 2.62 мс на TensorRT, что подчеркивает эффективность архитектур CNN для легких задач.
- Вычисления: Модели RTDETRv2 обычно требуют меньше параметров, чем их прямые аналоги PP-YOLOE+ (например, RTDETRv2-x имеет 76M параметров против 98M у PP-YOLOE+x), однако архитектура transformer часто приводит к более высоким FLOPs и потреблению памяти во время работы.
Преимущество Ultralytics: Почему разработчики выбирают YOLO11
Несмотря на то, что изучение таких моделей, как RTDETRv2 и PP-YOLOE+, дает представление о различных архитектурных подходах, большинству разработчиков требуется решение, которое сбалансирует производительность с удобством использования и поддержкой экосистемы. Именно здесь Ultralytics YOLO11 превосходит все ожидания.
Ultralytics YOLO11 — это не просто модель; это часть комплексной платформы vision AI, разработанной для оптимизации всего жизненного цикла операций машинного обучения (MLOps).
Основные преимущества моделей Ultralytics
- Простота использования: В отличие от сложной конфигурации, часто требуемой для исследовательских моделей-трансформеров или инструментов, специфичных для фреймворка, таких как PaddleDetection, Ultralytics предлагает опыт "Zero-to-Hero". Вы можете обучить современную модель в несколько строк кода Python.
- Эффективность памяти: Модели на основе трансформеров, такие как RTDETRv2, печально известны своей прожорливостью к памяти, требуя значительного объема памяти CUDA для обучения. Модели Ultralytics YOLO оптимизированы для эффективности, что позволяет проводить обучение на GPU потребительского класса и развертывание на периферийных устройствах, таких как Raspberry Pi или Jetson Nano.
- Универсальность: В то время как PP-YOLOE+ и RTDETRv2 в первую очередь ориентированы на обнаружение, YOLO11 изначально поддерживает широкий спектр задач, включая сегментацию экземпляров, оценку позы, классификацию и обнаружение ориентированных объектов (OBB).
- Хорошо поддерживаемая экосистема: Благодаря частым обновлениям, обширной документации и огромному сообществу, Ultralytics гарантирует, что вы никогда не столкнетесь с отсутствием поддержки или устаревшими зависимостями.
- Эффективность обучения: Ultralytics предоставляет легкодоступные предварительно обученные веса и надежные конвейеры аугментации данных, которые помогают моделям быстрее сходиться с меньшим количеством данных.
Оптимизация памяти
Обучение моделей-трансформеров часто требует высокопроизводительных GPU с объемом VRAM 24 ГБ и более. В отличие от этого, модели Ultralytics YOLO11 хорошо оптимизированы и часто могут быть точно настроены на стандартных GPU с объемом VRAM всего 8 ГБ, что значительно снижает порог входа для разработчиков и стартапов.
Простая реализация с Ultralytics
Следующий код демонстрирует, насколько легко обучать и развертывать модель с помощью Ultralytics Python API, подчеркивая удобный дизайн по сравнению с более сложными академическими репозиториями.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
# This handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
# Returns a list of Result objects with boxes, masks, keypoints, etc.
results = model("path/to/image.jpg")
# Export the model to ONNX for deployment
model.export(format="onnx")
Вывод: делаем правильный выбор
При принятии решения между RTDETRv2, PP-YOLOE+ и Ultralytics YOLO11 следует руководствоваться конкретными требованиями вашего приложения.
- Выберите RTDETRv2, если вы проводите академические исследования или работаете с высококлассным оборудованием, где максимизация точности в сложных, загроможденных сценах является единственным важным показателем, и вы можете позволить себе более высокие затраты на обучение.
- Выберите PP-YOLOE+, если вы глубоко интегрированы в экосистему Baidu/PaddlePaddle и вам нужен надежный детектор на основе CNN, который эффективно работает на конкретном поддерживаемом оборудовании.
- Выберите Ultralytics YOLO11 для подавляющего большинства коммерческих и практических приложений. Его превосходный баланс скорости, точности и эффективности использования памяти в сочетании с поддержкой сегментации и отслеживания делает его наиболее продуктивным выбором для разработчиков. Простота развертывания в таких форматах, как TensorRT, CoreML и OpenVINO, гарантирует, что ваша модель сможет работать где угодно, от облака до периферии.
Изучите другие сравнения моделей
Чтобы лучше понять, как эти архитектуры соотносятся с другими ведущими решениями, изучите эти подробные сравнения:
- RT-DETR против YOLOv8
- YOLO11 vs. YOLOv10
- PP-YOLOE+ vs. YOLOv8
- RT-DETR против EfficientDet
- YOLO11 против YOLOX