Baidu's RT-DETR: детектор объектов в реальном времени на основе трансформатора зрения
Обзор
Real-Time Detection TransformerRT-DETR), разработанный компанией Baidu, - это передовой комплексный детектор объектов, обеспечивающий производительность в реальном времени при сохранении высокой точности. Он основан на идее DETR (фреймворк без NMS), но при этом в него добавлены conv-основа и эффективный гибридный кодер для повышения скорости работы в реальном времени. RT-DETR эффективно обрабатывает разномасштабные признаки, отделяя внутримасштабное взаимодействие от межмасштабного слияния. Модель обладает высокой адаптивностью, поддерживая гибкую настройку скорости вывода с использованием различных слоев декодера без переобучения. RT-DETR отлично работает на ускоренных платформах, таких как CUDA с TensorRT, и превосходит многие другие детекторы объектов в реальном времени.
Смотреть: Трансформатор обнаружения в реальном времени (RT-DETR)
Обзор сайта Baidu RT-DETR. На схеме архитектуры модели RT-DETR показаны три последних этапа магистрали {S3, S4, S5} в качестве входа для кодера. Эффективный гибридный кодер преобразует разномасштабные признаки в последовательность признаков изображения с помощью внутримасштабного взаимодействия признаков (AIFI) и модуля межмасштабного слияния признаков (CCFM). Выбор запроса с учетом IoU используется для выбора фиксированного числа признаков изображения, которые служат исходными объектными запросами для декодера. Наконец, декодер со вспомогательными головками предсказания итеративно оптимизирует запросы к объектам для получения боксов и оценок уверенности (источник).
Основные характеристики
- Эффективный гибридный кодировщик: В системе Baidu RT-DETR используется эффективный гибридный кодировщик, который обрабатывает разномасштабные признаки, отделяя внутримасштабное взаимодействие от межмасштабного слияния. Эта уникальная конструкция на основе Vision Transformers снижает вычислительные затраты и позволяет обнаруживать объекты в режиме реального времени.
- Выбор запросов с учетом IoU: Модель Baidu RT-DETR улучшает инициализацию запросов к объектам благодаря использованию IoU-aware query selection. Это позволяет модели сосредоточиться на наиболее значимых объектах в сцене, повышая точность обнаружения.
- Адаптируемая скорость вывода данных: система Baidu RT-DETR поддерживает гибкую настройку скорости вывода данных путем использования различных слоев декодера без необходимости переобучения. Такая адаптивность облегчает практическое применение в различных сценариях обнаружения объектов в реальном времени.
- Система, свободная от NMS: Основанная на DETR, система RT-DETR устраняет необходимость в постобработке не максимального подавления, упрощая конвейер обнаружения и потенциально повышая эффективность.
- Обнаружение без якорей: RT-DETR , как детектор без якорей, упрощает процесс обнаружения и может улучшить обобщение для различных наборов данных.
Предварительно обученные модели
API Ultralytics Python предоставляет предварительно обученные PaddlePaddle RT-DETR модели с различными масштабами:
- RT-DETR-L: 53.0% AP на COCO val2017, 114 FPS на T4 GPU
- RT-DETR-X: 54,8% AP на COCO val2017, 74 FPS на T4 GPU
Кроме того, в июле 2024 года компания Baidu выпустила RTDETRv2, которая еще больше усовершенствовала оригинальную архитектуру, улучшив показатели производительности.
Примеры использования
В этом примере приведены простые примеры обучения и вывода RT-DETR . Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.
Пример
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Поддерживаемые задачи и режимы
В этой таблице представлены типы моделей, конкретные предварительно обученные веса, задачи, поддерживаемые каждой моделью, и различные режимы(Train, Val, Predict, Export), которые поддерживаются, обозначенные ✅ emojis.
Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Заключение | Валидация | Обучение | Экспорт |
---|---|---|---|---|---|---|
RT-DETR Большой | rtdetr-l.pt | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
RT-DETR Очень большой | rtdetr-x.pt | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
Идеальные варианты использования
RT-DETR особенно хорошо подходит для приложений, требующих высокой точности и работы в режиме реального времени:
- Автономное вождение: Для надежного восприятия окружающей среды в системах автономного вождения, где важны как скорость, так и точность. Узнайте больше об искусственном интеллекте в самоуправляемых автомобилях.
- Передовая робототехника: Позволяет роботам выполнять сложные задачи, требующие точного распознавания объектов и взаимодействия в динамических средах. Изучите роль искусственного интеллекта в робототехнике.
- Медицинская визуализация: Для применения в здравоохранении, где точность обнаружения объектов может иметь решающее значение для диагностики. Откройте для себя ИИ в здравоохранении.
- Системы видеонаблюдения: Для систем безопасности, требующих мониторинга в реальном времени с высокой точностью обнаружения. Узнайте о системах охранной сигнализации.
- Анализ спутниковых изображений: Для детального анализа снимков высокого разрешения, когда важно понимание глобального контекста. Читайте о компьютерном зрении в спутниковой съемке.
Цитаты и благодарности
Если вы используете сайт Baidu RT-DETR в своих исследованиях или разработках, пожалуйста, ссылайтесь на оригинальную статью:
Для RTDETRv2 можно ссылаться на документ 2024:
Мы хотели бы выразить благодарность компании Baidu и ее PaddlePaddle за создание и поддержку этого ценного ресурса для сообщества компьютерного зрения. Мы высоко ценим их вклад в эту область, связанный с разработкой детектора объектов в реальном времени на основе Vision Transformers, RT-DETR.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое модель Baidu RT-DETR и как она работает?
RT-DETR (Real-Time Detection Transformer) компании Baidu - это передовой детектор объектов в реальном времени, построенный на базе архитектуры Vision Transformer. Он эффективно обрабатывает разномасштабные признаки, отделяя внутримасштабное взаимодействие и межмасштабное слияние с помощью эффективного гибридного кодировщика. Используя IoU-aware query selection, модель фокусируется на наиболее релевантных объектах, повышая точность обнаружения. Благодаря адаптируемой скорости вывода, достигаемой за счет настройки слоев декодера без переобучения, RT-DETR подходит для различных сценариев обнаружения объектов в реальном времени. Подробнее о возможностях RT-DETR можно узнать из статьиRT-DETR Arxiv.
Как я могу использовать предварительно обученные модели RT-DETR , предоставленные сайтом Ultralytics?
Вы можете использовать Ultralytics Python API для использования предварительно обученных PaddlePaddle RT-DETR моделей. Например, чтобы загрузить модель RT-DETR-l, предварительно обученную на COCO val2017, и добиться высокого FPS на T4 GPU, можно воспользоваться следующим примером:
Пример
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the RT-DETR-l model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Почему стоит выбрать RT-DETR от Baidu, а не другие детекторы объектов в реальном времени?
RT-DETR компании Baidu отличается эффективным гибридным кодером и выбором запросов с учетом IoU, что значительно снижает вычислительные затраты при сохранении высокой точности. Уникальная возможность регулировать скорость вывода путем использования различных слоев декодера без переобучения обеспечивает значительную гибкость. Это делает его особенно выгодным для приложений, требующих производительности в реальном времени на ускоренных платформах, таких как CUDA с TensorRT, и превосходящим многие другие детекторы объектов в реальном времени. Архитектура трансформатора также обеспечивает лучшее понимание глобального контекста по сравнению с традиционными детекторами на основе CNN.
Как RT-DETR поддерживает адаптируемую скорость вывода для различных приложений реального времени?
RT-DETR компании Baidu позволяет гибко регулировать скорость вывода информации за счет использования различных слоев декодера без необходимости переобучения. Такая адаптивность очень важна для масштабирования производительности при решении различных задач обнаружения объектов в реальном времени. Независимо от того, нужна ли вам более быстрая обработка для обеспечения низкой точности или более медленное и точное обнаружение, RT-DETR можно настроить в соответствии с вашими конкретными требованиями. Эта возможность особенно важна при развертывании моделей на устройствах с различными вычислительными возможностями.
Могу ли я использовать модели RT-DETR с другими режимами Ultralytics , такими как обучение, проверка и экспорт?
Да, модели RT-DETR совместимы с различными режимами Ultralytics , включая обучение, проверку, предсказание и экспорт. Подробные инструкции по использованию этих режимов можно найти в соответствующей документации: Train, Val, Predict и Export. Это обеспечивает комплексный рабочий процесс для разработки и развертывания решений по обнаружению объектов. Фреймворк Ultralytics предоставляет согласованный API для различных архитектур моделей, что упрощает работу с моделями RT-DETR .