RTDETRv2 и YOLOX#
Разработчики систем обнаружения объектов в реальном времени могут выбирать из множества архитектур. Среди примечательных вариантов — трансформерная модель RTDETRv2 и сверточная нейронная сеть (CNN) YOLOX. Обе модели продвинули обнаружение объектов в реальном времени, но используют принципиально разные подходы к распознаванию изображений.
В этом руководстве рассматриваются архитектура, показатели производительности и оптимальные сценарии развертывания обеих моделей, а также показано, как Ultralytics YOLO26 развивает эти идеи, обеспечивая более высокую точность и эффективность, а также простоту использования.
RTDETRv2: Transformer для обнаружения объектов в реальном времени#
Созданная как преемница оригинальной модели RT-DETR, RTDETRv2 использует трансформерную архитектуру для обнаружения объектов в реальном времени. Отказ от необходимости применять подавление немаксимумов (NMS) упрощает конвейер инференса.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Статья на arXiv, официальный репозиторий на GitHub, документация
Архитектура и конструкция#
RTDETRv2 использует механизмы самовнимания трансформеров, чтобы учитывать глобальный контекст всего изображения и напрямую предсказывать ограничивающие рамки и вероятности классов. Многоуровневые признаки помогают модели распознавать небольшие объекты в загруженных сценах.
Хотя Transformer хорошо улавливают глобальный контекст, объём вычислений для механизмов self-attention растёт квадратично с увеличением длины последовательности. Поэтому во время обучения они часто потребляют значительно больше памяти CUDA, чем традиционные CNN.
Преимущества и недостатки#
Главное преимущество RTDETRv2 — изначально сквозная архитектура. Отказ от NMS позволяет избежать скачков задержки, связанных с большим количеством перекрывающихся предсказаний. Однако трансформерные блоки требуют значительных вычислительных ресурсов и больших мощностей GPU как для обучения, так и для развертывания, поэтому модель хуже подходит для периферийных устройств с ограниченными ресурсами и старого мобильного оборудования.
YOLOX: развитие CNN без якорей#
YOLOX была создана, чтобы сократить разрыв между академическими исследованиями и промышленным применением. Она привнесла в популярное семейство моделей YOLO разделённую голову и архитектуру без якорей.
- Авторы: Чжэн Гэ, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: Megvii
- Дата: 18 июля 2021 года
- Ссылки: Статья на arXiv, официальный репозиторий на GitHub, документация
Архитектура и конструкция#
YOLOX отходит от традиционных детекторов на основе якорей и предсказывает местоположение объектов напрямую, без заранее заданных якорных рамок. Это упрощает архитектуру сети и сокращает число эвристических параметров настройки, необходимых для достижения оптимальной производительности. Кроме того, в YOLOX используется разделенная голова, которая разделяет задачи классификации и регрессии и ускоряет сходимость при обучении.
Преимущества и недостатки#
Благодаря безъякорной архитектуре YOLOX подходит для различных задач компьютерного зрения и проще обучается на пользовательских наборах данных. Самые компактные варианты, например YOLOX-Nano, подходят для мобильных устройств и маломощных устройств Интернета вещей. Однако YOLOX появилась раньше детекторов без NMS и по-прежнему использует NMS на этапе постобработки, что усложняет развертывание и увеличивает задержку в насыщенных сценах.
Сравнение производительности и метрик#
В таблице ниже сравниваются скорость, точность (mAP) и эффективность использования параметров для моделей разных размеров на наборе данных COCO.
| Модель | размер (пиксели) | 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
RTDETRv2 точнее при любом сопоставимом размере модели. RTDETRv2-x достигает 54.3 mAP против 51.1 у YOLOXx и также работает быстрее на GPU T4 (15.03 мс против 16.1 мс), используя меньше параметров (76M против 99.1M). Преимущество YOLOX — в компактных моделях: YOLOXs выполняет инференс за 2.56 мс с 9.0M параметров (40.5 mAP), а YOLOX-Nano и YOLOX-Tiny предлагают варианты менее чем с 6M параметров, которых нет у RTDETRv2.
Преимущества Ultralytics: знакомство с YOLO26#
Во многих проектах нужна одна модель, сочетающая высокую точность, быстрый инференс и доступную экосистему. Для этого и создана Ultralytics YOLO26, выпущенная в январе 2026 года.
Ключевые нововведения YOLO26#
- Сквозная архитектура без NMS: Опираясь на обучение без NMS, которое YOLOv10 внедрила в модели YOLO, YOLO26 предлагает дополнительную голову без NMS (
nms=False). Она обеспечивает сквозной инференс RTDETRv2 без высокого потребления памяти трансформерами. - Оптимизатор MuSGD: гибридный оптимизатор MuSGD, вдохновленный обучением больших языковых моделей (LLM) и сочетающий SGD и Muon, стабилизирует обучение и ускоряет сходимость.
- Инференс на CPU до 43% быстрее: удаление модуля Distribution Focal Loss (DFL) упрощает голову для периферийных вычислений и маломощных устройств, благодаря чему YOLO26n работает на CPU (ONNX) до 43% быстрее, чем YOLO11n.
- ProgLoss + STAL: Progressive Loss и назначение меток с учетом небольших объектов (STAL) улучшают распознавание мелких объектов — распространенную проблему аэросъемки и робототехнических приложений.
Универсальность и экосистема#
Помимо чистой производительности, Ultralytics Platform охватывает весь путь от данных до промышленной эксплуатации. В отличие от неизменяемых академических репозиториев, модели Ultralytics активно развиваются и поддерживают множество задач через единый API. Независимо от того, выполняешь ли ты сегментацию экземпляров, оценку позы или обнаружение ориентированных ограничивающих рамок (OBB), рабочий процесс остается одинаковым.
Модели Ultralytics YOLO также требуют мало памяти при обучении и инференсе, поэтому исследователи могут использовать на обычном пользовательском оборудовании более крупные размеры пакетов, чем позволяют требовательные к памяти трансформерные архитектуры.
Пример кода для обучения#
Для обучения модели YOLO26 достаточно нескольких строк кода, а пакет Ultralytics берет на себя загрузку данных и настройку гиперпараметров по умолчанию.
from ultralytics import YOLO
# Initialize the YOLO26 Nano model
model = YOLO("yolo26n.pt")
# Train the model on the standard COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16)
# Validate the model's performance
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")
# Export to ONNX or TensorRT for rapid deployment
model.export(format="engine", device=0)Применение в реальном мире и подходящие сценарии использования#
Выбор подходящей архитектуры зависит от ограничений развертывания и доступного оборудования.
Высокоточная облачная обработка#
Если приложение работает на мощных серверных GPU и для него важна максимальная точность — например, при анализе плотных толп или обработке медицинских изображений высокого разрешения, — механизмы внимания RTDETRv2 могут быть эффективны.
Развертывание на устаревших периферийных устройствах#
Для старых мобильных телефонов или сильно ограниченного встроенного оборудования, где необходимо минимальное число FLOPs, компактная YOLOX-Nano (0.91M параметров, 1.08B FLOPs) остается подходящим запасным вариантом благодаря простой архитектуре CNN.
Современный стандарт: AIoT и робототехника#
Для большинства современных задач, включая инфраструктуру умного города, аналитику розничной торговли и автономную навигацию, рекомендуется Ultralytics YOLO26. Инференс YOLO26n на CPU до 43% быстрее, чем у YOLO11n, что подходит для периферийных вычислений, а опциональная голова без NMS обеспечивает низкую и стабильную задержку. Документация Ultralytics и активное сообщество также помогают командам быстро перейти от разметки набора данных к развертыванию.
Используй Ultralytics Platform для управления наборами данных, обучения моделей в облаке и масштабного развертывания.
Среди других моделей Ultralytics стоит рассмотреть YOLOv8 с широкой поддержкой интеграций сообщества и YOLOv5, которая остается стабильной в устаревших конвейерах. Для новых проектов рекомендуется начать с YOLO26.