YOLO Vision 2026:

Rockchip RKNN-Export für Ultralytics YOLO26-Modelle#

Wenn du Computer-Vision-Modelle auf eingebetteten Geräten bereitstellst, insbesondere auf solchen mit Rockchip-Prozessoren, ist ein kompatibles Modellformat unerlässlich. Das Exportieren von Ultralytics YOLO26-Modellen in das 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 in das RKNN-Format, einschließlich Gleitkomma- und INT8-quantisierten Exporten, um eine effiziente Bereitstellung auf Rockchip-Plattformen zu ermöglichen.

Rockchip RKNN export for NPU deployment

Hinweis

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 auch auf anderen Geräten mit Rockchip-Basis funktioniert, die rknn-toolkit2 unterstützen, wie etwa RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B und RV1106B. Ausschließlich für INT8 ausgelegte Ziele wie RV1103 und RV1106 erfordern quantize=8.

Was ist Rockchip?#

Rockchip ist bekannt für die Bereitstellung vielseitiger und energieeffizienter Lösungen und entwickelt fortschrittliche System-on-Chips (SoCs), die eine Vielzahl von Unterhaltungselektronikgeräten, Industrieanwendungen und KI-Technologien antreiben. Mit einer ARM-basierten Architektur, integrierten neuronalen Prozessoren (NPUs) und hochauflösender Multimedia-Unterstützung ermöglichen Rockchip-SoCs eine bahnbrechende 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 an, die auf Rockchip-SoCs basieren, wodurch deren Reichweite und Wirkung in verschiedenen Märkten weiter ausgebaut werden.

RKNN Toolkit#

Das RKNN Toolkit ist eine Sammlung von Tools und Bibliotheken von Rockchip, die die Bereitstellung von Deep-Learning-Modellen auf ihren Hardwareplattformen erleichtern. RKNN (Rockchip Neural Network) ist das proprietäre Format, das von diesen Tools verwendet wird. RKNN-Modelle sind so konzipiert, dass sie die Hardwarebeschleunigung der NPU (Neural Processing Unit) von Rockchip optimal nutzen, was eine hohe Leistung bei KI-Aufgaben auf Geräten wie RK3588, RK3566, RV1103, RV1106 und anderen Systemen mit Rockchip-Technologie gewährleistet.

Hauptmerkmale von RKNN-Modellen#

RKNN-Modelle bieten mehrere Vorteile für die Bereitstellung auf Rockchip-Plattformen:

  • Optimiert für NPU: RKNN-Modelle sind speziell für die Ausführung auf Rockchip-NPUs optimiert, was maximale Leistung und Effizienz garantiert.
  • 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 spezifische 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 Akkulaufzeit tragbarer Geräte verlängert.

Betriebssystem auf Rockchip-Hardware flashen#

Der erste Schritt nach dem Erhalt deines Rockchip-basierten Geräts ist das Flashen eines Betriebssystems, damit die Hardware in eine funktionierende Umgebung booten kann. In dieser Anleitung verweisen wir auf die Erste-Schritte-Anleitungen der 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 Familie, die diese Heads bereitstellt.

AufgabeYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Export in RKNN: Dein YOLO26-Modell konvertieren#

Exportiere ein Ultralytics YOLO26-Modell in das RKNN-Format und führe die Inferenz mit dem exportierten Modell durch.

Hinweis

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

Installation#

Um die erforderlichen Pakete zu installieren, führe aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Detaillierte Anweisungen und bewährte Methoden zum Installationsprozess findest du in unserer Ultralytics-Installationsanleitung. Wenn während der Installation der erforderlichen Pakete für YOLO26 Schwierigkeiten auftreten, findest du in unserem Leitfaden zu häufigen Problemen Lösungen und Tipps.

Verwendung#

Das RKNN-Format unterstützt die Modi Export, Predict und Validate. Inferenz und Validierung werden auf Rockchip-NPU-Hardware ausgeführt. Exportiere dein Modell und lade es anschließend, um Inferenz auszuführen oder seine Genauigkeit zu validieren. Standardmäßig verwendet der RKNN-Export den Gleitkomma-Build-Pfad (quantize=16) für FP16-fähige Rockchip-Ziele. Verwende quantize=8, um ein INT8-quantisiertes RKNN-Modell mit Kalibrierungsdaten zu erstellen. Der RKNN-Export stellt keinen separaten FP32-Modus zur Verfügung; der FP16-Standard fordert kein FP32 an.

Exportieren
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
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")
Vorhersagen
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")
Validieren
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")

Export-Argumente#

ArgumentTypStandardBeschreibung
formatstr'rknn'Zielformat für das exportierte Modell, das die Kompatibilität mit Rockchip-Bereitstellungsumgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für die Modelleingabe. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein.
batchint1Legt die Batch-Inferenzgröße des exportierten Modells fest oder die maximale Anzahl an Bildern, die das exportierte Modell im Modus predict gleichzeitig verarbeitet.
namestr'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 nur INT8 (quantize=8 oder nicht gesetzt).
quantizeint oder strNoneQuantisierungsgenauigkeit: Nicht gesetzt oder 16 erstellt FP16 für FP16-fähige Ziele; nicht gesetzt aktiviert automatisch INT8 für Ziele, die nur INT8 unterstützen; 8 erstellt INT8. Der RKNN-Export hat keinen separaten FP32-Modus. Ersetzt die veralteten Flags half/int8.
simplifyboolTrueVereinfacht den intermediären ONNX-Graphen mit onnxslim.
opsetintNoneGibt die ONNX-Opset-Version für den zwischengeschalteten ONNX-Graph an. Der Standardwert ist 19, falls nichts festgelegt ist; Werte über 19 werden auf 19 reduziert.
datastrNoneDatensatz-YAML, die für die INT8-Kalibrierung verwendet wird; für die Klassifizierung wird stattdessen ein Datensatzverzeichnis oder ein integrierter Datensatzname verwendet. Wenn dies bei quantize=8 weggelassen wird, wählt Ultralytics den Standard-Kalibrierungsdatensatz für die Modellaufgabe aus.
fractionfloat1.0Anteil der Kalibrierungsbilder, die für die INT8-Quantisierung verwendet werden sollen.
devicestrNoneGibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu).
Tipp

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 Exportieren.

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 aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Sobald die Installation abgeschlossen ist, kannst du Inferenz und Validierung auf deinem Rockchip-Gerät genau wie im obigen Abschnitt Nutzung beschrieben ausführen – das exportierte _rknn_model wird direkt mit YOLO(...) geladen.

Hinweis

Wenn eine Protokollmeldung angezeigt wird, die besagt, dass die RKNN-Laufzeitversion nicht mit der Version des RKNN Toolkit übereinstimmt und die Inferenz fehlschlägt, ersetze bitte /usr/lib/librknnrt.so durch die offizielle librknnrt.so-Datei.

Screenshot des RKNN-Exports

Anwendungen in der Praxis#

Rockchip-betriebene Geräte mit YOLO26 RKNN-Modellen können in verschiedenen Anwendungen eingesetzt werden:

  • Intelligente Überwachung: Setze effiziente Objekterkennungssysteme für die Sicherheitsüberwachung bei geringem Stromverbrauch ein.
  • Industrielle Automatisierung: Implementiere Qualitätskontrolle und Fehlererkennung direkt auf eingebetteten Geräten.
  • Retail Analytics: Verfolge Kundenverhalten und Bestandsmanagement in Echtzeit ohne Cloud-Abhängigkeit.
  • Smart Agriculture: Überwache die Gesundheit von Pflanzen 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 nachstehenden YOLO26-Benchmarks wurden vom Ultralytics-Team auf dem Radxa Rock 5B auf Basis des Rockchip RK3588 mit dem Modellformat rknn durchgeführt, um Geschwindigkeit und Genauigkeit zu messen.

Leistung
ModellFormatStatusGröße (MB)mAP50-95(B)Inferenzzeit (ms/im)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

Benchmark-Ergebnisse mit ultralytics 8.4.23

Hinweis

Die Validierung für die obigen Benchmarks wurde unter Verwendung des COCO128-Datensatzes durchgeführt. Die Inferenzzeit beinhaltet keine Vor-/Nachverarbeitung.

Zusammenfassung#

In dieser Anleitung hast du gelernt, wie man Ultralytics YOLO26-Modelle in das RKNN-Format exportiert, um deren 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 zur Ausführung fortschrittlicher Computer-Vision-Aufgaben auf eingebetteten Geräten. Dieser Ansatz ermöglicht eine Objekterkennung in Echtzeit sowie andere Vision-KI-Anwendungen bei minimalem Stromverbrauch und hoher Leistung.

Weitere Details zur Nutzung findest du in der offiziellen RKNN-Dokumentation.

Wenn du außerdem mehr über andere Ultralytics YOLO26-Integrationen erfahren möchtest, besuche unsere Seite zum Integrationsleitfaden. Dort findest du zahlreiche nützliche Ressourcen und Einblicke.

FAQ#

  • 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 für den Exportvorgang einen x86-basierten Linux-PC 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 etwa rk3588, rk3566 oder andere. Dieser Prozess generiert ein optimiertes RKNN-Modell, das für die Bereitstellung auf deinem Rockchip-Gerät bereit ist und dessen NPU (Neural Processing Unit) für eine beschleunigte Inferenz nutzt.

    Beispiel
    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")
  • RKNN-Modelle sind speziell dafür konzipiert, die Hardwarebeschleunigungsfunktionen der Neural Processing Units (NPUs) von Rockchip zu nutzen. Diese Optimierung führt zu deutlich schnelleren Inferenzgeschwindigkeiten und einer geringeren Latenz im Vergleich zur Ausführung allgemeiner Modellformate wie ONNX oder LiteRT auf derselben Hardware. Die Verwendung von RKNN-Modellen ermöglicht eine effizientere Nutzung der Geräteressourcen, was zu einem niedrigeren Stromverbrauch und einer insgesamt besseren Leistung führt – besonders wichtig für Echtzeitanwendungen auf Edge-Geräten. Durch die Konvertierung deiner Ultralytics YOLO-Modelle in RKNN erreichst du eine optimale Performance auf Geräten, die von Rockchip SoCs wie dem RK3588, RK3566 und anderen angetrieben werden.

  • RKNN-Modelle sind speziell für Rockchip-Plattformen und deren integrierte NPUs optimiert. Zwar kannst du ein RKNN-Modell technisch gesehen auch auf anderen Plattformen mittels Software-Emulation ausführen, jedoch profitierst du dabei nicht von der Hardwarebeschleunigung durch 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 etwa TensorRT für NVIDIA-GPUs oder Edge TPU für Google Coral-Geräte. Ultralytics unterstützt den Export in eine Vielzahl von Formaten und gewährleistet so die Kompatibilität mit verschiedenen Hardware-Beschleunigern.

  • Der Ultralytics YOLO-Export in das RKNN-Format unterstützt Rockchip-Plattformen mit Gleitkomma-RKNN-Builds, darunter RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 und RV1126B. Er unterstützt auch den INT8-quantisierten RKNN-Export mit quantize=8, der für Ziele erforderlich ist, die nur INT8 unterstützen, wie 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 zu finden, sodass du deine optimierten RKNN-Modelle auf einer Reihe von Geräten mit Rockchip-Technologie einsetzen kannst – von Einplatinencomputern bis hin zu Industriesystemen.

  • RKNN-Modelle übertreffen andere Formate wie ONNX oder LiteRT auf Rockchip-Geräten im Allgemeinen 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 65.7 ms/Bild erreicht, was deutlich schneller ist als bei anderen Formaten. Dieser Leistungsvorteil ist über verschiedene YOLO26-Modellgrößen hinweg konsistent, wie im Abschnitt zu den Benchmarks gezeigt wird. Durch die Nutzung der dedizierten NPU-Hardware minimieren RKNN-Modelle die Latenz und maximieren den Durchsatz, womit sie sich ideal für Echtzeitanwendungen auf Edge-Geräten mit Rockchip eignen.

Kommentare