YOLOv9 против RTDETRv2: Техническое сравнение для обнаружения объектов
Выбор подходящей архитектуры обнаружения объектов является ключевым решением при разработке компьютерного зрения, часто требующим от разработчиков взвешивать компромиссы между точностью, задержкой вывода и вычислительными затратами. Данный анализ предоставляет всестороннее техническое сравнение между YOLOv9оптимизированной для эффективности архитектуры на основе CNN, и RTDETRv2, модели на основе трансформаторов, предназначенной для высокоточного обнаружения.
YOLOv9: переосмысление эффективности CNN
YOLOv9 Представляет собой значительную эволюцию в серии You Only Look OnceYOLO), сфокусированную на решении проблемы узкого места в информации, присущей глубоким нейронным сетям. Благодаря внедрению новых архитектурных концепций она достигает самой высокой производительности, сохраняя при этом малый вес, характерный для семейства YOLO .
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Академия Синика, Тайвань
- Дата: 21.02.2024
- Arxiv:arXiv:2402.13616
- GitHub:WongKinYiu/yolov9
- Документация:ДокументацияUltralytics YOLOv9
Архитектура ядра
В YOLOv9 представлены две основные инновации: Программируемая информация о градиенте (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN). PGI решает проблему потери информации при распространении данных через глубокие слои, обеспечивая сохранение достоверной информации о градиенте при обновлении модели. GELAN оптимизирует использование параметров, позволяя модели достигать более высокой точности при меньшем количестве операций с плавающей запятой (FLOP) по сравнению с традиционными конволюционными архитектурами.
Интеграция экосистемы Ultralytics
YOLOv9 полностью интегрирован в экосистему Ultralytics , предоставляя разработчикам беспрепятственный доступ к инструментам обучения, проверки и развертывания. Эта интеграция гарантирует, что пользователи смогут использовать тот же простой API, который используется для YOLO11 и YOLOv8что значительно снижает барьер входа для решения сложных задач компьютерного зрения.
RTDETRv2: Трансформер Челленджер
RTDETRv2 опирается на успех трансформатора обнаружения в реальном времениRT-DETR), совершенствуя базовую модель для улучшения динамической обработки масштаба и стабильности обучения. Модель, основанная на трансформации, использует механизмы самовнимания для захвата глобального контекста, что может быть полезно для различения объектов в сложных сценах.
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация:Baidu
- Дата: 2024-07-24
- Arxiv:arXiv:2407.17140
- GitHub:РепозиторийRT-DETR на GitHub
Архитектура ядра
В отличие от CNN, которые обрабатывают изображения по локальным участкам, RTDETRv2 использует трансформаторную основу для обработки характеристик изображения. Такой подход позволяет модели понимать взаимосвязи между удаленными частями изображения, что потенциально повышает точность в загроможденном окружении. Однако такой механизм глобального внимания обычно связан с большими затратами памяти и вычислительных ресурсов, особенно в процессе обучения.
Сравнение производительности
Ниже представлены показатели производительности моделей различных размеров на наборе данныхCOCO . Сравнение сосредоточено на средней точностиmAP), скорости вывода и вычислительной сложности.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ метрик
- Пиковая точность: Модель YOLOv9e достигает замечательной точности 55,6 % mAP, превосходя самую большую модель RTDETRv2-x (54,3 % mAP). Это свидетельствует о том, что архитектурные инновации в YOLOv9 эффективно сокращают разрыв между CNN и трансформерами, даже превосходя их по точности на высшем уровне.
- Эффективность: YOLOv9 неизменно обеспечивает более высокую производительность на один параметр. Например, YOLOv9c достигает 53,0% mAP всего с 25,3M параметрами и 102,1B FLOPs, в то время как сопоставимый RTDETRv2-l требует 42M параметров и 136B FLOPs для достижения 53,4% mAP. Такая эффективность делает YOLOv9 значительно легче для хранения и быстрее для выполнения.
- Скорость вывода: в приложениях реального времени скорость имеет решающее значение. Меньшие варианты YOLOv9 , такие как YOLOv9t, обеспечивают чрезвычайно низкую задержку (2,3 мс на TensorRT), что делает их идеальными для развертывания пограничного ИИ, где модели RTDETRv2 могут оказаться слишком тяжелыми.
Эффективность обучения и экосистема
Одним из наиболее важных факторов для разработчиков является простота обучения и ресурсы, необходимые для точной настройки моделей на пользовательских наборах данных.
Требования к памяти
Модели на основе трансформеров, такие как RTDETRv2, печально известны высоким потреблением памяти во время обучения из-за квадратичной сложности механизмов самовнушения. Это часто приводит к необходимости использования высокопроизводительных корпоративных графических процессоров с большим объемом VRAM. В отличие от этого, YOLOv9 сохраняет эффективность использования памяти CNN, что позволяет проводить обучение на оборудовании потребительского класса. Такой низкий барьер для входа демократизирует доступ к современному обнаружению объектов.
Преимущество Ultralytics
Выбор модели в экосистемеUltralytics дает неоспоримые преимущества, которые не ограничиваются только показателями производительности:
- Простота использования: API Ultralytics Python абстрагирует сложные циклы обучения в несколько строк кода.
- Хорошо поддерживаемая экосистема: Частые обновления обеспечивают совместимость с последними версиями PyTorch , форматами экспортаONNX, TensorRT, CoreML) и драйверами оборудования.
- Универсальность: Хотя RTDETRv2 - это в первую очередь детектор объектов, фреймворк Ultralytics поддерживает широкий спектр задач, включая сегментацию объектов, оценку позы и обнаружение ориентированных ограничительных рамок (OBB) во всех семействах моделей.
Пример кода
Обучение YOLOv9 очень простое, если использовать пакет Ultralytics . Следующий фрагмент кода демонстрирует, как загрузить предварительно обученную модель и обучить ее на пользовательском наборе данных:
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Возможность экспорта
Модели Ultralytics можно легко экспортировать в различные форматы для развертывания. Например, экспорт в ONNX для более широкой совместимости:
model.export(format="onnx")
Идеальные варианты использования
Когда выбирать YOLOv9
YOLOv9 - это рекомендуемый выбор для большинства приложений компьютерного зрения, особенно там, где требуется баланс скорости, точности и эффективности использования ресурсов.
- Пограничное развертывание: Такие устройства, как NVIDIA Jetson или Raspberry Pi, выигрывают от меньшего количества FLOP и параметров YOLOv9.
- Видеоаналитика в реальном времени: Системы безопасности и мониторинга трафика требуют высокой частоты кадров, которую обеспечивает YOLOv9 .
- Обучение в условиях ограниченных ресурсов: Команды, не имеющие доступа к массивным кластерам GPU , могут отлаживать самые современные модели.
Когда стоит обратить внимание на RTDETRv2
RTDETRv2 подходит для нишевых сценариев, в которых:
- Глобальный контекст имеет решающее значение: Сцены с высокой степенью окклюзии или когда контекст от удаленных пикселей строго необходим для классификации.
- Аппаратные средства неограниченны: Развертывание на GPU серверного класса, где ограничения по памяти и вычислениям незначительны.
- Предпочтение безъякорной архитектуре: Исследователи, желающие поэкспериментировать с чистыми архитектурами без якорей на основе трансформаторов.
Заключение
Хотя RTDETRv2 демонстрирует потенциал трансформаторов в обнаружении объектов, YOLOv9 оказывается лучшим практическим выбором для большинства разработчиков и исследователей. Он обеспечивает более высокую пиковую точность (55,6 % mAP) при значительно более высокой эффективности, меньшем использовании памяти и более высокой скорости вычислений. В сочетании с надежной поддержкой, обширной документацией и простотой использования, обеспечиваемыми экосистемой Ultralytics , YOLOv9 предлагает более оптимизированный путь от прототипа до производства.
Тем, кто хочет познакомиться с последними достижениями в области технологий компьютерного зрения, мы также рекомендуем посмотреть YOLO11которая еще больше расширяет границы скорости и точности.
Изучите другие модели
- YOLO11: Последняя разработка в серии YOLO , оптимизированная для решения различных задач, включая сегментацию и оценку позы.
- YOLOv8: Очень популярная и универсальная модель, известная своей надежностью и широкой поддержкой сообщества.
- RT-DETR: Изучите оригинальную реализацию трансформатора обнаружения в реальном времени в рамках Ultralytics .