RKNN-Export für Ultralytics-YOLO26-Modelle auf Rockchip#
Bei der Bereitstellung von Bildverarbeitungsmodellen auf eingebetteten Geräten, insbesondere solchen 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 Gleitkommazahlen und INT8-Quantisierung, und ermöglicht so eine effiziente Bereitstellung auf Rockchip-Plattformen.
Diese Anleitung wurde mit Radxa Rock 5B getestet, das auf Rockchip RK3588 basiert, sowie mit Radxa Zero 3W, das auf Rockchip RK3566 basiert. Sie sollte auch mit anderen Rockchip-Geräten funktionieren, die rknn-toolkit2 unterstützen, etwa RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B und RV1106B. Ziele, die ausschließlich INT8 unterstützen, etwa RV1103 und RV1106, benötigen quantize=8.
Was ist Rockchip?#
Rockchip ist bekannt für vielseitige und energieeffiziente Lösungen und entwickelt fortschrittliche Ein-Chip-Systeme (SoCs), die eine Vielzahl von Unterhaltungselektronik, industriellen Anwendungen und KI-Technologien antreiben. Dank ARM-basierter Architektur, integrierter neuronaler Verarbeitungseinheiten (NPUs) und Unterstützung für hochauflösende Multimedia-Inhalte ermöglichen Rockchip-SoCs Spitzenleistung in Geräten wie Tablets, Smart-TVs, IoT-Systemen 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 so deren Reichweite und Wirkung in verschiedenen Märkten.
RKNN Toolkit#
Das RKNN Toolkit ist eine Sammlung von Tools und Bibliotheken, die Rockchip zur Verfügung stellt, um die Bereitstellung von Deep-Learning-Modellen auf den eigenen Hardwareplattformen zu erleichtern. RKNN, kurz für Rockchip Neural Network, ist das proprietäre Format, das von diesen Tools verwendet wird. RKNN-Modelle sind darauf ausgelegt, die Hardwarebeschleunigung der Rockchip-NPU (neuronale Verarbeitungseinheit) voll auszunutzen und so eine hohe Leistung bei KI-Aufgaben auf Geräten wie RK3588, RK3566, RV1103, RV1106 und anderen Rockchip-basierten Systemen sicherzustellen.
Wichtige Merkmale von RKNN-Modellen#
RKNN-Modelle bieten mehrere Vorteile bei der Bereitstellung auf Rockchip-Plattformen:
- Für NPUs optimiert: RKNN-Modelle sind speziell für die Ausführung auf Rockchip-NPUs optimiert und bieten dadurch 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 lassen sich auf bestimmte Rockchip-Plattformen zuschneiden und nutzen dadurch die Hardwareressourcen besser aus.
- Energieeffizienz: Durch die Verwendung dedizierter NPU-Hardware benötigen RKNN-Modelle weniger Strom als eine Verarbeitung auf CPU oder GPU und verlängern so die Akkulaufzeit tragbarer Geräte.
Betriebssystem auf Rockchip-Hardware flashen#
Der erste Schritt nach dem Erwerb eines Rockchip-basierten Geräts ist das Flashen eines Betriebssystems, damit die Hardware in eine funktionsfähige Umgebung starten 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. Semantische Segmentierung und Tiefenschätzung sind nur mit YOLO26 verfügbar, der einzigen Modellfamilie, die diese Köpfe mitliefert.
| Aufgabe | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Erkennung | ✅ | ✅ | ✅ |
| Segmentierung | ✅ | ✅ | ✅ |
| Semantik | ❌ | ❌ | ✅ |
| Tiefe | ❌ | ❌ | ✅ |
| Klassifizierung | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Export nach RKNN: YOLO26-Modell konvertieren#
Exportiere ein Ultralytics-YOLO26-Modell ins RKNN-Format und führe mit dem exportierten Modell Inferenz aus.
Verwende für den Export des Modells nach RKNN unbedingt einen Linux-PC mit X86-Architektur, da der Export auf Rockchip-basierten Geräten (ARM64) nicht unterstützt wird.
Installation#
Führe zum Installieren 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 unserer Installationsanleitung von Ultralytics. Falls bei der Installation der für YOLO26 erforderlichen Pakete Probleme auftreten, findest du Lösungen und Tipps in unserer Anleitung zu häufigen Problemen.
Verwendung#
Der FP16-Export wird für alle Aufgaben unterstützt. Der INT8-Export wird derzeit nur für Erkennungsmodelle unterstützt; weitere Aufgaben sollen künftig hinzukommen. Ziele, die ausschließlich INT8 unterstützen, etwa RV1103 und RV1106, können daher nur Erkennungsmodelle exportieren.
Das RKNN-Format unterstützt die Modi Export, Vorhersage und Validierung. Inferenz und Validierung werden auf Rockchip-NPU-Hardware ausgeführt. Exportiere dein Modell und lade anschließend das exportierte Modell, um Inferenz auszuführen oder seine Genauigkeit zu validieren. Standardmäßig verwendet der RKNN-Export für Rockchip-Ziele mit FP16-Unterstützung den Gleitkomma-Buildpfad (quantize=16). Verwende quantize=8, um mit Kalibrierungsdaten ein INT8-quantisiertes RKNN-Modell zu erstellen. Der RKNN-Export bietet keinen separaten FP32-Modus; mit dem FP16-Standard wird FP32 nicht angefordert.
from ultralytics import YOLO
# YOLO26-Modell laden (durch ein beliebiges unterstütztes Aufgabenmodell ersetzen)
model = YOLO("yolo26n-obb.pt")
# Modell ins RKNN-Format exportieren
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# Ein INT8-quantisiertes RKNN-Modell mit Kalibrierungsdaten exportieren (nur Erkennungsmodelle)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# Exportiertes RKNN-Modell laden
model = YOLO("./yolo26n-obb_rknn_model")
# Inferenz ausführen
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Exportiertes RKNN-Modell laden
model = YOLO("./yolo26n-obb_rknn_model")
# Genauigkeit mit dem DOTA8-Datensatz validieren
metrics = model.val(data="dota8.yaml")Exportargumente#
| Argument | Typ | Standard | 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 eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein. |
batch | int | 1 | Gibt die Batchgröße für die Inferenz des Exportmodells oder die Höchstzahl der Bilder an, die das exportierte Modell gleichzeitig im predict-Modus verarbeiten kann. |
name | str | 'rk3588' | Legt das Rockchip-Ziel fest. 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 nur INT8 (quantize=8 oder nicht gesetzt). |
quantize | int oder str | None | Quantisierungsgenauigkeit: Ohne Angabe oder mit 16 wird für Ziele mit FP16-Unterstützung FP16 erstellt; bei Zielen, die nur INT8 unterstützen, wird INT8 automatisch aktiviert; mit 8 wird INT8 erstellt, das 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 zwischengeschalteten ONNX-Graphen mit onnxslim. |
opset | int | None | Legt die ONNX-Opset-Version für den vorläufigen ONNX-Graphen fest. Standardmäßig wird 19 verwendet, wenn kein Wert gesetzt ist; Werte über 19 werden auf 19 reduziert. |
data | str | None | Datensatz-YAML-Datei für die INT8-Kalibrierung. Wird sie zusammen mit quantize=8 weggelassen, wählt Ultralytics den standardmäßigen Kalibrierungsdatensatz für Erkennungsaufgaben (coco8.yaml) aus. |
fraction | float, int oder list | 1.0 | Kalibrierungsteilstichprobe als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse/-Anzahlen. Bei Listen mit zwei Elementen bleibt test vollständig erhalten, während 0 es überspringt. |
device | str | None | Legt das Gerät für den Export fest: GPU (device=0), CPU (device=cpu). |
Verwende für den RKNN-Export unbedingt einen Linux-Rechner mit x86-Architektur.
Weitere Informationen zum Exportvorgang findest du auf der Ultralytics-Dokumentationsseite zum Export.
Exportierte YOLO26-RKNN-Modelle bereitstellen#
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 zum Installieren der erforderlichen Pakete Folgendes aus:
# Install the required package for YOLO26
pip install ultralyticsFühre nach der Installation Inferenz und Validierung auf deinem Rockchip-Gerät genau wie oben im Abschnitt Verwendung beschrieben aus – das exportierte _rknn_model wird direkt mit YOLO(...) geladen.
Wenn du eine Protokollmeldung erhältst, dass die RKNN-Laufzeitversion 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 lassen sich in verschiedenen Anwendungsbereichen einsetzen:
- Intelligente Überwachung: Stelle energieeffiziente Objekterkennungssysteme für die Sicherheitsüberwachung bereit.
- Industrielle Automatisierung: Führe Qualitätskontrollen und Fehlererkennung direkt auf eingebetteten Geräten durch.
- Einzelhandelsanalysen: Verfolge Kundenverhalten und verwalte Lagerbestände in Echtzeit, ohne auf die Cloud angewiesen zu sein.
- Intelligente Landwirtschaft: Überwache den Zustand von Nutzpflanzen und erkenne Schädlinge mithilfe von Computer Vision in der Landwirtschaft.
- Autonome Robotik: Ermögliche visuelle Navigation und Hinderniserkennung auf Plattformen mit begrenzten Ressourcen.
Benchmarks#
Die folgenden YOLO26-Benchmarks wurden vom Ultralytics-Team auf einem Radxa Rock 5B mit Rockchip RK3588 ausgeführt. Dabei wurden Geschwindigkeit und Genauigkeit im Modellformat rknn gemessen.
| 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 |
Mit ultralytics 8.4.60 getestet
Die Validierung für die obigen Benchmarks erfolgte mit dem COCO128-Datensatz. Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
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 besonderen Vorteile 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, um anspruchsvolle Computer-Vision-Aufgaben auf eingebetteten Geräten auszuführen. Dieser Ansatz ermöglicht Objekterkennung in Echtzeit und weitere KI-Anwendungen im Bereich Computer Vision bei minimalem Stromverbrauch und hoher Leistung.
Weitere Informationen zur Verwendung findest du in der offiziellen RKNN-Dokumentation.
Wenn du mehr über weitere Integrationen von Ultralytics YOLO26 erfahren möchtest, besuche auch unsere Seite mit Integrationsanleitungen. Dort findest du zahlreiche nützliche Ressourcen und Einblicke.
Häufig gestellte Fragen#
Du kannst dein Ultralytics-YOLO-Modell ganz einfach mit der Methode
export()im Ultralytics-Python-Paket oder über die Befehlszeilenschnittstelle (CLI) ins RKNN-Format exportieren. Verwende für den Export einen Linux-PC mit x86-Architektur, da ARM64-Geräte wie Rockchip für diesen Vorgang nicht unterstützt werden. Du kannst die Rockchip-Zielplattform mit dem Argumentnameangeben, zum Beispielrk3588,rk3566oder andere. Dabei wird ein optimiertes RKNN-Modell erstellt, das für die Bereitstellung auf deinem Rockchip-Gerät bereit ist und dessen neuronale Verarbeitungseinheit (NPU) für beschleunigte Inferenz nutzt.Beispielfrom ultralytics import YOLO # Lade dein YOLO-Modell model = YOLO("yolo26n.pt") # Exportiere ins RKNN-Format für eine bestimmte Rockchip-Plattform model.export(format="rknn", name="rk3588")RKNN-Modelle wurden speziell dafür entwickelt, die Hardwarebeschleunigungsmöglichkeiten der neuronalen Verarbeitungseinheiten (NPUs) von Rockchip zu nutzen. Dank dieser Optimierung ist die Inferenz deutlich schneller und die Latenz geringer als bei der Ausführung allgemeiner Modellformate wie ONNX oder LiteRT auf derselben Hardware. Mit RKNN-Modellen kannst du die Ressourcen deines Geräts effizienter nutzen und so den Stromverbrauch senken und die Gesamtleistung verbessern – besonders wichtig für Echtzeitanwendungen auf Edge-Geräten. Wenn du deine Ultralytics-YOLO-Modelle nach RKNN konvertierst, erzielst du optimale Leistung auf Geräten mit Rockchip-SoCs wie RK3588, RK3566 und anderen.
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 dabei aber nicht von der Hardwarebeschleunigung der Rockchip-Geräte. Für optimale Leistung auf anderen Plattformen empfiehlt es sich, deine Ultralytics-YOLO-Modelle in Formate zu exportieren, die speziell für diese Plattformen entwickelt wurden, etwa TensorRT für NVIDIA-GPUs oder Edge TPU für Coral-Geräte von Google. Ultralytics unterstützt den Export in eine Vielzahl von Formaten und gewährleistet so die Kompatibilität mit verschiedenen 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 quantisierte INT8-RKNN-Export mit
quantize=8unterstützt, der für Ziele erforderlich ist, die nur INT8 unterstützen, etwa RV1103, RV1106, RV1103B und RV1106B. Diese Plattformen sind häufig in Geräten von Herstellern wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi verbaut. So kannst du deine optimierten RKNN-Modelle auf zahlreichen 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. Benchmarks auf dem Radxa Rock 5B (RK3588) zeigen beispielsweise, dass YOLO26n im RKNN-Format eine Inferenzzeit von 58,5 ms/Bild bei FP16 und 41,2 ms/Bild bei INT8 erreicht und damit deutlich schneller ist als andere Formate. Dieser Leistungsvorteil zeigt sich bei verschiedenen YOLO26-Modellgrößen, wie im Benchmark-Abschnitt zu sehen ist. Durch den Einsatz dedizierter NPU-Hardware minimieren RKNN-Modelle die Latenz und maximieren den Durchsatz. Damit eignen sie sich ideal für Echtzeitanwendungen auf Rockchip-basierten Edge-Geräten.