RTDETRv2 и YOLOv9#
В области компьютерного зрения наблюдается интересное расхождение архитектурных подходов, главным образом между свёрточными нейронными сетями (CNN) и моделями на основе Transformer. При сравнении RTDETRv2 и YOLOv9 разработчики фактически оценивают компромисс между механизмами глобального внимания и программируемой градиентной информацией. Обе модели представляют вершину своих архитектурных парадигм и раздвигают границы обнаружения объектов в реальном времени.
Введение в модели#
RTDETRv2: Transformer для обнаружения объектов в реальном времени#
Разработанный исследователями из Baidu, RTDETRv2 развивает оригинальный RT-DETR, добавляя набор бесплатных улучшений ("Bag-of-Freebies") для совершенствования базового Transformer для обнаружения объектов в реальном времени. Он устраняет традиционное узкое место Transformer — скорость инференса, — делая их пригодными для приложений реального времени.
- Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang и Yi Liu
- Организация: Baidu
- Дата: 2024-07-24
- Ссылки: Arxiv, GitHub
Определяющая характеристика RTDETRv2 — нативный дизайн без NMS с поддержкой сквозной обработки. Полностью устраняя подавление немаксимумов (NMS) на этапе постобработки, модель стабилизирует задержку инференса и упрощает конвейер развёртывания. Механизм глобального внимания позволяет модели превосходно справляться с анализом сложных сцен и плотных скоплений людей, поскольку она одновременно оценивает контекст всего изображения.
YOLOv9: программируемая информация о градиентах#
YOLOv9 — высокоэффективная архитектура на основе CNN, устраняющая проблему информационного узкого места, характерную для глубоких нейронных сетей. В ней представлены программируемая градиентная информация (PGI) и обобщённая эффективная сеть агрегации слоёв (GELAN).
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica
- Дата: 21 февраля 2024 г.
- Ссылки: Arxiv, GitHub
YOLOv9 опирается на проверенную основу в виде свёрточной нейронной сети, но максимально повышает эффективность использования параметров. Сохраняя важную информацию в процессе прямого распространения, модель обеспечивает надёжное обновление весов, благодаря чему получается чрезвычайно лёгкая и при этом высокоточная модель. Однако, в отличие от RTDETRv2, YOLOv9 по-прежнему использует стандартную постобработку NMS.
Производительность и эффективность использования ресурсов#
При оценке этих моделей для использования в production критически важно сбалансировать среднюю точность (mAP) и вычислительные затраты. В таблице ниже показана их производительность на датасете MS 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Требования к памяти и эффективность обучения#
Transformer, такие как RTDETRv2, печально известны высокой требовательностью к памяти во время обучения: для их полной сходимости часто требуется значительный объём памяти CUDA и более длительные графики обучения. Напротив, архитектуры CNN, такие как YOLOv9 и другие модели Ultralytics YOLO, потребляют значительно меньше памяти, позволяя разработчикам обучать модели с большими размерами пакетов на оборудовании потребительского класса.
Чтобы максимально эффективно использовать оборудование, рассмотрите платформу Ultralytics для оптимизированного облачного обучения. Она автоматически настраивает окружение и подбирает оптимальный размер пакета.
Преимущества Ultralytics: экосистема и удобство использования#
Изучение отдельных репозиториев, таких как официальные страницы RTDETRv2 или YOLOv9 на GitHub, может быть очень полезным, однако production-среды требуют стабильности, простоты использования и хорошо поддерживаемой экосистемы. Интеграция этих моделей через Python API Ultralytics обеспечивает удобный интерфейс для разработчиков.
Унифицированный API и универсальность#
Фреймворк Ultralytics абстрагирует сложности загрузки данных, аугментаций и распределённого обучения. Кроме того, если оригинальный RTDETRv2 ориентирован исключительно на обнаружение объектов, экосистема Ultralytics позволяет легко переключаться между обнаружением объектов, сегментацией экземпляров и оценкой позы.
from ultralytics import RTDETR, YOLO
# Train a YOLOv9 model on custom data
model_yolo = YOLO("yolov9c.pt")
model_yolo.train(data="coco8.yaml", epochs=50, imgsz=640)
# Easily switch to RT-DETR for complex scene evaluation
model_rtdetr = RTDETR("rtdetr-l.pt")
results = model_rtdetr.predict("https://ultralytics.com/images/bus.jpg")
# Export to production-ready formats like TensorRT
model_yolo.export(format="engine")Благодаря подробной документации, автоматическому отслеживанию экспериментов и удобным возможностям экспорта в такие форматы, как ONNX, TensorRT и OpenVINO, Ultralytics значительно сокращает путь от прототипа до production.
Идеальные сценарии использования#
Где RTDETRv2 особенно эффективен#
Благодаря механизму глобального внимания RTDETRv2 отлично подходит для обработки на сервере и сред, где глобальный контекст имеет первостепенное значение. Он особенно эффективен в следующих задачах:
- Медицинская визуализация: выявление тонких аномалий, при котором критически важен окружающий контекст.
- Аэровидеонаблюдение: обнаружение небольших объектов на видеозаписях с дронов в высоком разрешении без пространственных смещений, характерных для традиционных свёрток CNN.
- Анализ плотных скоплений людей: отслеживание людей в условиях сильного перекрытия, которое обычно сбивает с толку модели на основе anchor boxes.
Где YOLOv9 особенно эффективен#
YOLOv9 — оптимальный выбор для периферийных развёртываний с ограниченными ресурсами. Его вычислительная эффективность делает его идеальным для следующих задач:
- Робототехника: навигация в реальном времени и обход препятствий, где требуется минимальная задержка.
- IoT для умных городов: развёртывание на периферийных устройствах, таких как NVIDIA Jetson, для мониторинга дорожного движения.
- Промышленный контроль: высокоскоростной контроль качества на сборочных линиях, требующий высокой частоты кадров (FPS).
Будущее: встречайте Ultralytics YOLO26#
Хотя YOLOv9 и RTDETRv2 представляют собой значительный шаг вперёд, ландшафт стремительно изменился. Для современных развёртываний недавно выпущенная Ultralytics YOLO26 воплощает оптимальное сочетание обеих архитектурных философий.
Объединив лучшие стороны Transformer и CNN, YOLO26 устанавливает новый стандарт:
- Сквозной дизайн без NMS: как и RTDETRv2, YOLO26 изначально поддерживает сквозную обработку, полностью устраняя постобработку NMS и обеспечивая более быстрые, простые и предсказуемые конвейеры развёртывания.
- Оптимизатор MuSGD: вдохновлённый методами обучения больших языковых моделей (LLM), такими как Kimi K2 от Moonshot AI, YOLO26 использует комбинацию SGD и Muon. Это обеспечивает беспрецедентную стабильность обучения и быструю сходимость в задачах компьютерного зрения.
- До 43% более быстрый инференс на CPU: в отличие от тяжёлых Transformer, YOLO26 тщательно оптимизирован для периферийных вычислений и устройств без GPU.
- Удаление DFL: удаление Distribution Focal Loss значительно упрощает граф модели, обеспечивая безупречный экспорт на маломощные периферийные устройства и встроенные нейропроцессоры (NPU).
- ProgLoss + STAL: эти улучшенные функции потерь значительно повышают качество распознавания небольших объектов — это критически важно для датасетов IoT и аэрофотосъёмки.
Командам, которые хотят начать новый проект в области компьютерного зрения, мы настоятельно рекомендуем оценить YOLO26. Он сочетает элегантность Transformer без NMS с высокой скоростью и эффективностью обучения тщательно оптимизированной архитектуры YOLO.
Итоги#
Выбор между RTDETRv2 и YOLOv9 во многом зависит от оборудования, на котором будет выполняться развёртывание, и конкретных требований к точности. RTDETRv2 обеспечивает передовую точность и понимание контекста для приложений с серверной поддержкой, тогда как YOLOv9 отличается эффективностью на периферийных устройствах.
Однако благодаря зрелой экосистеме Ultralytics разработчики могут без труда экспериментировать с обеими моделями. Кроме того, с появлением новых моделей, таких как YOLO11, и нативной сквозной обработки в YOLO26 найти идеальный баланс между быстрым инференсом, поддержкой различных задач и низким потреблением памяти стало проще, чем когда-либо.