RF-DETR : un modèle SOTA de détection d'objets en temps réel basé sur les Transformers, par Roboflow
Qu'est-ce que RF-DETR ?
RF-DETR est une architecture de modèle de détection d'objets en temps réel basée sur Transformer, développée par Roboflow. Son objectif est d'obtenir une détection d'objets à haute précision et à faible latence, tout en étant capable de fonctionner sur des appareils边缘 (edge devices). C'est le premier modèle en temps réel à dépasser 60 AP sur le benchmark Microsoft COCO, et il obtient également d'excellents résultats sur le benchmark RF100-VL.

Fonctionnalités de RF-DETR
Détection d'objets haute précision : RF-DETR atteint un mAP (précision moyenne) de 60,5 sur le dataset COCO et un mAP moyen de 86,7 sur le benchmark RF100-VL.
Temps réel : RF-DETR présente une faible latence. Par exemple, RF-DETR-Base peut atteindre 160 FPS sur un GPU NVIDIA T4.
Forte adaptabilité : RF-DETR s'adapte bien à divers domaines et à des datasets de différentes tailles.
Prise en charge de multiples appareils : RF-DETR ne se limite pas aux GPU haute performance, il peut également fonctionner sur des appareils边缘 (edge devices).
Architecture technique de RF-DETR
Réseau de base (Backbone) : RF-DETR utilise un réseau de base DINOv2 pré-entraîné, qui excelle dans l'extraction de caractéristiques d'image, offrant au modèle une puissante capacité de représentation des caractéristiques.
Architecture Deformable DETR : RF-DETR adopte l'architecture Deformable DETR et renforce la capacité de localisation des objets du modèle grâce au mécanisme d'attention déformable (Deformable Attention). Ce mécanisme permet au modèle d'échantillonner de manière adaptative sur la carte des caractéristiques, capturant ainsi mieux la forme et les informations de position des objets.
Carte de caractéristiques à échelle unique : contrairement à certains modèles de détection utilisant des cartes de caractéristiques multi-échelles, RF-DETR utilise une carte de caractéristiques à échelle unique pour la détection d'objets. Cette conception simplifie la structure du modèle tout en améliorant l'efficacité de calcul.
Tête de détection légère (LW-DETR) : RF-DETR intègre la conception de tête de détection légère de LW-DETR, optimisant davantage les performances en temps réel du modèle.

Scénarios d'application de RF-DETR
Surveillance de sécurité : détection en temps réel de personnes, véhicules, animaux et autres cibles dans les vidéos de surveillance, utilisée pour la surveillance de sécurité et l'analyse de comportements anormaux.
Conduite autonome : dans les systèmes de conduite autonome, RF-DETR peut détecter rapidement et avec précision les piétons, véhicules et autres obstacles sur la route, fournissant un soutien aux décisions de conduite autonome.
Automatisation industrielle : dans les environnements de production industrielle, RF-DETR peut être utilisé pour détecter les composants sur les chaînes de production, la détection de défauts, etc., améliorant l'efficacité de la production et le contrôle qualité.
Protection de la faune : dans les projets de protection de la faune, RF-DETR peut être utilisé pour surveiller les activités des animaux sauvages, aidant les chercheurs à mieux comprendre le comportement animal et à protéger l'écosystème.
Applications sur appareils边缘 : RF-DETR peut fonctionner sur des appareils边缘 (comme les caméras intelligentes, les appareils mobiles, etc.), permettant une détection d'objets à faible latence, adaptée à l'IoT et aux scénarios de calcul en périphérie intelligents.

Comment utiliser RF-DETR
1. Installer les dépendances :vous devez d'abord installer les bibliothèques dépendantes de RF-DETR. Vous pouvez les installer via la commande suivante :
pip install rf-detr
2. Charger le modèle pré-entraîné :RF-DETR fournit des poids pré-entraînés qui peuvent être chargés et utilisés directement. Par exemple :
from rf_detr import RFDetr
model = RFDetr.from_pretrained("rf_detr_base")3. Prétraitement de l'image :redimensionnez l'image d'entrée à la taille requise par le modèle et effectuez la normalisation. Par exemple :
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. Détection d'objets :entrez l'image prétraitée dans le modèle pour effectuer la détection d'objets. Par exemple :
detections = model.predict(image)
5. Analyse des résultats :analysez les résultats de détection pour obtenir la classe, la confiance et les informations de boîte englobante des objets. Par exemple :
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. Affinage du modèle :si vous devez utiliser RF-DETR sur un dataset personnalisé, vous pouvez affiner le modèle. Le processus d'affinage comprend la préparation du dataset, la configuration des paramètres d'entraînement, l'entraînement du modèle et l'évaluation des performances du modèle.
Dépôt GitHub :https://github.com/roboflow/rf-detr
Assistant scénario▸
Apps AI
Actualités AI 