RF-DETR: Ein SOTA-Echtzeit-Objekterkennungsmodell von Roboflow auf Basis von Transformers 139

小编 ·

RF-DETR: Ein SOTA-Echtzeit-Objekterkennungsmodell von Roboflow auf Basis von Transformers

RF-DETR ist eine auf Transformers basierende Echtzeit-Objekterkennungs-Architektur, die von Roboflow entwickelt wurde und eine hochpräzise Objekterkennung mit niedriger Latenz ermöglicht, die auch auf Edge-Geräten läuft. Es ist das erste Echtzeit-Modell, das im Microsoft-COCO-Benchmark über 60 AP erreicht, und liefert auch im RF100-VL-Benchmark starke Ergebnisse.

RF-DETR: Ein SOTA-Echtzeit-Objekterkennungsmodell von Roboflow auf Basis von Transformers

Was ist RF-DETR?

RF-DETR ist eine auf Transformern basierende Echtzeit-Objekterkennungsmodell-Architektur, die von Roboflow entwickelt wurde. Ziel ist es, eine Objekterkennung mit hoher Genauigkeit und geringer Latenz zu erreichen, die auch auf Edge-Geräten ausgeführt werden kann. Es ist das erste Echtzeit-Modell, das im Microsoft COCO-Benchmark über 60 AP erreicht, und es schneidet auch im RF100-VL-Benchmark hervorragend ab.

RF-DETR:Roboflow基于Transformer开发的的SOTA 实时物体检测模型.webp

RF-DETR-Funktionen

  • Objekterkennung mit hoher Genauigkeit: RF-DETR erreicht auf dem COCO-Datensatz einen mAP (mittlere Genauigkeit) von 60,5 und im RF100-VL-Benchmark einen durchschnittlichen mAP von 86,7.

  • Echtzeitfähigkeit: RF-DETR hat eine geringe Latenz; beispielsweise kann RF-DETR-Base auf einer NVIDIA T4 GPU 160 FPS erreichen.

  • Hohe Anpassungsfähigkeit: RF-DETR kann sich gut an verschiedene Bereiche und Datensätze unterschiedlicher Größe anpassen.

  • Unterstützung für mehrere Geräte: RF-DETR eignet sich nicht nur für Hochleistungs-GPU-Geräte, sondern kann auch auf Edge-Geräten betrieben werden.

Technische Architektur von RF-DETR

  • Backbone-Netzwerk: RF-DETR verwendet ein vortrainiertes DINOv2-Backbone-Netzwerk, das sich hervorragend für die Extraktion von Bildmerkmalen eignet und dem Modell eine starke Merkmalsrepräsentation bietet.

  • Deformable DETR-Architektur: RF-DETR übernimmt die Deformable DETR-Architektur und nutzt einen Deformable Attention-Mechanismus, um die Lokalisierungsfähigkeit des Modells für Objekte zu verbessern. Dieser Mechanismus ermöglicht es dem Modell, adaptiv auf der Merkmalskarte zu sampeln und so Form und Position von Objekten besser zu erfassen.

  • Einskalige Merkmalskarte: Im Gegensatz zu einigen Erkennungsmodellen mit mehrskaligen Merkmalskarten verwendet RF-DETR eine einskalige Merkmalskarte für die Objekterkennung. Dieses Design vereinfacht die Modellstruktur und verbessert gleichzeitig die Recheneffizienz.

  • Leichtgewichtiger Erkennungskopf (LW-DETR): RF-DETR kombiniert das Design des leichtgewichtigen Erkennungskopfes von LW-DETR und optimiert so die Echtzeitleistung des Modells weiter.

RF-DETR:Roboflow基于Transformer开发的的SOTA 实时物体检测模型.webp

Anwendungsszenarien für RF-DETR

  • Sicherheitsüberwachung: Echtzeit-Erkennung von Personen, Fahrzeugen, Tieren und anderen Objekten in Überwachungs-Videos zur Sicherheitsüberwachung und Analyse abnormalen Verhaltens.

  • Autonomes Fahren: In autonomen Fahrsystemen kann RF-DETR Fußgänger, Fahrzeuge und andere Hindernisse auf der Straße schnell und genau erkennen und unterstützt so die Entscheidungsfindung beim autonomen Fahren.

  • Industrielle Automatisierung: In industriellen Produktionsumgebungen kann RF-DETR für Aufgaben wie die Erkennung von Bauteilen auf Produktionslinien und die Fehlererkennung eingesetzt werden, um die Produktionseffizienz und Qualitätskontrolle zu verbessern.

  • Wildtierschutz: In Wildtierschutzprojekten kann RF-DETR zur Überwachung der Aktivitäten wild lebender Tiere eingesetzt werden und Forschern helfen, das Verhalten der Tiere besser zu verstehen und die ökologische Umwelt zu schützen.

  • Anwendungen auf Edge-Geräten: RF-DETR kann auf Edge-Geräten (wie intelligenten Kameras, mobilen Geräten usw.) ausgeführt werden, um eine Objekterkennung mit geringer Latenz zu realisieren, und eignet sich für IoT- und intelligente Edge-Computing-Szenarien.

RF-DETR应用场景.webp

Verwendung von RF-DETR

1. Abhängigkeiten installieren: Zunächst müssen die Abhängigkeitsbibliotheken für RF-DETR installiert werden. Dies kann mit dem folgenden Befehl erfolgen:

pip install rf-detr

2. Vortrainiertes Modell laden: RF-DETR stellt vortrainierte Gewichte zur Verfügung, die direkt geladen und verwendet werden können. Zum Beispiel:

from rf_detr import RFDetr
model = RFDetr.from_pretrained("rf_detr_base")

3. Bildvorverarbeitung: Passen Sie das Eingabebild an die vom Modell benötigte Größe an und normalisieren Sie es. Zum Beispiel:

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.0

4. Objekterkennung: Geben Sie das vorverarbeitete Bild in das Modell ein, um eine Objekterkennung durchzuführen. Zum Beispiel:

detections = model.predict(image)

5. Ergebnisse parsen: Parsen Sie die Erkennungsergebnisse, um Klassen-, Konfidenz- und Bounding-Box-Informationen der Objekte zu erhalten. Zum Beispiel:

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. Modell feinabstimmen: Wenn Sie RF-DETR auf einem benutzerdefinierten Datensatz verwenden möchten, können Sie das Modell feinabstimmen. Der Feinabstimmungsprozess umfasst die Vorbereitung des Datensatzes, die Konfiguration der Trainingsparameter, das Training des Modells und die Bewertung der Modellleistung.

GitHub-Repository: https://github.com/roboflow/rf-detr