RKNN-Export von Ultralytics YOLO26-Modellen für Rockchip#
Bei der Bereitstellung von Computer-Vision-Modellen auf eingebetteten Geräten, insbesondere auf Geräten mit Rockchip-Prozessoren, ist ein kompatibles Modellformat unerlässlich. Der Export von Ultralytics YOLO26-Modellen ins RKNN-Format gewährleistet eine optimierte Leistung und Kompatibilität mit der Hardware von Rockchip. Diese Anleitung führt dich durch die Konvertierung deiner YOLO26-Modelle ins RKNN-Format, einschließlich Exporten mit Gleitkommawerten und INT8-Quantisierung, und ermöglicht so eine effiziente Bereitstellung auf Rockchip-Plattformen.
Diese Anleitung wurde mit Radxa Rock 5B, das auf Rockchip RK3588 basiert, und Radxa Zero 3W, das auf Rockchip RK3566 basiert, getestet. Voraussichtlich funktioniert sie auch auf anderen Rockchip-basierten Geräten, die rknn-toolkit2 unterstützen, beispielsweise RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B und RV1106B. Ziele, die ausschließlich INT8 unterstützen, wie RV1103 und RV1106, benötigen quantize=8.
Was ist Rockchip?#
Rockchip ist für vielseitige und energieeffiziente Lösungen bekannt und entwickelt fortschrittliche System-on-Chips (SoCs), die eine große Bandbreite an Unterhaltungselektronik, industriellen Anwendungen und KI-Technologien antreiben. Mit ARM-basierter Architektur, integrierten neuronalen Verarbeitungseinheiten (NPUs) und Unterstützung für hochauflösende Multimedia-Inhalte ermöglichen Rockchip-SoCs eine herausragende Leistung 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 und erweitern damit deren Reichweite und Wirkung in unterschiedlichen Märkten.
RKNN Toolkit#
Das RKNN Toolkit ist eine Sammlung von Tools und Bibliotheken, die Rockchip zur Bereitstellung von Deep-Learning-Modellen auf den eigenen Hardwareplattformen bereitstellt. RKNN, kurz für Rockchip Neural Network, ist das proprietäre Format, das von diesen Tools verwendet wird. RKNN-Modelle sind darauf ausgelegt, die von der NPU (Neural Processing Unit) von Rockchip bereitgestellte Hardwarebeschleunigung vollständig zu nutzen und so eine hohe Leistung bei KI-Aufgaben auf Geräten wie RK3588, RK3566, RV1103, RV1106 und anderen Rockchip-basierten Systemen zu gewährleisten.
Wichtige Merkmale von RKNN-Modellen#
RKNN-Modelle bieten mehrere Vorteile für die Bereitstellung auf Rockchip-Plattformen:
- Für NPU optimiert: RKNN-Modelle sind speziell für die Ausführung auf den NPUs von Rockchip optimiert und gewährleisten so 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 und ermöglichen so eine bessere Nutzung der Hardwareressourcen.
- Energieeffizienz: Durch die Nutzung dedizierter NPU-Hardware verbrauchen RKNN-Modelle weniger Energie als CPU- oder GPU-basierte Verarbeitung, wodurch sich die Akkulaufzeit tragbarer Geräte verlängert.
Betriebssystem auf Rockchip-Hardware installieren#
Der erste Schritt nach dem Erhalt eines Rockchip-basierten Geräts besteht darin, ein Betriebssystem zu installieren, damit die Hardware in eine funktionsfähige Umgebung booten kann. In dieser Anleitung verweisen wir auf die Einstiegsanleitungen für die beiden von uns getesteten Geräte Radxa Rock 5B und Radxa Zero 3W.
Unterstützte Aufgaben#
Der RKNN-Export unterstützt alle sieben Ultralytics-Aufgaben. Die semantische Segmentierung und die Tiefenschätzung sind nur mit YOLO26 verfügbar, der einzigen Modellfamilie, die diese Köpfe enthält.
| Aufgabe | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Erkennen | ✅ | ✅ | ✅ |
| Segmentieren | ✅ | ✅ | ✅ |
| Semantisch | ❌ | ❌ | ✅ |
| Tiefe | ❌ | ❌ | ✅ |
| Klassifizieren | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Export nach RKNN: Dein YOLO26-Modell konvertieren#
Exportiere ein Ultralytics YOLO26-Modell ins RKNN-Format und führe mit dem exportierten Modell eine Inferenz aus.
Verwende für den Export des Modells nach RKNN unbedingt einen X86-basierten Linux-PC, da der Export auf Rockchip-basierten Geräten (ARM64) nicht unterstützt wird.
Installation#
Führe zur Installation der erforderlichen Pakete Folgendes aus:
# Install the required package for YOLO26
pip install ultralyticsAusführliche Anweisungen und bewährte Vorgehensweisen zur Installation findest du in unserem Installationsleitfaden von Ultralytics. Sollten bei der Installation der für YOLO26 erforderlichen Pakete Schwierigkeiten auftreten, findest du in unserem Leitfaden zu häufigen Problemen Lösungen und Tipps.
Verwendung#
FP16-Export wird für alle Aufgaben unterstützt. Der INT8-Export wird derzeit nur für Erkennungsmodelle unterstützt, wobei weitere Aufgabenunterstützung in Zukunft folgt; INT8-only-Zielplattformen wie RV1103 und RV1106 exportieren daher nur Erkennungsmodelle.
Das RKNN-Format unterstützt die Modi Export, Predict und Validate. Inferenz und Validierung werden auf der Rockchip-NPU-Hardware ausgeführt. Exportiere dein Modell und lade anschließend das exportierte Modell, um eine Inferenz auszuführen oder seine Genauigkeit zu validieren. Standardmäßig verwendet der RKNN-Export für FP16-fähige Rockchip-Ziele den Gleitkomma-Build-Pfad (quantize=16). Verwende quantize=8, um mit Kalibrierungsdaten ein INT8-quantisiertes RKNN-Modell zu erstellen. Der RKNN-Export stellt keinen separaten FP32-Modus bereit; der FP16-Standard fordert FP32 nicht an.
from ultralytics import YOLO
# Load a YOLO26 model (replace with any supported task model)
model = YOLO("yolo26n-obb.pt")
# Export the model to RKNN format
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# Export an INT8-quantized RKNN model with calibration data (detection models only)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")
# Run inference
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")
# Validate accuracy on the DOTA8 dataset
metrics = model.val(data="dota8.yaml")Exportargumente#
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
format | str | 'rknn' | Zielformat für das exportierte Modell, das die Kompatibilität mit Rockchip-Bereitstellungsumgebungen festlegt. |
imgsz | int oder tuple | 640 | Gewünschte Bildgröße für die Modelleingabe. Kann für quadratische Bilder eine Ganzzahl oder für bestimmte Abmessungen ein Tupel (height, width) sein. |
batch | int | 1 | Legt die Batchgröße für die Inferenz des exportierten Modells oder die maximale Anzahl der Bilder fest, die das exportierte Modell im Modus predict gleichzeitig verarbeitet. |
name | str | 'rk3588' | Gibt das Rockchip-Ziel an. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 und rv1126b unterstützen FP16 (quantize=16 oder nicht gesetzt) und INT8 (quantize=8); rv1103, rv1106, rv1103b und rv1106b unterstützen ausschließlich INT8 (quantize=8 oder nicht gesetzt). |
quantize | int oder str | None | Quantisierungsgenauigkeit: nicht gesetzt oder 16 erstellt FP16 für FP16-fähige Zielplattformen; ein nicht gesetzter Wert aktiviert INT8 automatisch für INT8-only-Zielplattformen; 8 erstellt INT8, was nur für Erkennungsmodelle unterstützt wird. Der RKNN-Export hat keinen separaten FP32-Modus. Ersetzt die veralteten Flags half/int8. |
simplify | bool | True | Vereinfacht den Zwischenstand des ONNX-Graphen mit onnxslim. |
opset | int | None | Gibt die ONNX-Opset-Version für den intermediären ONNX-Graphen an. Der Standardwert ist 19, wenn keine Angabe erfolgt; Werte über 19 werden auf 19 reduziert. |
data | str | None | Datensatz-YAML, die für die INT8-Kalibrierung verwendet wird. Wenn sie bei quantize=8 weggelassen wird, wählt Ultralytics den Standard-Erkennungskalibrierungsdatensatz (coco8.yaml) aus. |
fraction | float, int oder list | 1.0 | Kalibrierungs-Teilmenge als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse bzw. -Anzahlen. Bei Listen mit zwei Elementen bleibt test vollständig, während 0 übersprungen wird. |
device | str | None | Gibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu). |
Verwende für den Export nach RKNN unbedingt einen x86-Linux-Rechner.
Weitere Informationen zum Exportvorgang findest du auf der Ultralytics-Dokumentationsseite zum Export.
Bereitstellung exportierter YOLO26-RKNN-Modelle#
Nachdem du deine Ultralytics YOLO26-Modelle erfolgreich ins RKNN-Format exportiert hast, besteht der nächste Schritt darin, diese Modelle auf Rockchip-basierten Geräten bereitzustellen.
Installation#
Führe zur Installation der erforderlichen Pakete Folgendes aus:
# Install the required package for YOLO26
pip install ultralyticsFühre nach der Installation die Inferenz und Validierung auf deinem Rockchip-Gerät genau wie im obigen Abschnitt Verwendung gezeigt aus — das exportierte _rknn_model wird direkt mit YOLO(...) geladen.
Wenn eine Protokollmeldung darauf hinweist, dass die RKNN-Runtime-Version nicht mit der RKNN-Toolkit-Version übereinstimmt und die Inferenz fehlschlägt, ersetze /usr/lib/librknnrt.so durch die offizielle librknnrt.so-Datei.

Anwendungen in der Praxis#
Rockchip-Geräte mit YOLO26-RKNN-Modellen können in verschiedenen Anwendungen eingesetzt werden:
- Intelligente Überwachung: Setze effiziente Objekterkennungssysteme zur Sicherheitsüberwachung bei geringem Energieverbrauch ein.
- Industrielle Automatisierung: Implementiere Qualitätskontrolle und Fehlererkennung direkt auf eingebetteten Geräten.
- Einzelhandelsanalyse: Verfolge Kundenverhalten und Bestandsverwaltung in Echtzeit ohne Abhängigkeit von der Cloud.
- Intelligente Landwirtschaft: Überwache den Gesundheitszustand von Nutzpflanzen und erkenne Schädlinge mithilfe von Computer Vision in der Landwirtschaft.
- Autonome Robotik: Ermögliche bildbasierte Navigation und Hinderniserkennung auf ressourcenbeschränkten Plattformen.
Benchmarks#
Die folgenden YOLO26-Benchmarks wurden vom Ultralytics-Team auf einem Radxa Rock 5B auf Basis von Rockchip RK3588 mit dem Modellformat rknn zur Messung von Geschwindigkeit und Genauigkeit durchgeführt.
| Modell | Format | Precision | Status | Größe (MB) | mAP50-95(B) | Inferenzzeit (ms/Bild) |
|---|---|---|---|---|---|---|
| YOLO26n | rknn | FP16 | ✅ | 7.2 | 0.477 | 58.5 |
| YOLO26n | rknn | INT8 | ✅ | 4.1 | 0.463 | 41.2 |
| YOLO26s | rknn | FP16 | ✅ | 21.0 | 0.569 | 93.8 |
| YOLO26s | rknn | INT8 | ✅ | 12.0 | 0.554 | 61.9 |
| YOLO26m | rknn | FP16 | ✅ | 43.0 | 0.608 | 226.3 |
| YOLO26m | rknn | INT8 | ✅ | 22.0 | 0.603 | 122.0 |
| YOLO26l | rknn | FP16 | ✅ | 53.0 | 0.628 | 264.7 |
| YOLO26l | rknn | INT8 | ✅ | 28.0 | 0.617 | 145.3 |
| YOLO26x | rknn | FP16 | ✅ | 113.0 | 0.664 | 655.4 |
| YOLO26x | rknn | INT8 | ✅ | 58.0 | 0.649 | 287.4 |
Getestet mit ultralytics 8.4.60
Die Validierung für die obigen Benchmarks wurde mit dem COCO128-Datensatz durchgeführt. Die Inferenzzeit schließt die Vor- und Nachbearbeitung nicht ein.
Zusammenfassung#
In dieser Anleitung hast du gelernt, wie du Ultralytics YOLO26-Modelle ins RKNN-Format exportierst, um ihre Bereitstellung auf Rockchip-Plattformen zu verbessern. Außerdem hast du das RKNN Toolkit und die spezifischen Vorteile der Verwendung von RKNN-Modellen für Edge-KI-Anwendungen kennengelernt.
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 weitere KI-Anwendungen im Bereich Computer Vision bei minimalem Energieverbrauch und hoher Leistung.
Weitere Informationen zur Verwendung findest du in der offiziellen RKNN-Dokumentation.
Wenn du mehr über andere Ultralytics-YOLO26-Integrationen erfahren möchtest, besuche unsere Seite mit dem Integrationsleitfaden. Dort findest du zahlreiche nützliche Ressourcen und Informationen.
FAQ#
Du kannst dein Ultralytics-YOLO-Modell ganz einfach mit der Methode
export()im Ultralytics-Paket für Python oder über die Befehlszeilenschnittstelle (CLI) ins RKNN-Format exportieren. Stelle sicher, dass du für den Export einen x86-basierten Linux-PC verwendest, da ARM64-Geräte wie Rockchip für diesen Vorgang nicht unterstützt werden. Du kannst die Rockchip-Zielplattform mit dem Argumentnameangeben, beispielsweiserk3588,rk3566oder andere. Dieser Vorgang erzeugt ein optimiertes RKNN-Modell, das für die Bereitstellung auf deinem Rockchip-Gerät bereit ist und dessen neuronale Verarbeitungseinheit (NPU) für eine beschleunigte Inferenz nutzt.Beispielfrom 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")RKNN-Modelle wurden speziell entwickelt, um die Möglichkeiten zur Hardwarebeschleunigung der neuronalen Verarbeitungseinheiten (NPUs) von Rockchip zu nutzen. Diese Optimierung führt im Vergleich zur Ausführung allgemeiner Modellformate wie ONNX oder LiteRT auf derselben Hardware zu deutlich höheren Inferenzgeschwindigkeiten und geringerer Latenz. Die Verwendung von RKNN-Modellen ermöglicht eine effizientere Nutzung der Geräteressourcen, was zu einem niedrigeren Energieverbrauch und einer insgesamt besseren Leistung führt – besonders wichtig für Echtzeitanwendungen auf Edge-Geräten. Durch die Konvertierung deiner Ultralytics-YOLO-Modelle nach RKNN kannst du auf Geräten mit Rockchip-SoCs wie RK3588, RK3566 und anderen eine optimale Leistung erzielen.
RKNN-Modelle sind speziell für Rockchip-Plattformen und deren integrierte NPUs optimiert. Zwar kannst du ein RKNN-Modell technisch mithilfe einer Softwareemulation auf anderen Plattformen ausführen, profitierst dann jedoch nicht von der Hardwarebeschleunigung der Rockchip-Geräte. Für eine optimale Leistung auf anderen Plattformen empfiehlt es sich, deine Ultralytics-YOLO-Modelle in Formate zu exportieren, die speziell für diese Plattformen entwickelt wurden, beispielsweise TensorRT für NVIDIA-GPUs oder Edge TPU für die Coral-Geräte von Google. Ultralytics unterstützt den Export in eine Vielzahl von Formaten und gewährleistet so die Kompatibilität mit unterschiedlichen Hardwarebeschleunigern.
Der Export von Ultralytics YOLO ins RKNN-Format unterstützt Rockchip-Plattformen mit RKNN-Gleitkomma-Builds, darunter RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 und RV1126B. Außerdem wird der INT8-quantisierte RKNN-Export mit
quantize=8unterstützt, der für ausschließlich INT8-fähige Ziele wie RV1103, RV1106, RV1103B und RV1106B erforderlich ist. Diese Plattformen kommen häufig in Geräten von Herstellern wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi zum Einsatz. Dadurch kannst du deine optimierten RKNN-Modelle auf einer Reihe von Rockchip-Geräten bereitstellen – von Einplatinencomputern bis hin zu Industriesystemen.RKNN-Modelle übertreffen auf Rockchip-Geräten im Allgemeinen andere Formate wie ONNX oder LiteRT, da sie für die NPUs von Rockchip optimiert sind. Beispielsweise zeigen Benchmarks auf dem Radxa Rock 5B (RK3588), dass YOLO26n im RKNN-Format eine Inferenzzeit von 58,5 ms/Bild in FP16 und 41,2 ms/Bild in INT8 erreicht und damit deutlich schneller ist als andere Formate. Dieser Leistungsvorteil zeigt sich bei verschiedenen YOLO26-Modellgrößen, wie im Benchmark-Abschnitt dargestellt. Durch die Nutzung der dedizierten NPU-Hardware minimieren RKNN-Modelle die Latenz und maximieren den Durchsatz, wodurch sie sich ideal für Echtzeitanwendungen auf Rockchip-basierten Edge-Geräten eignen.