RF-DETR: SOTA-модель обнаружения объектов в реальном времени от Roboflow на основе трансформеров
Что такое RF-DETR?
RF-DETR — это архитектура модели обнаружения объектов в реальном времени на основе Transformer, разработанная компанией Roboflow. Её цель — обеспечить высокую точность и низкую задержку при обнаружении объектов, а также возможность работы на периферийных устройствах. Это первая модель реального времени, преодолевшая отметку 60 AP в бенчмарке Microsoft COCO, и она также показывает отличные результаты в бенчмарке RF100-VL.

Функции RF-DETR
Высокоточное обнаружение объектов: RF-DETR достигает mAP (средней точности) 60,5 на наборе данных COCO и среднего mAP 86,7 на бенчмарке RF100-VL.
Работа в реальном времени: RF-DETR имеет низкую задержку, например, RF-DETR-Base может достигать 160 FPS на GPU NVIDIA T4.
Высокая адаптивность: RF-DETR хорошо адаптируется к различным областям и наборам данных разного размера.
Поддержка множества устройств: RF-DETR подходит не только для высокопроизводительных GPU-устройств, но и для работы на периферийных устройствах.
Техническая архитектура RF-DETR
Магистральная сеть (Backbone): RF-DETR использует предобученную магистральную сеть DINOv2, которая отлично справляется с извлечением признаков изображений и обеспечивает модели мощное представление признаков.
Архитектура Deformable DETR: RF-DETR использует архитектуру Deformable DETR, усиливая способность модели к локализации объектов с помощью механизма деформируемого внимания (Deformable Attention). Этот механизм позволяет модели адаптивно выполнять выборку на карте признаков, что лучше улавливает форму и положение объектов.
Одномасштабная карта признаков: В отличие от некоторых моделей обнаружения с многомасштабными картами признаков, RF-DETR использует одномасштабную карту признаков для обнаружения объектов. Такое решение упрощает структуру модели и одновременно повышает вычислительную эффективность.
Легковесная голова обнаружения (LW-DETR): RF-DETR сочетает в себе конструкцию легковесной головы обнаружения LW-DETR, что дополнительно оптимизирует производительность модели в реальном времени.

Сценарии применения RF-DETR
Видеонаблюдение и безопасность: обнаружение в реальном времени таких объектов, как люди, транспортные средства и животные, на видео для систем безопасности и анализа аномального поведения.
Автономное вождение: в системах автономного вождения RF-DETR способна быстро и точно обнаруживать пешеходов, транспортные средства и другие препятствия на дороге, обеспечивая поддержку принятия решений при автономном вождении.
Промышленная автоматизация: в условиях промышленного производства RF-DETR может использоваться для обнаружения компонентов на сборочной линии, выявления дефектов и других задач, повышая эффективность производства и контроль качества.
Охрана дикой природы: в проектах по охране дикой природы RF-DETR может применяться для мониторинга активности животных, помогая исследователям лучше понимать поведение животных и сохранять экологию.
Применение на периферийных устройствах: RF-DETR может работать на периферийных устройствах (таких как умные камеры, мобильные устройства и т. д.), обеспечивая обнаружение объектов с низкой задержкой, что подходит для сценариев Интернета вещей и интеллектуальных граничных вычислений.

Как использовать RF-DETR
1. Установка зависимостей: сначала необходимо установить библиотеки зависимостей RF-DETR. Это можно сделать с помощью следующей команды:
pip install rf-detr
2. Загрузка предобученной модели: RF-DETR предоставляет предобученные веса, которые можно загрузить и использовать напрямую. Например:
from rf_detr import RFDetr model = RFDetr.from_pretrained("rf_detr_base")
3. Предобработка изображения: измените размер входного изображения до нужного модели и выполните нормализацию. Например:
from PIL import Image
import numpy as np
image = Image.open("example.jpg").convert("RGB")
image = image.resize((model.input_size, model.input_size))
image = np.array(image) / 255.04. Обнаружение объектов: подайте предобработанное изображение в модель для обнаружения объектов. Например:
detections = model.predict(image)
5. Разбор результатов: разберите результаты обнаружения, чтобы получить информацию о классе, достоверности и ограничивающем прямоугольнике объекта. Например:
for detection in detections:
class_id = detection["class_id"]
confidence = detection["confidence"]
bbox = detection["bbox"]
print(f"Class: {class_id}, Confidence: {confidence}, BBox: {bbox}")6. Тонкая настройка модели: если требуется использовать RF-DETR на собственном наборе данных, можно выполнить тонкую настройку модели. Процесс тонкой настройки включает подготовку набора данных, настройку параметров обучения, обучение модели и оценку её производительности.
Репозиторий на GitHub: https://github.com/roboflow/rf-detr
Помощник сценариста▸
AI Приложения
AI Новости 