Rockchip RKNN-Export für Ultralytics YOLO26-Modelle
Bei der Bereitstellung von Computer-Vision-Modellen auf eingebetteten Geräten, insbesondere solchen mit Rockchip-Prozessoren, ist ein kompatibles Modellformat unerlässlich. Der Export von Ultralytics YOLO26-Modellen in das RKNN-Format stellt eine optimierte Leistung und Kompatibilität mit der Rockchip-Hardware sicher. Diese Anleitung führt dich durch die Konvertierung deiner YOLO26-Modelle in das RKNN-Format, um eine effiziente Bereitstellung auf Rockchip-Plattformen zu ermöglichen.
Diese Anleitung wurde mit dem Radxa Rock 5B, das auf dem Rockchip RK3588 basiert, und dem Radxa Zero 3W, das auf dem Rockchip RK3566 basiert, getestet. Es wird erwartet, dass sie auf anderen Rockchip-basierten Geräten funktioniert, die rknn-toolkit2 unterstützen, wie z. B. RK3576, RK3568, RK3562, RK2118 und RV1126B. Ziele, die nur INT8-Inferenz unterstützen (RV1103, RV1106, RV1103B, RV1106B), werden derzeit noch nicht unterstützt, da der Ultralytics RKNN-Export aktuell nur FP16-Modelle erzeugt.
Was ist Rockchip?
Rockchip ist bekannt für die Bereitstellung vielseitiger und energieeffizienter Lösungen und entwickelt fortschrittliche System-on-Chips (SoCs), die eine breite Palette an Unterhaltungselektronik, industriellen Anwendungen und KI-Technologien antreiben. Mit einer ARM-basierten Architektur, integrierten Neural Processing Units (NPUs) und hochauflösender Multimedia-Unterstützung ermöglichen Rockchip SoCs eine Spitzenleistung 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 auf Basis von Rockchip SoCs an, was deren Reichweite und Einfluss auf verschiedene Märkte weiter vergrößert.
RKNN Toolkit
Das RKNN Toolkit ist eine Reihe von Werkzeugen und Bibliotheken von Rockchip, um die Bereitstellung von Deep-Learning-Modellen auf deren Hardwareplattformen zu erleichtern. RKNN (Rockchip Neural Network) ist das proprietäre Format, das von diesen Tools verwendet wird. RKNN-Modelle wurden entwickelt, um die Hardwarebeschleunigung der NPU (Neural Processing Unit) von Rockchip voll auszunutzen und eine hohe Leistung bei KI-Aufgaben auf Geräten wie RK3588, RK3566, RV1103, RV1106 und anderen Systemen mit Rockchip-Power zu 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 darauf optimiert, auf den NPUs von Rockchip zu laufen, was maximale Leistung und Effizienz sicherstellt.
- Niedrige 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 Ausnutzung der Hardwareressourcen ermöglicht.
- Energieeffizienz: Durch die Nutzung dedizierter NPU-Hardware verbrauchen RKNN-Modelle weniger Strom als CPU- oder GPU-basierte Prozesse, was die Batterielaufzeit bei tragbaren Geräten verlängert.
Betriebssystem auf Rockchip-Hardware flashen
Der erste Schritt, nachdem du ein Rockchip-basiertes Gerät erhalten hast, ist das Flashen eines Betriebssystems, damit die Hardware in eine funktionierende Umgebung booten kann. In dieser Anleitung verweisen wir auf die Anleitungen für die ersten Schritte der beiden getesteten Geräte, Radxa Rock 5B und Radxa Zero 3W.
Export zu RKNN: Dein YOLO26-Modell konvertieren
Exportiere ein Ultralytics YOLO26-Modell in das RKNN-Format und führe die Inferenz mit dem exportierten Modell durch.
Stelle sicher, dass du einen X86-basierten Linux-PC für den Export des Modells in das RKNN-Format verwendest, da der Export auf Rockchip-basierten Geräten (ARM64) nicht unterstützt wird.
Installation
Um die erforderlichen Pakete zu installieren, führe Folgendes aus:
!!! Tipp "Installation"
# Install the required package for YOLO26
pip install ultralyticsFür detaillierte Anleitungen und Best Practices zur Installation, schau in unserem Ultralytics-Installationsleitfaden nach. Wenn du bei der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stößt, konsultiere unseren Leitfaden für allgemeine Probleme für Lösungen und Tipps.
Verwendung
Der Export wird derzeit nur für Erkennungsmodelle unterstützt. Weitere Modellunterstützungen werden in Zukunft hinzugefügt.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b (FP16). INT8-only targets rv1103, rv1106, rv1103b, rv1106b are not yet supported.
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'Export-Argumente
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
format | str | 'rknn' | Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert. |
imgsz | int oder tuple | 640 | Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für spezifische Dimensionen sein. |
batch | int | 1 | Legt die Batch-Inferenzgröße für den Export fest oder die maximale Anzahl an Bildern, die das exportierte Modell gleichzeitig im predict Modus verarbeitet. |
name | str | 'rk3588' | Gibt das Rockchip-Ziel an. FP16-unterstützt: rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b. INT8-only-Ziele (rv1103, rv1106, rv1103b, rv1106b) werden noch nicht unterstützt. |
device | str | None | Gibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu). |
Bitte stelle sicher, dass du einen x86-Linux-Rechner verwendest, wenn du nach RKNN exportierst.
Weitere Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Export.
Exportierte YOLO26 RKNN-Modelle bereitstellen
Sobald du deine Ultralytics YOLO26-Modelle erfolgreich in das RKNN-Format exportiert hast, ist der nächste Schritt die Bereitstellung dieser Modelle auf Rockchip-basierten Geräten.
Installation
Um die erforderlichen Pakete zu installieren, führe Folgendes aus:
!!! Tipp "Installation"
# Install the required package for YOLO26
pip install ultralyticsVerwendung
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo26n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")Wenn du eine Protokollmeldung erhältst, die darauf hinweist, dass die RKNN-Runtime-Version nicht mit der RKNN Toolkit-Version übereinstimmt und die Inferenz fehlschlägt, ersetze bitte /usr/lib/librknnrt.so durch die offizielle librknnrt.so-Datei.

Anwendungen in der Praxis
Geräte mit Rockchip-Power und YOLO26 RKNN-Modellen können in verschiedenen Anwendungen eingesetzt werden:
- Intelligente Überwachung: Implementiere effiziente Objekterkennungssysteme zur Sicherheitsüberwachung bei geringem Stromverbrauch.
- Industrielle Automatisierung: Führe Qualitätskontrolle und Fehlererkennung direkt auf eingebetteten Geräten durch.
- Einzelhandelsanalytik: Verfolge Kundenverhalten und Bestandsverwaltung in Echtzeit ohne Cloud-Abhängigkeit.
- Intelligente Landwirtschaft: Überwache die Pflanzengesundheit und erkenne Schädlinge mit Computer Vision in der Landwirtschaft.
- Autonome Robotik: Ermögliche bildbasierte Navigation und Hinderniserkennung auf ressourcenbeschränkten Plattformen.
Benchmarks
Die nachstehenden YOLO26-Benchmarks wurden vom Ultralytics-Team auf dem Radxa Rock 5B auf Basis von Rockchip RK3588 mit dem rknn-Modellformat durchgeführt, wobei Geschwindigkeit und Genauigkeit gemessen wurden.
| Modell | Format | Status | Größe (MB) | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | rknn | ✅ | 7.1 | 0,479 | 65.7 |
| YOLO26s | rknn | ✅ | 20.9 | 0.571 | 99.2 |
| YOLO26m | rknn | ✅ | 42.5 | 0.610 | 235.3 |
| YOLO26l | rknn | ✅ | 52.1 | 0.630 | 280.5 |
| YOLO26x | rknn | ✅ | 112.2 | 0.666 | 669.1 |
Getestet mit ultralytics 8.4.23
Die Validierung für die oben genannten Benchmarks wurde mit dem COCO128-Datensatz durchgeführt. Die Inferenzzeit beinhaltet keine Vor- oder Nachverarbeitung.
Zusammenfassung
In dieser Anleitung hast du gelernt, wie du Ultralytics YOLO26-Modelle in das RKNN-Format exportierst, um ihre Bereitstellung auf Rockchip-Plattformen zu verbessern. Du wurdest außerdem mit dem RKNN Toolkit und den spezifischen Vorteilen der Verwendung von RKNN-Modellen für Edge-KI-Anwendungen vertraut gemacht.
Die Kombination aus Ultralytics YOLO26 und der NPU-Technologie von Rockchip bietet eine effiziente Lösung für die Ausführung fortschrittlicher Computer-Vision-Aufgaben auf eingebetteten Geräten. Dieser Ansatz ermöglicht Echtzeit-Objekterkennung und andere Vision-KI-Anwendungen bei minimalem Stromverbrauch und hoher Leistung.
Weitere Einzelheiten zur Verwendung findest du in der offiziellen RKNN-Dokumentation.
Wenn du außerdem mehr über andere Ultralytics YOLO26-Integrationen erfahren möchtest, besuche unsere Integrations-Leitfaden-Seite. Dort findest du viele nützliche Ressourcen und Einblicke.
FAQ
Wie exportiere ich mein Ultralytics YOLO-Modell in das RKNN-Format?
Du kannst dein Ultralytics YOLO-Modell ganz einfach mit der Methode export() im Ultralytics Python-Paket oder über die Befehlszeilenschnittstelle (CLI) in das RKNN-Format exportieren. Stelle sicher, dass du einen x86-basierten Linux-PC für den Exportprozess verwendest, da ARM64-Geräte wie Rockchip für diesen Vorgang nicht unterstützt werden. Du kannst die Ziel-Rockchip-Plattform mit dem Argument name angeben, wie z. B. rk3588, rk3566 oder andere. Dieser Prozess generiert ein optimiertes RKNN-Modell, das bereit für die Bereitstellung auf deinem Rockchip-Gerät ist und dessen Neural Processing Unit (NPU) für eine beschleunigte Inferenz nutzt.
from ultralytics import YOLO
# Load your YOLO model
model = YOLO("yolo26n.pt")
# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")Welche Vorteile bietet die Verwendung von RKNN-Modellen auf Rockchip-Geräten?
RKNN-Modelle sind speziell dafür konzipiert, die Hardwarebeschleunigungsfähigkeiten der Neural Processing Units (NPUs) von Rockchip zu nutzen. Diese Optimierung führt zu deutlich schnelleren Inferenzgeschwindigkeiten und einer reduzierten Latenz im Vergleich zur Ausführung allgemeiner Modellformate wie ONNX oder TensorFlow Lite auf derselben Hardware. Die Verwendung von RKNN-Modellen ermöglicht eine effizientere Nutzung der Hardwareressourcen, was zu einem geringeren Stromverbrauch und einer besseren Gesamtleistung führt – besonders kritisch für Echtzeitanwendungen auf Edge-Geräten. Durch die Konvertierung deiner Ultralytics YOLO-Modelle in RKNN erreichst du eine optimale Performance auf Geräten mit Rockchip SoCs wie RK3588, RK3566 und anderen.
Kann ich RKNN-Modelle auf Geräten anderer Hersteller wie NVIDIA oder Google bereitstellen?
RKNN-Modelle sind speziell für Rockchip-Plattformen und deren integrierte NPUs optimiert. Während du ein RKNN-Modell technisch auf anderen Plattformen mittels Software-Emulation ausführen kannst, profitierst du nicht von der Hardwarebeschleunigung der Rockchip-Geräte. Für eine optimale Leistung auf anderen Plattformen wird empfohlen, deine 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 Googles Edge TPU. Ultralytics unterstützt den Export in eine Vielzahl von Formaten, um die Kompatibilität mit verschiedenen Hardwarebeschleunigern sicherzustellen.
Welche Rockchip-Plattformen werden für die RKNN-Modellbereitstellung unterstützt?
Der Ultralytics YOLO-Export in das RKNN-Format unterstützt derzeit Rockchip-Plattformen mit FP16-Inferenz: RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 und RV1126B. INT8-only-Ziele (RV1103, RV1106, RV1103B, RV1106B) werden noch nicht unterstützt, da deren NPUs eine Quantisierung erfordern, die auf der Roadmap steht. Diese Plattformen findet man häufig in Geräten von Herstellern wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi, was es dir ermöglicht, deine optimierten RKNN-Modelle auf einer Reihe von Geräten mit Rockchip-Power bereitzustellen – von Einplatinencomputern bis hin zu industriellen Systemen.
Wie ist die Leistung von RKNN-Modellen im Vergleich zu anderen Formaten auf Rockchip-Geräten?
RKNN-Modelle übertreffen auf Rockchip-Geräten im Allgemeinen andere Formate wie ONNX oder TensorFlow Lite aufgrund ihrer Optimierung für die NPUs von Rockchip. Beispielsweise zeigen Benchmarks auf dem Radxa Rock 5B (RK3588), dass YOLO26n im RKNN-Format eine Inferenzzeit von 99,5 ms/Bild erreicht, was deutlich schneller ist als bei anderen Formaten. Dieser Leistungsvorteil ist über verschiedene YOLO26-Modellgrößen hinweg konsistent, wie im Abschnitt Benchmarks gezeigt. Durch die Nutzung der dedizierten NPU-Hardware minimieren RKNN-Modelle die Latenz und maximieren den Durchsatz, was sie ideal für Echtzeitanwendungen auf Rockchip-basierten Edge-Geräten macht.