Ultralytics YOLO27:
Get Started

RTDETRv2 и YOLOv9#

В области компьютерного зрения заметно расходятся подходы к архитектуре — прежде всего между сверточными нейронными сетями (CNN) и моделями на базе Transformer. Сравнивая RTDETRv2 и YOLOv9, разработчики по сути оценивают компромисс между механизмами глобального внимания и программируемой градиентной информацией. Обе модели представляют собой вершину своих подходов и расширяют возможности обнаружения объектов в реальном времени.

Знакомство с моделями#

RTDETRv2: Transformer для обнаружения в реальном времени#

Разработанная исследователями Baidu, RTDETRv2 развивает оригинальную RT-DETR и добавляет подход «Bag-of-Freebies», улучшающий базовую модель Real-Time Detection 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

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

При оценке моделей для промышленной эксплуатации важно сопоставлять среднюю точность (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.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5

Требования к памяти и эффективность обучения#

Во время обучения Transformer, например RTDETRv2, потребляют очень много памяти и зачастую требуют значительного объема памяти CUDA и более длительного обучения для полной сходимости. Напротив, архитектуры CNN, такие как YOLOv9 и другие модели Ultralytics YOLO, используют гораздо меньше памяти, позволяя разработчикам обучать модели с большими размерами пакетов на потребительском оборудовании.

Эффективное обучение

Чтобы максимально эффективно использовать оборудование, воспользуйся платформой Ultralytics для удобного облачного обучения. Платформа автоматически настраивает среду и подбирает оптимальный размер пакета.

Преимущества Ultralytics: экосистема и простота использования#

Изучение отдельных репозиториев, например официальных страниц RTDETRv2 или YOLOv9 на GitHub, может быть полезным, но для промышленной эксплуатации нужны стабильность, простота использования и хорошо поддерживаемая экосистема. Интеграция этих моделей через API Ultralytics для Python обеспечивает удобную работу разработчика.

Единый API и универсальность#

Фреймворк Ultralytics избавляет от необходимости разбираться в сложностях загрузки данных, аугментации и распределенного обучения. Кроме того, если оригинальная RTDETRv2 предназначена только для обнаружения объектов, экосистема Ultralytics позволяет легко переключаться между обнаружением объектов, сегментацией экземпляров и оценкой позы.

from ultralytics import RTDETR, YOLO

# Обучить модель YOLOv9 на собственных данных
model_yolo = YOLO("yolov9c.pt")
model_yolo.train(data="coco8.yaml", epochs=50, imgsz=640)

# Легко переключайся на RT-DETR для оценки сложных сцен
model_rtdetr = RTDETR("rtdetr-l.pt")
results = model_rtdetr.predict("https://ultralytics.com/images/bus.jpg")

# Экспортируй в готовые к промышленному использованию форматы, например TensorRT
model_yolo.export(format="engine")

Благодаря подробной документации, автоматическому отслеживанию экспериментов и удобным возможностям экспорта в такие форматы, как ONNX, TensorRT и OpenVINO, Ultralytics значительно сокращает путь от прототипа до готового продукта.

Оптимальные сценарии применения#

В чём RTDETRv2 особенно хорош#

Благодаря механизму глобального внимания RTDETRv2 отлично подходит для обработки на сервере и сред, где особенно важен глобальный контекст. Он эффективен в таких задачах:

  • Медицинская визуализация: выявление малозаметных аномалий, для обнаружения которых важен окружающий контекст.
  • Аэронаблюдение: обнаружение мелких объектов на видео с дронов высокого разрешения без пространственных смещений, характерных для традиционных свёрточных слоёв CNN.
  • Анализ плотных скоплений людей: отслеживание людей в условиях сильного перекрытия объектов, которое обычно сбивает с толку модели на основе якорей.

В чём YOLOv9 особенно хорош#

YOLOv9 отлично подходит для развёртывания на периферийных устройствах с ограниченными ресурсами. Благодаря вычислительной эффективности эта модель оптимальна для таких задач:

  • Робототехника: навигация в реальном времени и обход препятствий, где необходима минимальная задержка.
  • IoT в умном городе: установка на периферийные устройства, например NVIDIA Jetson, для мониторинга дорожного движения.
  • Промышленный контроль: контроль качества на высокоскоростных сборочных линиях, требующий высокой частоты кадров (FPS).

Будущее: встречай Ultralytics YOLO26#

Хотя YOLOv9 и RTDETRv2 стали значительным шагом вперёд, сфера быстро развивается. Для современных развёртываний недавно выпущенная Ultralytics YOLO26 представляет собой оптимальное сочетание двух архитектурных подходов.

Объединив лучшие стороны трансформеров и CNN, YOLO26 задаёт новый стандарт:

  • Сквозная архитектура без NMS: как и RTDETRv2, YOLO26 поддерживает встроенный сквозной инференс и пропускает постобработку NMS с помощью nms=False, что упрощает конвейеры развёртывания, ускоряет их работу и делает её более предсказуемой.
  • Оптимизатор MuSGD: вдохновлённый методами обучения больших языковых моделей (LLM), например Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Это обеспечивает компьютерному зрению исключительную стабильность обучения и быстрое схождение.
  • Инференс на CPU до 43% быстрее: в отличие от ресурсоёмких трансформеров, YOLO26 специально оптимизирована для периферийных вычислений и устройств без GPU.
  • Удаление DFL: удаление Distribution Focal Loss значительно упрощает граф модели и обеспечивает безупречный экспорт на маломощные периферийные устройства и встроенные нейропроцессоры (NPU).
  • ProgLoss + STAL: эти улучшенные функции потерь значительно повышают точность распознавания мелких объектов — это особенно важно для IoT и аэрофотосъёмки.

Командам, которые начинают новый проект в области компьютерного зрения, мы настоятельно рекомендуем оценить YOLO26. Эта модель сочетает элегантность трансформера с возможностью отключить NMS и высокую скорость и эффективность обучения тщательно оптимизированной архитектуры YOLO.

Итоги#

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

Однако зрелая экосистема Ultralytics позволяет разработчикам без труда экспериментировать и с YOLOv9, и с оригинальной RT-DETR. Кроме того, с появлением новых моделей, таких как YOLO11, и изначально сквозной YOLO26 стало проще, чем когда-либо, найти оптимальный баланс между быстрым инференсом, поддержкой разных задач и низким потреблением памяти.

Комментарии