Ultralytics YOLO27:

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) на этапе постобработки, модель стабилизирует задержку инференса и упрощает конвейер развёртывания. Механизм глобального внимания позволяет модели превосходно справляться с анализом сложных сцен и плотных скоплений людей, поскольку она одновременно оценивает контекст всего изображения.

Узнай больше о RTDETRv2

YOLOv9: программируемая информация о градиентах#

YOLOv9 — высокоэффективная архитектура на основе CNN, устраняющая проблему информационного узкого места, характерную для глубоких нейронных сетей. В ней представлены программируемая градиентная информация (PGI) и обобщённая эффективная сеть агрегации слоёв (GELAN).

YOLOv9 опирается на проверенную основу в виде свёрточной нейронной сети, но максимально повышает эффективность использования параметров. Сохраняя важную информацию в процессе прямого распространения, модель обеспечивает надёжное обновление весов, благодаря чему получается чрезвычайно лёгкая и при этом высокоточная модель. Однако, в отличие от RTDETRv2, YOLOv9 по-прежнему использует стандартную постобработку NMS.

Узнай больше о YOLOv9

Производительность и эффективность использования ресурсов#

При оценке этих моделей для использования в production критически важно сбалансировать среднюю точность (mAP) и вычислительные затраты. В таблице ниже показана их производительность на датасете MS COCO.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.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 найти идеальный баланс между быстрым инференсом, поддержкой различных задач и низким потреблением памяти стало проще, чем когда-либо.

Комментарии