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) на этапе постобработки стабилизирует задержку инференса и упрощает конвейер развертывания. Благодаря механизму глобального внимания модель эффективно понимает сложные сцены и плотные скопления объектов, одновременно оценивая контекст всего изображения.
YOLOv9: программируемая информация о градиентах#
Высокоэффективная архитектура YOLOv9 на базе CNN решает проблему информационного узкого места, свойственную глубоким нейронным сетям. В ней используются программируемая градиентная информация (PGI) и обобщенная сеть агрегации эффективных слоев (GELAN).
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информатики Академии Синика
- Дата: 21 февраля 2024 года
- Ссылки: Arxiv, GitHub
YOLOv9 опирается на проверенную основу сверточных нейронных сетей, обеспечивая при этом максимальную эффективность использования параметров. Сохранение важных данных во время прямого прохода позволяет надежно обновлять веса и создавать очень легкую, но при этом высокоточную модель. Однако, в отличие от RTDETRv2, YOLOv9 по-прежнему использует стандартную постобработку NMS.
Производительность и эффективность использования ресурсов#
При оценке моделей для промышленной эксплуатации важно сопоставлять среднюю точность (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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.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 стало проще, чем когда-либо, найти оптимальный баланс между быстрым инференсом, поддержкой разных задач и низким потреблением памяти.