Exportation RKNN Rockchip pour les modèles Ultralytics YOLO26
Lors du déploiement de modèles de vision par ordinateur sur des appareils embarqués, surtout ceux équipés de processeurs Rockchip, disposer d'un format de modèle compatible est essentiel. Exporter des Ultralytics YOLO26 modèles au format RKNN assure des performances optimisées et une compatibilité avec le matériel Rockchip. Ce guide te montrera comment convertir tes modèles YOLO26 au format RKNN, permettant un déploiement efficace sur les plateformes Rockchip.
Ce guide a été testé avec Radxa Rock 5B qui est basé sur le Rockchip RK3588 et Radxa Zero 3W qui est basé sur le Rockchip RK3566. Il est prévu qu'il fonctionne sur d'autres appareils basés sur Rockchip supportant rknn-toolkit2 tels que RK3576, RK3568, RK3562, RK2118 et RV1126B. Les cibles ne supportant que l'inférence INT8 (RV1103, RV1106, RV1103B, RV1106B) ne sont pas encore supportées car l'exportation RKNN d'Ultralytics produit actuellement uniquement des modèles FP16.
Qu'est-ce que Rockchip ?
Reconnu pour fournir des solutions polyvalentes et économes en énergie, Rockchip conçoit des System-on-Chips (SoCs) avancés qui alimentent une large gamme d'appareils électroniques grand public, d'applications industrielles et de technologies d'IA. Avec une architecture basée sur ARM, des unités de traitement neuronal (NPU) intégrées et un support multimédia haute résolution, les SoCs Rockchip permettent des performances de pointe pour des appareils comme les tablettes, les smart TV, les systèmes IoT et les applications edge AI. Des entreprises comme Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas et Banana Pi proposent une variété de produits basés sur les SoCs Rockchip, étendant davantage leur portée et leur impact sur divers marchés.
Le RKNN Toolkit
La méthode Le RKNN Toolkit est un ensemble d'outils et de bibliothèques fournis par Rockchip pour faciliter le déploiement de modèles de deep learning sur leurs plateformes matérielles. RKNN, ou Rockchip Neural Network, est le format propriétaire utilisé par ces outils. Les modèles RKNN sont conçus pour tirer pleinement parti de l'accélération matérielle fournie par le NPU (Neural Processing Unit) de Rockchip, assurant des performances élevées dans les tâches d'IA sur des appareils comme les RK3588, RK3566, RV1103, RV1106 et d'autres systèmes basés sur Rockchip.
Fonctionnalités clés des modèles RKNN
Les modèles RKNN offrent plusieurs avantages pour le déploiement sur les plateformes Rockchip :
- Optimisé pour le NPU: Les modèles RKNN sont spécifiquement optimisés pour fonctionner sur les NPU de Rockchip, garantissant une performance et une efficacité maximales.
- Faible latence: Le format RKNN minimise la latence d'inférence, ce qui est critique pour les applications en temps réel sur les appareils de périphérie.
- Personnalisation spécifique à la plateforme: Les modèles RKNN peuvent être adaptés à des plateformes Rockchip spécifiques, permettant une meilleure utilisation des ressources matérielles.
- Efficacité énergétique: En exploitant le matériel NPU dédié, les modèles RKNN consomment moins d'énergie que le traitement basé sur CPU ou GPU, prolongeant l'autonomie des appareils portables.
Flasher un OS sur le matériel Rockchip
La première étape après avoir mis la main sur un appareil basé sur Rockchip est de flasher un OS afin que le matériel puisse démarrer dans un environnement fonctionnel. Dans ce guide, nous pointerons vers les guides de démarrage des deux appareils que nous avons testés, à savoir le Radxa Rock 5B et le Radxa Zero 3W.
Exporter vers RKNN : Conversion de ton modèle YOLO26
Exporte un modèle Ultralytics YOLO26 au format RKNN et exécute l'inférence avec le modèle exporté.
Assure-toi d'utiliser un PC Linux basé sur X86 pour exporter le modèle vers RKNN, car l'exportation sur des appareils basés sur Rockchip (ARM64) n'est pas supportée.
Installation
Pour installer les paquets requis, execute :
!!! Tip "Installation"
# Install the required package for YOLO26
pip install ultralyticsPour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installation Ultralytics. Lors de l'installation des paquets requis pour YOLO26, si tu rencontres des difficultes, consulte notre guide des problemes courants pour des solutions et astuces.
Utilisation
L'exportation est actuellement supportée uniquement pour les modèles de détection. Davantage de modèles seront supportés à l'avenir.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b (FP16). INT8-only targets rv1103, rv1106, rv1103b, rv1106b are not yet supported.
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'Arguments d'exportation
| Argument | Type | Par défaut | Description |
|---|---|---|---|
format | str | 'rknn' | Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement. |
imgsz | int ou tuple | 640 | Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour des images carrées ou un tuple (height, width) pour des dimensions spécifiques. |
batch | int | 1 | Spécifie la taille d'inférence par lot du modèle d'exportation ou le nombre maximal d'images que le modèle exporté traitera simultanément en predict mode. |
name | str | 'rk3588' | Spécifie la cible Rockchip. Support FP16 : rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b. Les cibles INT8-uniquement (rv1103, rv1106, rv1103b, rv1106b) ne sont pas encore supportées. |
device | str | None | Spécifie le périphérique pour l'exportation : GPU (device=0), CPU (device=cpu). |
Assure-toi d'utiliser une machine Linux x86 lors de l'exportation vers RKNN.
Pour plus de détails sur le processus d'exportation, visite le page de documentation Ultralytics sur l'exportation.
Déploiement des modèles RKNN YOLO26 exportés
Une fois que tu as exporté avec succès tes modèles Ultralytics YOLO26 au format RKNN, l'étape suivante consiste à déployer ces modèles sur des appareils basés sur Rockchip.
Installation
Pour installer les paquets requis, execute :
!!! Tip "Installation"
# Install the required package for YOLO26
pip install ultralyticsUtilisation
from ultralytics import YOLO
# Load the exported RKNN model
rknn_model = YOLO("./yolo26n_rknn_model")
# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")Si tu rencontres un message de journal indiquant que la version du runtime RKNN ne correspond pas à la version du RKNN Toolkit et que l'inférence échoue, remplace /usr/lib/librknnrt.so par le fichier librknnrt.so.

Applications réelles
Les appareils basés sur Rockchip avec des modèles RKNN YOLO26 peuvent être utilisés dans diverses applications :
- Surveillance intelligente: Déploie des systèmes de détection d'objets efficaces pour la surveillance de sécurité avec une faible consommation d'énergie.
- Automatisation industrielle: Implémente le contrôle qualité et la détection de défauts directement sur des appareils embarqués.
- Analytique de détail: Suis le comportement des clients et la gestion des stocks en temps réel sans dépendance au cloud.
- Agriculture intelligente: Surveille la santé des cultures et détecte les nuisibles en utilisant la vision par ordinateur dans l'agriculture.
- Robotique autonome: Permets la navigation basée sur la vision et la détection d'obstacles sur des plateformes aux ressources limitées.
Benchmarks
Les benchmarks YOLO26 ci-dessous ont été réalisés par l'équipe Ultralytics sur le Radxa Rock 5B basé sur le Rockchip RK3588 avec rknn format de modèle mesurant la vitesse et la précision.
| Modèle | Format | Statut | Taille (MB) | mAP50-95(B) | Temps d'inférence (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | rknn | ✅ | 7.1 | 0.479 | 65.7 |
| YOLO26s | rknn | ✅ | 20.9 | 0.571 | 99.2 |
| YOLO26m | rknn | ✅ | 42.5 | 0.610 | 235.3 |
| YOLO26l | rknn | ✅ | 52.1 | 0.630 | 280.5 |
| YOLO26x | rknn | ✅ | 112.2 | 0.666 | 669.1 |
Benchmarké avec ultralytics 8.4.23
La validation pour les benchmarks ci-dessus a été effectuée en utilisant le dataset COCO128. Le temps d'inférence n'inclut pas le pré/post-traitement.
Résumé
Dans ce guide, tu as appris comment exporter des modèles Ultralytics YOLO26 au format RKNN pour améliorer leur déploiement sur les plateformes Rockchip. Tu as également été initié au RKNN Toolkit et aux avantages spécifiques de l'utilisation des modèles RKNN pour les applications d'IA en périphérie.
La combinaison de Ultralytics YOLO26 et de la technologie NPU de Rockchip fournit une solution efficace pour exécuter des tâches de vision par ordinateur avancées sur des appareils embarqués. Cette approche permet une object detection en temps réel et d'autres applications d'IA de vision avec une consommation d'énergie minimale et une performance élevée.
Pour plus de détails sur l'utilisation, visite la Documentation officielle RKNN.
De plus, si tu souhaites en savoir plus sur d'autres intégrations Ultralytics YOLO26, visite notre page du guide d'intégration. Tu y trouveras de nombreuses ressources et idées utiles.
FAQ
Comment exporter mon modèle Ultralytics YOLO vers le format RKNN ?
Tu peux facilement exporter ton modèle Ultralytics YOLO au format RKNN en utilisant la méthode export() dans le paquet Python Ultralytics ou via l'interface en ligne de commande (CLI). Assure-toi d'utiliser un PC Linux basé sur x86 pour le processus d'exportation, car les appareils ARM64 comme ceux de Rockchip ne sont pas supportés pour cette opération. Tu peux spécifier la plateforme Rockchip cible en utilisant le name, comme rk3588, rk3566 ou d'autres. Ce processus génère un modèle RKNN optimisé prêt pour le déploiement sur ton appareil Rockchip, en tirant parti de son unité de traitement neuronal (NPU) pour une inférence accélérée.
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")Quels sont les avantages d'utiliser des modèles RKNN sur des appareils Rockchip ?
Les modèles RKNN sont spécifiquement conçus pour exploiter les capacités d'accélération matérielle des unités de traitement neuronal (NPU) de Rockchip. Cette optimisation se traduit par des vitesses d'inférence nettement plus rapides et une latence réduite par rapport à l'exécution de formats de modèles génériques comme ONNX ou TensorFlow Lite sur le même matériel. Utiliser des modèles RKNN permet une utilisation plus efficace des ressources de l'appareil, conduisant à une consommation d'énergie plus faible et de meilleures performances globales, particulièrement critiques pour les applications en temps réel sur les appareils de périphérie. En convertissant tes modèles Ultralytics YOLO en RKNN, tu peux atteindre une performance optimale sur les appareils alimentés par des SoCs Rockchip comme le RK3588, RK3566 et d'autres.
Puis-je déployer des modèles RKNN sur des appareils d'autres fabricants comme NVIDIA ou Google ?
Les modèles RKNN sont spécifiquement optimisés pour les plateformes Rockchip et leurs NPU intégrés. Bien que tu puisses techniquement exécuter un modèle RKNN sur d'autres plateformes en utilisant l'émulation logicielle, tu ne bénéficieras pas de l'accélération matérielle fournie par les appareils Rockchip. Pour une performance optimale sur d'autres plateformes, il est recommandé d'exporter tes modèles Ultralytics YOLO vers des formats spécifiquement conçus pour ces plateformes, comme TensorRT pour les GPU NVIDIA ou TensorFlow Lite pour l'Edge TPU de Google. Ultralytics supporte l'exportation vers une large gamme de formats, assurant la compatibilité avec divers accélérateurs matériels.
Quelles plateformes Rockchip sont supportées pour le déploiement de modèles RKNN ?
L'exportation Ultralytics YOLO vers le format RKNN supporte actuellement les plateformes Rockchip avec inférence FP16 : RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 et RV1126B. Les cibles INT8-uniquement (RV1103, RV1106, RV1103B, RV1106B) ne sont pas encore supportées car leurs NPU nécessitent une quantification, qui est sur la feuille de route. Ces plateformes se trouvent couramment dans les appareils de fabricants comme Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas et Banana Pi, te permettant de déployer tes modèles RKNN optimisés sur une gamme d'appareils alimentés par Rockchip, des ordinateurs monocarte aux systèmes industriels.
Comment la performance des modèles RKNN se compare-t-elle aux autres formats sur les appareils Rockchip ?
Les modèles RKNN surpassent généralement les autres formats comme ONNX ou TensorFlow Lite sur les appareils Rockchip grâce à leur optimisation pour les NPU de Rockchip. Par exemple, les benchmarks sur le Radxa Rock 5B (RK3588) montrent que le YOLO26n au format RKNN atteint un temps d'inférence de 99.5 ms/image, nettement plus rapide que les autres formats. Cet avantage de performance est cohérent à travers diverses tailles de modèles YOLO26, comme démontré dans la section benchmarks. En exploitant le matériel NPU dédié, les modèles RKNN minimisent la latence et maximisent le débit, les rendant idéaux pour les applications en temps réel sur les appareils de périphérie basés sur Rockchip.