Rockchip RKNN Export für Ultralytics YOLO11 Modelle
Bei der Bereitstellung von Computer-Vision-Modellen auf eingebetteten Geräten, insbesondere solchen, die von Rockchip-Prozessoren angetrieben werden, ist ein kompatibles Modellformat unerlässlich. Das Exportieren von Ultralytics YOLO11-Modellen in das RKNN-Format gewährleistet eine optimierte Leistung und Kompatibilität mit der Hardware von Rockchip. Dieser Leitfaden führt Sie durch die Konvertierung Ihrer YOLO11-Modelle in das RKNN-Format und ermöglicht so eine effiziente Bereitstellung auf Rockchip-Plattformen.
Hinweis
Dieser Leitfaden wurde mit Radxa Rock 5B auf Basis von Rockchip RK3588 und Radxa Zero 3W auf Basis von Rockchip RK3566 getestet. Es wird erwartet, dass es auf anderen Rockchip-basierten Geräten funktioniert, die rknn-toolkit2 unterstützen, wie z. B. RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B und RK2118.
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 von Unterhaltungselektronik, industriellen Anwendungen und KI-Technologien antreiben. Mit ARM-basierter Architektur, integrierten Neural Processing Units (NPUs) und hochauflösender Multimedia-Unterstützung ermöglichen Rockchip SoCs modernste 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, wodurch deren Reichweite und Wirkung in verschiedenen Märkten weiter ausgebaut wird.
RKNN Toolkit
Das RKNN Toolkit ist eine Sammlung von Tools und Bibliotheken, die von Rockchip bereitgestellt werden, um die Bereitstellung von Deep-Learning-Modellen auf ihren Hardwareplattformen zu erleichtern. RKNN, oder 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 voll ausnutzen und so eine hohe Leistung bei KI-Aufgaben auf Geräten wie RK3588, RK3566, RV1103, RV1106 und anderen Rockchip-basierten Systemen 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 für die Ausführung auf Rockchips NPUs optimiert, um maximale Leistung und Effizienz zu gewährleisten.
- 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, wodurch eine bessere Nutzung der Hardwareressourcen ermöglicht wird.
- Energieeffizienz: Durch die Nutzung dedizierter NPU-Hardware verbrauchen RKNN-Modelle weniger Strom als die CPU- oder GPU-basierte Verarbeitung, wodurch die Akkulaufzeit für tragbare Geräte verlängert wird.
Flash-Betriebssystem auf Rockchip-Hardware
Der erste Schritt, nachdem Sie ein Rockchip-basiertes Gerät erhalten haben, ist das Flashen eines Betriebssystems, damit die Hardware in eine funktionierende Umgebung booten kann. In diesem Leitfaden verweisen wir auf die ersten Schritte für die beiden Geräte, die wir getestet haben, nämlich Radxa Rock 5B und Radxa Zero 3W.
Export nach RKNN: Konvertierung Ihres YOLO11-Modells
Exportieren Sie ein Ultralytics YOLO11-Modell in das RKNN-Format und führen Sie Inferenz mit dem exportierten Modell aus.
Hinweis
Stellen Sie sicher, dass Sie einen X86-basierten Linux-PC verwenden, um das Modell nach RKNN zu exportieren, da der Export auf Rockchip-basierten Geräten (ARM64) nicht unterstützt wird.
Installation
Um die erforderlichen Pakete zu installieren, führen Sie Folgendes aus:
Installation
# Install the required package for YOLO11
pip install ultralytics
Detaillierte Anweisungen und Best Practices zum Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, konsultieren Sie unser Handbuch zu häufigen Problemen für Lösungen und Tipps.
Nutzung
Hinweis
Der Export wird derzeit nur für Erkennungsmodelle unterstützt. Weitere Modellunterstützung wird in Zukunft folgen.
Nutzung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588") # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_rknn_model'
Export-Argumente
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
format |
str |
'rknn' |
Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Deployment-Umgebungen definiert. |
imgsz |
int oder tuple |
640 |
Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein. |
batch |
int |
1 |
Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl von Bildern an, die das exportierte Modell gleichzeitig verarbeitet predict Modus. |
name |
str |
'rk3588' |
Spezifiziert das Rockchip-Modell (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118) |
device |
str |
None |
Gibt das Gerät für den Export an: GPU (device=0 ), CPU (device=cpu ), oder Auto-Modus mit angegebener Auslastungsfraktion ( |
Tipp
Bitte stellen Sie sicher, dass Sie einen x86-Linux-Rechner verwenden, wenn Sie nach RKNN exportieren.
Weitere Informationen zum Exportprozess finden Sie auf der Ultralytics-Dokumentationsseite zum Exportieren.
Bereitstellung exportierter YOLO11 RKNN-Modelle
Sobald Sie Ihre Ultralytics YOLO11-Modelle erfolgreich in das RKNN-Format exportiert haben, besteht der nächste Schritt darin, diese Modelle auf Rockchip-basierten Geräten bereitzustellen.
Installation
Um die erforderlichen Pakete zu installieren, führen Sie Folgendes aus:
Installation
# Install the required package for YOLO11
pip install ultralytics
Nutzung
Nutzung
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo11n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'
Hinweis
Wenn eine Protokollmeldung angezeigt wird, die darauf hinweist, dass die RKNN-Laufzeitversion nicht mit der RKNN-Toolkit-Version übereinstimmt und die Inferenz fehlschlägt, ersetze bitte /usr/lib/librknnrt.so
mit offiziellen librknnrt.so-Datei.
Anwendungen in der realen Welt
Rockchip-basierte Geräte mit YOLO11 RKNN-Modellen können in verschiedenen Anwendungen eingesetzt werden:
- Intelligente Überwachung: Stellen Sie effiziente Objekterkennungssysteme für die Sicherheitsüberwachung mit geringem Stromverbrauch bereit.
- Industrielle Automatisierung: Qualitätskontrolle und Fehlererkennung direkt auf eingebetteten Geräten implementieren.
- Einzelhandelsanalytik: Verfolgen Sie Kundenverhalten und Bestandsverwaltung in Echtzeit ohne Cloud-Abhängigkeit.
- Intelligente Landwirtschaft: Überwachen Sie die Gesundheit von Feldfrüchten und erkennen Sie Schädlinge mithilfe von Computer Vision in der Landwirtschaft.
- Autonome Robotik: Ermöglicht die visionsbasierte Navigation und Hinderniserkennung auf ressourcenbeschränkten Plattformen.
Benchmarks
Die untenstehenden YOLO11-Benchmarks wurden vom Ultralytics-Team auf Radxa Rock 5B basierend auf Rockchip RK3588 durchgeführt mit rknn
Modellformat durchgeführt, wobei Geschwindigkeit und Genauigkeit gemessen wurden.
Performance
Modell | Format | Status | Größe (MB) | mAP50-95(B) | Inferenzzeit (ms/Bild) |
---|---|---|---|---|---|
YOLO11n | rknn |
✅ | 7.4 | 0.505 | 71.5 |
YOLO11s | rknn |
✅ | 20.7 | 0.578 | 98.9 |
YOLO11m | rknn |
✅ | 41.9 | 0.629 | 235.3 |
YOLO11l | rknn |
✅ | 53.3 | 0.633 | 282.0 |
YOLO11x | rknn |
✅ | 114.6 | 0.687 | 679.2 |
Benchmarked mit ultralytics 8.3.152
Hinweis
Die Validierung für die obigen Benchmarks wurde mit dem COCO128-Datensatz durchgeführt. Die Inferenzzeit beinhaltet keine Vor- / Nachbearbeitung.
Zusammenfassung
In dieser Anleitung haben Sie gelernt, wie Sie Ultralytics YOLO11-Modelle in das RKNN-Format exportieren, um ihre Bereitstellung auf Rockchip-Plattformen zu verbessern. Sie wurden auch in das RKNN-Toolkit und die spezifischen Vorteile der Verwendung von RKNN-Modellen für Edge-KI-Anwendungen eingeführt.
Die Kombination aus Ultralytics YOLO11 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 Objekterkennung in Echtzeit und andere Vision-KI-Anwendungen mit minimalem Stromverbrauch und hoher Leistung.
Weitere Informationen zur Verwendung finden Sie in der offiziellen RKNN-Dokumentation.
Wenn Sie mehr über andere Ultralytics YOLO11-Integrationen erfahren möchten, besuchen Sie unsere Seite mit dem Integrationsleitfaden. Dort finden Sie viele nützliche Ressourcen und Einblicke.
FAQ
Wie exportiere ich mein Ultralytics YOLO-Modell in das RKNN-Format?
Sie können Ihr Ultralytics YOLO-Modell einfach in das RKNN-Format exportieren, indem Sie die export()
Methode im Ultralytics Python-Paket oder über die Befehlszeilenschnittstelle (CLI). Stellen Sie sicher, dass Sie für den Exportprozess einen x86-basierten Linux-PC verwenden, da ARM64-Geräte wie Rockchip für diese Operation nicht unterstützt werden. Sie können die Ziel-Rockchip-Plattform mit der name
Argument, wie z.B. rk3588
, rk3566
oder andere. Dieser Prozess generiert ein optimiertes RKNN-Modell, das für den Einsatz auf Ihrem Rockchip-Gerät bereit ist und dessen Neural Processing Unit (NPU) für eine beschleunigte Inferenz nutzt.
Beispiel
from ultralytics import YOLO
# Load your YOLO model
model = YOLO("yolo11n.pt")
# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588
Welche Vorteile bietet die Verwendung von RKNN-Modellen auf Rockchip-Geräten?
RKNN-Modelle sind speziell darauf ausgelegt, die Hardwarebeschleunigungsfunktionen der Neural Processing Units (NPUs) von Rockchip zu nutzen. Diese Optimierung führt zu deutlich schnelleren Inferenzgeschwindigkeiten und reduzierter Latenz im Vergleich zur Ausführung generischer Modellformate wie ONNX oder TensorFlow Lite auf derselben Hardware. Die Verwendung von RKNN-Modellen ermöglicht eine effizientere Nutzung der Geräteressourcen, was zu einem geringeren Stromverbrauch und einer besseren Gesamtleistung führt, was besonders wichtig für Echtzeitanwendungen auf Edge-Geräten ist. Durch die Konvertierung Ihrer Ultralytics YOLO-Modelle in RKNN können Sie eine optimale Leistung auf Geräten erzielen, die von Rockchip SoCs wie dem RK3588, RK3566 und anderen angetrieben werden.
Kann ich RKNN-Modelle auf Geräten anderer Hersteller wie NVIDIA oder Google einsetzen?
RKNN-Modelle sind speziell für Rockchip-Plattformen und ihre integrierten NPUs optimiert. Obwohl Sie ein RKNN-Modell technisch gesehen auch auf anderen Plattformen mit Software-Emulation ausführen können, profitieren Sie nicht von der Hardwarebeschleunigung durch Rockchip-Geräte. Für eine optimale Leistung auf anderen Plattformen wird empfohlen, Ihre 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 und gewährleistet so die Kompatibilität mit verschiedenen Hardwarebeschleunigern.
Welche Rockchip-Plattformen werden für die RKNN-Modellbereitstellung unterstützt?
Der Ultralytics YOLO-Export in das RKNN-Format unterstützt eine breite Palette von Rockchip-Plattformen, darunter die beliebten RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B und RK2118. Diese Plattformen sind häufig in Geräten von Herstellern wie Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas und Banana Pi zu finden. Diese breite Unterstützung stellt sicher, dass Sie Ihre optimierten RKNN-Modelle auf verschiedenen Rockchip-basierten Geräten einsetzen können, von Einplatinencomputern bis hin zu Industriesystemen, und dabei die Vorteile ihrer KI-Beschleunigungsfunktionen für eine verbesserte Leistung in Ihren Computer-Vision-Anwendungen voll ausschöpfen können.
Wie schneiden RKNN-Modelle im Vergleich zu anderen Formaten auf Rockchip-Geräten ab?
RKNN-Modelle übertreffen im Allgemeinen andere Formate wie ONNX oder TensorFlow Lite auf Rockchip-Geräten, da sie für die NPUs von Rockchip optimiert sind. Beispielsweise zeigen Benchmarks auf dem Radxa Rock 5B (RK3588), dass YOLO11n im RKNN-Format eine Inferenzzeit von 99,5 ms/Bild erreicht, was deutlich schneller ist als bei anderen Formaten. Dieser Leistungsvorteil ist über verschiedene YOLO11-Modellgrößen hinweg konsistent, wie im Benchmark-Abschnitt gezeigt wird. 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.