RKNN-Export für Ultralytics-YOLO26-Modelle auf Rockchip#
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 bietet optimierte Leistung und Kompatibilität mit der Hardware von Rockchip. In dieser Anleitung erfährst du, wie du deine YOLO26-Modelle in das RKNN-Format konvertierst, einschließlich Exporten mit Gleitkommazahlen und INT8-Quantisierung, um sie effizient auf Rockchip-Plattformen bereitzustellen.
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 entwickelt energieeffiziente Ein-Chip-Systeme (SoCs), die in zahlreichen Unterhaltungselektronikgeräten, industriellen Anwendungen und KI-Produkten zum Einsatz kommen. Dank ARM-basierter Architektur, integrierten neuronalen Verarbeitungseinheiten (NPUs) und Unterstützung für Multimedia in hoher Auflösung versorgen Rockchip-SoCs Geräte wie Tablets, Smart-TVs, IoT-Systeme und Edge-KI-Anwendungen mit Leistung. Unternehmen wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi bieten verschiedene Produkte auf Basis von Rockchip-SoCs an.
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, die 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#
Nach dem Erhalt eines Rockchip-basierten Geräts ist der erste Schritt, ein Betriebssystem auf das Gerät zu flashen, damit die Hardware in eine funktionsfähige Umgebung starten kann. Unten findest du die Anleitungen für die ersten Schritte mit den beiden getesteten Geräten 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 Export mit FP16 und INT8 wird für alle Aufgaben unterstützt. INT8-Builds für FP16-fähige Zielplattformen behalten Schichten mit hohen Fehlerwerten in FP16 (RKNN Toolkit auto_hybrid); reine INT8-Zielplattformen wie RV1103 und RV1106 überspringen diesen Schritt. Bei Erkennungs-, Segmentierungs-, Posenschätzungs- und OBB-Modellen endet die INT8-Datei .rknn nach den Ausgabefaltungen des Heads und gibt rohe Head-Tensoren für jede Ebene aus. Die Box-Dekodierung erfolgt auf der Host-CPU in Gleitkomma-Präzision anhand der Datei tail.onnx im exportierten Verzeichnis. Ultralytics führt tail.onnx mit ONNX Runtime aus (wird automatisch installiert, falls es fehlt); benutzerdefinierte Laufzeitumgebungen müssen tail.onnx ausführen oder dieselbe Dekodierung implementieren. Exportiere INT8-Erkennungs-, Segmentierungs-, Posenschätzungs- und OBB-Modelle, die mit früheren Ultralytics-Versionen exportiert wurden, erneut, da ihre Ausgaben eingabenormalisierte Koordinaten enthalten, die aktuelle Versionen nicht mehr zurückskalieren. Die INT8-Genauigkeit für alle Aufgaben wurde mit dem rknn-toolkit2-Simulator validiert, jedoch noch nicht auf Rockchip-Hardware. INT8-Tiefenmodelle werden anhand von Bildern aus dem Tiefendatensatz kalibriert, denen passende Tiefenkarten zugeordnet sind. Wähle Kalibrierungsbilder aus, die den nahen und fernen Tiefenbereich der Einsatzszene abdecken, da Tiefen außerhalb des kalibrierten Bereichs an Genauigkeit verlieren.
Das RKNN-Format unterstützt die Modi Export, Predict und Validate. Inferenz und Validierung werden auf der NPU-Hardware von Rockchip 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-Zielgeräte mit FP16-Unterstützung den Gleitkomma-Build-Pfad (quantize=16). Verwende quantize=8, um mit Kalibrierungsdaten ein INT8-quantisiertes RKNN-Modell zu erstellen. Der RKNN-Export bietet keinen separaten FP32-Modus; beim 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
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: Bei nicht gesetztem Wert oder 16 wird für FP16-fähige Zielplattformen FP16 erstellt; bei reinen INT8-Zielplattformen wird INT8 automatisch aktiviert; mit 8 wird INT8 erstellt. Für den RKNN-Export gibt es 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 | Für die INT8-Kalibrierung verwendete Dataset-YAML-Datei. Wenn sie bei quantize=8 nicht angegeben wird, verwendet Ultralytics den Standarddatensatz der jeweiligen Aufgabe (z. B. coco8.yaml für Erkennung, depth8.yaml für Tiefe). |
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 beim Export nach RKNN einen x86-Linux-Rechner.
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 der obigen Benchmarks erfolgte mit dem COCO128-Datensatz. Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung. Die INT8-Zeilen werden aktualisiert, sobald der aktuelle INT8-Exportpfad (Dekodierung auf dem Host und auto_hybrid) auf Rockchip-Hardware validiert wurde.
Zusammenfassung#
In dieser Anleitung hast du gelernt, wie du Ultralytics YOLO26-Modelle für die Bereitstellung auf Rockchip-Plattformen in das RKNN-Format exportierst. Außerdem hast du das RKNN Toolkit und die besonderen Vorteile von RKNN-Modellen für Edge-KI-Anwendungen kennengelernt.
Die Kombination von Ultralytics YOLO26 und der NPU-Technologie von Rockchip bietet eine effiziente Lösung für die Ausführung anspruchsvoller Computer-Vision-Aufgaben auf eingebetteten Geräten. Dieser Ansatz ermöglicht Objekterkennung in Echtzeit und weitere KI-Anwendungen für Bildverarbeitung bei geringem Stromverbrauch.
Weitere Informationen zur Verwendung findest du in der offiziellen RKNN-Dokumentation.
Häufig gestellte Fragen#
Du kannst dein Ultralytics-YOLO-Modell mit der Methode
export()im Ultralytics-Python-Paket oder über die Kommandozeilenschnittstelle (CLI) in das 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. Mit dem Argumentnamekannst du die Rockchip-Zielplattform angeben, 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 neurale Verarbeitungseinheit (NPU) zur beschleunigten 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 Hardwarebeschleunigung der neuronalen Verarbeitungseinheiten (NPUs) von Rockchip zu nutzen. Dadurch ist die Inferenz schneller und die Latenz geringer als bei der Ausführung allgemeiner Modellformate wie ONNX oder LiteRT auf derselben Hardware. Mit RKNN-Modellen lassen sich die Ressourcen des Geräts effizienter nutzen, was zu einem geringeren Stromverbrauch und einer insgesamt besseren Leistung führt. Das ist besonders wichtig für Echtzeitanwendungen auf Edge-Geräten. Wenn du deine Ultralytics-YOLO-Modelle nach RKNN konvertierst, erzielst du eine 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. 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 in FP16 und 41,2 ms/Bild in INT8 erreicht. Die Ergebnisse für alle YOLO26-Modellgrößen findest du im Abschnitt Benchmarks. Durch die Ausführung auf der dedizierten NPU-Hardware minimieren RKNN-Modelle die Latenz und maximieren den Durchsatz für Echtzeitanwendungen auf Edge-Geräten mit Rockchip.