Zum Inhalt springen

Rockchip RKNN Export für Ultralytics YOLO11 Modelle

Beim Einsatz von Computer-Vision-Modellen auf eingebetteten Geräten, insbesondere auf solchen mit Rockchip-Prozessoren, ist ein kompatibles Modellformat unerlässlich. Der Export von Ultralytics YOLO11 Modelle in das RKNN-Format gewährleistet eine optimierte Leistung und Kompatibilität mit der Hardware von Rockchip. Dieser Leitfaden führt Sie durch die Konvertierung Ihrer YOLO11 Modelle in das RKNN-Format und ermöglicht so einen effizienten Einsatz auf Rockchip-Plattformen.

RKNN

Hinweis

Diese Anleitung wurde mit Radxa Rock 5B, das auf Rockchip RK3588 basiert, und Radxa Zero 3W, das auf Rockchip RK3566 basiert, getestet. Es wird erwartet, dass sie auch mit anderen Rockchip-basierten Geräten funktioniert, die rknn-toolkit2 unterstützen, wie RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B und RK2118.

Was ist Rockchip?

Rockchip ist bekannt für seine vielseitigen und energieeffizienten Lösungen und entwickelt fortschrittliche System-on-Chips (SoCs), die eine breite Palette von Unterhaltungselektronik, Industrieanwendungen und KI-Technologien unterstützen. Mit ARM-basierter Architektur, eingebauten Neural Processing Units (NPUs) und hochauflösender Multimedia-Unterstützung ermöglichen SoCs von Rockchip Spitzenleistungen für Geräte wie Tablets, Smart-TVs, IoT-Systeme und Edge-KI-Anwendungen. Unternehmen wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi bieten eine Vielzahl von Produkten an, die auf Rockchip-SoCs basieren, und erweitern damit ihre Reichweite und ihren Einfluss auf verschiedene Märkte.

RKNN-Werkzeugsatz

Das RKNN-Toolkit ist eine Reihe von Tools und Bibliotheken, die von Rockchip bereitgestellt werden, um den Einsatz von Deep-Learning-Modellen auf ihren Hardware-Plattformen zu erleichtern. RKNN, oder Rockchip Neural Network, ist das proprietäre Format, das von diesen Tools verwendet wird. RKNN-Modelle sind so konzipiert, dass sie die von der NPU (Neural Processing Unit) von Rockchip gebotene Hardware-Beschleunigung in vollem Umfang nutzen und eine hohe Leistung bei KI-Aufgaben auf Geräten wie RK3588, RK3566, RV1103, RV1106 und anderen Rockchip-Systemen gewährleisten.

Hauptmerkmale von RKNN-Modellen

RKNN-Modelle bieten mehrere Vorteile für den Einsatz auf Rockchip-Plattformen:

  • Optimiert für NPU: RKNN-Modelle sind speziell für den Betrieb auf den NPUs von Rockchip optimiert und gewährleisten maximale Leistung und Effizienz.
  • Geringe Latenz: Das RKNN-Format minimiert die Inferenzlatenz, was für Echtzeitanwendungen auf Edge-Geräten entscheidend ist.
  • Plattformspezifische Anpassung: RKNN-Modelle können auf bestimmte Rockchip-Plattformen zugeschnitten werden, was eine bessere Nutzung der Hardware-Ressourcen ermöglicht.

Flash OS auf Rockchip-Hardware

Der erste Schritt, nachdem man ein Rockchip-basiertes Gerät in die Hände bekommen hat, ist das Flashen eines Betriebssystems, damit die Hardware in eine Arbeitsumgebung booten kann. In dieser Anleitung werden wir auf die Startanleitungen der beiden von uns getesteten Geräte Radxa Rock 5B und Radxa Zero 3W hinweisen.

Nach RKNN exportieren: Konvertierung Ihres YOLO11 Modells

Exportieren Sie ein Ultralytics YOLO11 Modell in das RKNN-Format und führen Sie die Inferenz mit dem exportierten Modell durch.

Hinweis

Stellen Sie sicher, dass Sie einen X86-basierten Linux-PC verwenden, um das Modell nach RKNN zu exportieren, da der Export auf Rockchip-basierten Geräten (ARM64) nicht unterstützt wird.

Einrichtung

Um die erforderlichen Pakete zu installieren, führen Sie aus:

Einrichtung

# Install the required package for YOLO11
pip install ultralytics

Detaillierte Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, finden Sie in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Verwendung

Hinweis

Der Export wird derzeit nur für Erkennungsmodelle unterstützt. Weitere Modelle werden in Zukunft unterstützt.

Verwendung

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588")  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588  # creates '/yolo11n_rknn_model'

Argumente exportieren

Argument Typ Standard Beschreibung
format str rknn Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Einsatzumgebungen definiert.
imgsz int oder tuple 640 Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder oder ein Tupel sein (height, width) für bestimmte Abmessungen.
batch int 1 Gibt die Größe der exportierten Modellstapelinferenz oder die maximale Anzahl der Bilder an, die das exportierte Modell gleichzeitig in predict Modus.
name str rk3588 Gibt das Rockchip-Modell an (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118)

Weitere Einzelheiten zum Exportvorgang finden Sie auf der Dokumentationsseite zum Exportieren unterUltralytics .

Einsatz von exportierten YOLO11 RKNN-Modellen

Sobald Sie Ihre Ultralytics YOLO11 Modelle erfolgreich in das RKNN-Format exportiert haben, besteht der nächste Schritt darin, diese Modelle auf Rockchip-basierten Geräten einzusetzen.

Einrichtung

Um die erforderlichen Pakete zu installieren, führen Sie aus:

Einrichtung

# Install the required package for YOLO11
pip install ultralytics

Verwendung

Verwendung

from ultralytics import YOLO

# Load the exported RKNN model
rknn_model = YOLO("./yolo11n_rknn_model")

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

Hinweis

Wenn Sie eine Protokollmeldung erhalten, die besagt, dass die RKNN-Laufzeitversion nicht mit der RKNN-Toolkit-Version übereinstimmt und die Inferenz fehlschlägt, ersetzen Sie bitte /usr/lib/librknnrt.so mit offiziellen librknnrt.so-Datei.

Screenshot des RKNN-Exports

Benchmarks

YOLO11 Die folgenden Benchmarks wurden vom Ultralytics Team auf dem Radxa Rock 5B basierend auf dem Rockchip RK3588 mit rknn Modellformat zur Messung von Geschwindigkeit und Genauigkeit.

Modell Format Status Größe (MB) mAP50-95(B) Inferenzzeit (ms/im)
YOLO11n rknn 7.4 0.61 99.5
YOLO11s rknn 20.7 0.741 122.3
YOLO11m rknn 41.9 0.764 298.0
YOLO11l rknn 53.3 0.72 319.6
YOLO11x rknn 114.6 0.828 632.1

Hinweis

Die Validierung des obigen Benchmarks wurde mit dem coco8-Datensatz durchgeführt

Zusammenfassung

In diesem Leitfaden haben Sie gelernt, wie Sie Ultralytics YOLO11 Modelle in das RKNN-Format exportieren, um deren Einsatz auf Rockchip-Plattformen zu verbessern. Außerdem wurden Sie mit dem RKNN-Toolkit und den spezifischen Vorteilen der Verwendung von RKNN-Modellen für Edge AI-Anwendungen vertraut gemacht.

Weitere Einzelheiten zur Verwendung finden Sie in der offiziellen RKNN-Dokumentation.

Wenn Sie mehr über andere Ultralytics YOLO11 Integrationen erfahren möchten, besuchen Sie unseren Integrationsleitfaden. Dort finden Sie viele nützliche Ressourcen und Einblicke.

FAQ

Wie exportiere ich mein Ultralytics YOLO Modell in das RKNN-Format?

Sie können Ihr Ultralytics YOLO Modell leicht in das RKNN-Format exportieren, indem Sie die export() Methode im Paket Ultralytics Python oder über die Befehlszeilenschnittstelle (CLI). Stellen Sie sicher, dass Sie einen x86-basierten Linux-PC für den Exportvorgang verwenden, da ARM64-Geräte wie Rockchip für diesen Vorgang nicht unterstützt werden. Sie können die Rockchip-Zielplattform mit der Option name Argument, wie zum Beispiel rk3588, rk3566oder andere. Dieser Prozess erzeugt ein optimiertes RKNN-Modell, das für den Einsatz auf Ihrem Rockchip-Gerät bereit ist und die Vorteile der Neural Processing Unit (NPU) für eine beschleunigte Inferenz nutzt.

Beispiel

from ultralytics import YOLO

# Load your YOLO model
model = YOLO("yolo11n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588

Was sind die Vorteile der Verwendung von RKNN-Modellen auf Rockchip-Geräten?

RKNN-Modelle wurden speziell entwickelt, um die Hardware-Beschleunigungsfähigkeiten der Neural Processing Units (NPUs) von Rockchip zu nutzen. Diese Optimierung führt zu deutlich schnelleren Inferenzgeschwindigkeiten und geringeren Latenzzeiten im Vergleich zur Ausführung generischer Modellformate wie ONNX oder TensorFlow Lite auf derselben Hardware. Die Verwendung von RKNN-Modellen ermöglicht eine effizientere Nutzung der Geräteressourcen, was zu einem geringeren Stromverbrauch und einer besseren Gesamtleistung führt, was insbesondere für Echtzeitanwendungen auf Edge-Geräten entscheidend ist. Durch die Konvertierung Ihrer Ultralytics YOLO Modelle in RKNN können Sie eine optimale Leistung auf Geräten mit Rockchip SoCs wie dem RK3588, RK3566 und anderen erreichen.

Kann ich RKNN-Modelle auf Geräten von anderen Herstellern wie NVIDIA oder Google einsetzen?

RKNN-Modelle sind speziell für Rockchip-Plattformen und deren integrierte NPUs optimiert. Sie können zwar technisch gesehen ein RKNN-Modell auf anderen Plattformen unter Verwendung einer Software-Emulation ausführen, aber Sie profitieren nicht von der Hardware-Beschleunigung, die Rockchip-Geräte bieten. Für eine optimale Leistung auf anderen Plattformen wird empfohlen, Ihre Ultralytics YOLO Modelle in Formate zu exportieren, die speziell für diese Plattformen entwickelt wurden, wie z. B. TensorRT für NVIDIA GPUs oder TensorFlow Lite für Google's Edge TPU. Ultralytics unterstützt den Export in eine Vielzahl von Formaten, um die Kompatibilität mit verschiedenen Hardware-Beschleunigern sicherzustellen.

Welche Rockchip-Plattformen werden für den Einsatz von RKNN-Modellen unterstützt?

Der Ultralytics YOLO Export in das RKNN-Format unterstützt eine breite Palette von Rockchip-Plattformen, darunter die beliebten RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B und RK2118. Diese Plattformen sind häufig in Geräten von Herstellern wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi zu finden. Diese breite Unterstützung stellt sicher, dass Sie Ihre optimierten RKNN-Modelle auf verschiedenen Rockchip-betriebenen Geräten einsetzen können, von Einplatinencomputern bis hin zu industriellen Systemen, und dabei die Vorteile ihrer KI-Beschleunigungsfunktionen für eine verbesserte Leistung in Ihren Computer-Vision-Anwendungen voll ausschöpfen können.

Wie ist die Leistung von RKNN-Modellen im Vergleich zu anderen Formaten auf Rockchip-Geräten?

RKNN-Modelle übertreffen im Allgemeinen andere Formate wie ONNX oder TensorFlow Lite auf Rockchip-Geräten, da sie für die NPUs von Rockchip optimiert sind. So zeigen beispielsweise Benchmarks auf dem Radxa Rock 5B (RK3588), dass YOLO11n im RKNN-Format eine Inferenzzeit von 99,5 ms/Bild erreicht und damit deutlich schneller ist als andere Formate. Dieser Leistungsvorteil ist über verschiedene YOLO11 Modellgrößen hinweg konsistent, wie im Abschnitt Benchmarks gezeigt wird. Durch die Nutzung der dedizierten NPU-Hardware minimieren die RKNN-Modelle die Latenzzeit und maximieren den Durchsatz, was sie ideal für Echtzeitanwendungen auf Rockchip-basierten Edge-Geräten macht.

📅 Erstellt vor 20 Tagen ✏️ Aktualisiert vor 4 Tagen

Kommentare