RTDETRv2 и YOLOv10#
Развитие компьютерного зрения во многом обусловлено постоянным стремлением найти баланс между скоростью и точностью. Традиционные конвейеры обнаружения объектов в реальном времени используют подавление немаксимумов (NMS) на этапе постобработки для фильтрации перекрывающихся ограничивающих рамок. Однако NMS увеличивает задержку и усложняет настройку гиперпараметров. В последнее время появились два принципиально разных подхода к решению этой проблемы на уровне архитектуры: модели на базе Transformer, например RTDETRv2, и модели на базе CNN, например YOLOv10.
В этом руководстве подробно сравниваются технические характеристики двух моделей, анализируются их архитектура, показатели производительности и оптимальные сценарии применения. Также мы расскажем, как новейшие разработки в экосистеме Ultralytics помогают добиться наилучших результатов при современном развертывании.
RTDETRv2: Transformer для обнаружения объектов в реальном времени#
RTDETRv2 развивает архитектуру оригинальной модели RT-DETR, объединяя понимание глобального контекста, свойственное Vision Transformer, со скоростью работы в реальном времени, которой традиционно отличаются модели YOLO.
Основные характеристики:
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Архитектура и методики обучения#
RTDETRv2 использует сквозную архитектуру на базе Transformer, которая изначально не требует NMS. По сравнению с предшественницей в ней реализован подход «Bag-of-Freebies», оптимизирующий стратегию обучения и добавляющий возможности многоуровневого обнаружения. Сначала модель использует основу CNN для извлечения карт признаков — визуальных деталей, таких как края и текстуры, — а затем обрабатывает их с помощью структуры кодировщика-декодировщика Transformer. Это позволяет одновременно анализировать весь контекст изображения и эффективно распознавать сложные сцены с плотно расположенными или перекрывающимися объектами.
Преимущества и недостатки#
Преимущества:
- Глобальный контекст: Механизм внимания помогает модели эффективно работать в сложных и загроможденных сценах.
- Без NMS: модель напрямую предсказывает координаты объектов, упрощая конвейер развертывания.
- Высокая точность: модель обеспечивает отличное значение средней точности (mAP) на наборе данных COCO.
Недостатки:
- Высокие требования к ресурсам: архитектуры на базе Transformer обычно требуют значительно больше памяти CUDA во время обучения, чем CNN, поэтому их тонкая настройка на стандартном оборудовании обходится дорого.
- Непостоянная скорость инференса: несмотря на высокую скорость, интенсивные вычисления внимания могут снижать частоту кадров в компьютерном зрении на периферийных устройствах без специализированных ускорителей ИИ.
YOLOv10: сквозное обнаружение объектов в реальном времени#
YOLOv10 существенно меняет подход к развитию семейства моделей YOLO для обнаружения объектов, напрямую устраняя давнее узкое место NMS на уровне архитектуры CNN.
Основные характеристики:
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
Архитектура и методики обучения#
Главное нововведение YOLOv10 — согласованные двойные назначения для обучения без NMS. Во время обучения используются две головы обнаружения: первая применяет назначение «один ко многим», как в традиционных моделях YOLO, и обеспечивает богатый сигнал для обучения, а вторая — назначение «один к одному», устраняющее необходимость в NMS. Во время инференса используется только голова «один к одному», благодаря чему процесс становится сквозным. Кроме того, авторы применили комплексную стратегию проектирования модели с учетом эффективности и точности, оптимизировав различные компоненты и сократив избыточные вычисления.
Преимущества и недостатки#
Преимущества:
- Максимальная скорость: благодаря отказу от NMS и оптимизации архитектуры YOLOv10 обеспечивает очень низкую задержку инференса.
- Эффективность: для достижения точности, сопоставимой с другими моделями, требуется меньше параметров и FLOPs, что делает модель особенно подходящей для сред с ограниченными ресурсами.
- Развертывание без NMS: упрощает интеграцию в периферийные приложения, например в системы умного видеонаблюдения.
Недостатки:
- Концепция первого поколения: YOLOv10 стала первой моделью YOLO с такой архитектурой без NMS. Она заложила основу для дальнейшей разработки, но в ней еще не было универсальности для множества задач и оптимизаций, появившихся в последующих моделях, таких как YOLO11 и YOLO26.
Сравнение производительности#
При оценке моделей для промышленной эксплуатации важно находить баланс между точностью и вычислительными затратами. В таблице ниже показаны компромиссы производительности для различных размеров RTDETRv2 и YOLOv10.
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
RTDETRv2 обеспечивает высокую точность, но YOLOv10 заметно выигрывает по задержке и эффективности использования параметров. Особенно это заметно у малых вариантов (Nano и Small), что делает их привлекательными для задач периферийных вычислений и AIoT.
Если ты используешь серверные GPU, где размер пакета и объем видеопамяти не так сильно ограничены, большие модели (например, -x или -l) обеспечат максимальную точность. Для периферийных устройств, таких как Raspberry Pi и мобильные телефоны, выбирай нано- (-n) или малые (-s) варианты, чтобы сохранить частоту кадров в реальном времени.
Сценарии использования и рекомендации#
Выбор между RT-DETR и YOLOv10 зависит от конкретных требований проекта, ограничений развертывания и предпочтительной экосистемы.
Когда выбрать RT-DETR#
RT-DETR — отличный выбор для:
- Исследований обнаружения на основе Transformer: Проектов, в которых изучаются механизмы внимания и архитектуры Transformer для сквозного обнаружения объектов без NMS.
- Сценариев с высокой точностью и гибкими требованиями к задержке: Приложений, где точность обнаружения важнее всего, а немного большая задержка инференса допустима.
- Обнаружения крупных объектов: Сцен, в которых преобладают объекты среднего и крупного размера, а механизм глобального внимания Transformer даёт естественное преимущество.
Когда выбирать YOLOv10#
YOLOv10 рекомендуется для таких задач:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics: знакомство с YOLO26#
RTDETRv2 и YOLOv10 предлагают интересные научные разработки, но их практическое применение требует надежной и хорошо поддерживаемой программной экосистемы. Платформа Ultralytics обеспечивает непревзойденный опыт разработки: ей легко пользоваться, в ней есть подробная документация и мощные инструменты для аннотирования данных и развертывания.
Разработчикам, которым нужна самая современная модель в 2026 году, мы однозначно рекомендуем Ultralytics YOLO26. Она объединяет лучшие идеи обеих архитектур и предлагает революционные улучшения:
- Сквозная архитектура без NMS: развивая концепцию, впервые представленную в YOLOv10, YOLO26 предлагает опциональную голову «один к одному» (
nms=False), которая пропускает постобработку NMS. Это упрощает логику развертывания, ускоряет его и обеспечивает более стабильную задержку. - Отказ от DFL: благодаря исключению Distribution Focal Loss YOLO26 упрощает экспорт модели и значительно повышает совместимость с периферийными устройствами и устройствами с низким энергопотреблением.
- Оптимизатор MuSGD: этот новый оптимизатор сочетает SGD и Muon и вдохновлен новыми подходами к обучению LLM. По сравнению с традиционными методами он обеспечивает более стабильное обучение и значительно более быструю сходимость.
- Инференс на CPU до 43% быстрее: тщательная оптимизация для сред без специализированных GPU делает высокопроизводительный ИИ для компьютерного зрения доступным для большего числа пользователей.
- ProgLoss + STAL: эти современные функции потерь заметно улучшают распознавание мелких объектов, что важно для применения дронов и датчиков IoT.
- Непревзойденная универсальность: в отличие от моделей, ограниченных обнаружением объектов по ограничивающим рамкам, YOLO26 поддерживает полный набор задач, включая сегментацию экземпляров, оценку позы, классификацию изображений и обнаружение OBB. Для отдельных задач предусмотрены специальные улучшения, например оценка остаточного логарифмического правдоподобия (RLE) для позы.
Простая реализация на Python#
Обучение и развертывание этих моделей с помощью API Ultralytics для Python не требует лишних усилий. По сравнению с архитектурами, активно использующими Transformer, во время обучения нужно значительно меньше памяти, поэтому мощные модели можно обучать на стандартном оборудовании.
from ultralytics import YOLO
# Загрузить передовую модель YOLO26 (рекомендуется)
# В качестве альтернативы загрузи модель YOLOv10 с помощью YOLO('yolov10n.pt')
model = YOLO("yolo26n.pt")
# Обучи модель на собственном датасете
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Легко экспортировать модель в разные форматы для развертывания на периферийных устройствах
model.export(format="onnx", simplify=True)Будь то внедрение систем охранной сигнализации или анализ медицинских изображений, выбор модели, которую поддерживает активное сообщество Ultralytics, обеспечит тебя нужными инструментами, руководствами по настройке гиперпараметров и регулярными обновлениями. YOLOv10 и RTDETRv2 проложили путь архитектурам без NMS, а YOLO26 доводит эту концепцию до совершенства, предлагая оптимальный баланс производительности, универсальности и готовности к промышленной эксплуатации.