Meet YOLO26: next-gen vision AI.

Link to this sectionExportation RKNN Rockchip pour les modèles Ultralytics YOLO26#

Lors du déploiement de modèles de vision par ordinateur sur des appareils embarqués, en particulier ceux équipés de processeurs Rockchip, disposer d'un format de modèle compatible est essentiel. L'exportation des modèles Ultralytics YOLO26 au format RKNN garantit 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, incluant des exportations à virgule flottante et quantifiées INT8, permettant un déploiement efficace sur les plateformes Rockchip.

Rockchip RKNN export for NPU deployment

Note

Ce guide a été testé avec Radxa Rock 5B, basé sur le Rockchip RK3588, et Radxa Zero 3W, basé sur le Rockchip RK3566. Il devrait fonctionner sur d'autres appareils basés sur Rockchip prenant en charge rknn-toolkit2 tels que RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B et RV1106B. Les cibles INT8 uniquement comme RV1103 et RV1106 nécessitent int8=True.

Link to this sectionQu'est-ce que Rockchip ?#

Réputé pour proposer des solutions polyvalentes et économes en énergie, Rockchip conçoit des System-on-Chips (SoCs) avancés qui alimentent un large éventail 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 (NPUs) intégrées et une prise en charge multimédia haute résolution, les SoCs Rockchip offrent des performances de pointe pour des appareils comme les tablettes, les smart TVs, les systèmes IoT et les applications d'IA à la périphérie. 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 ainsi leur portée et leur impact sur divers marchés.

Link to this sectionRKNN Toolkit#

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, garantissant des performances élevées dans les tâches d'IA sur des appareils comme RK3588, RK3566, RV1103, RV1106 et d'autres systèmes propulsés par Rockchip.

Link to this sectionFonctionnalités clés des modèles RKNN#

Les modèles RKNN offrent plusieurs avantages pour le déploiement sur les plateformes Rockchip :

  • Optimisé pour NPU : Les modèles RKNN sont spécifiquement optimisés pour fonctionner sur les NPUs de Rockchip, garantissant des performances et une efficacité maximales.
  • Faible latence : Le format RKNN minimise la latence d'inférence, ce qui est crucial pour les applications en temps réel sur les appareils en 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 tirant parti du matériel NPU dédié, les modèles RKNN consomment moins d'énergie que le traitement basé sur CPU ou GPU, prolongeant ainsi la durée de vie de la batterie des appareils portables.

Link to this sectionFlasher l'OS sur le matériel Rockchip#

La première étape après avoir récupéré ton appareil basé sur Rockchip consiste à flasher un OS pour que le matériel puisse démarrer dans un environnement fonctionnel. Dans ce guide, nous indiquerons les guides de démarrage rapide des deux appareils que nous avons testés : Radxa Rock 5B et Radxa Zero 3W.

Link to this sectionExporter vers RKNN : Convertir ton modèle YOLO26#

Exporte un modèle Ultralytics YOLO26 au format RKNN et exécute l'inférence avec le modèle exporté.

Note

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 prise en charge.

Link to this sectionInstallation#

Pour installer les paquets requis, exécute :

Installation
# Install the required package for YOLO26
pip install ultralytics

Pour 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 difficultés, consulte notre Guide des problèmes courants pour obtenir des solutions et des conseils.

Link to this sectionUtilisation#

Note

L'exportation est actuellement uniquement prise en charge pour les modèles de détection. D'autres supports de modèles seront ajoutés à l'avenir.

Le format RKNN prend en charge les modes Export, Predict et Validate. L'inférence et la validation s'exécutent sur le matériel NPU de Rockchip. Exporte ton modèle, puis charge le modèle exporté pour exécuter l'inférence ou valider sa précision. Par défaut, l'exportation RKNN utilise le chemin de compilation à virgule flottante existant avec half=True pour les cibles Rockchip compatibles FP16. Utilise int8=True pour créer un modèle RKNN quantifié INT8 avec des données de calibration. L'exportation RKNN n'expose pas de mode FP32 distinct ; laisser int8=False ne demande pas de FP32.

Exporter
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to RKNN format
model.export(format="rknn", name="rk3588")  # creates '/yolo26n_rknn_model'

# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", int8=True, data="coco8.yaml")
Prédire
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Valider
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionArguments d'exportation#

ArgumentTypeDéfautDescription
formatstr'rknn'Format cible pour le modèle exporté, définissant la compatibilité avec les environnements de déploiement Rockchip.
imgszint ou tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
batchint1Spécifie la taille de lot d'inférence du modèle d'exportation ou le nombre max d'images que le modèle exporté traitera simultanément en mode predict.
namestr'rk3588'Spécifie la cible Rockchip, telle que rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b, rv1103, rv1106, rv1103b ou rv1106b.
halfboolTrueActive le chemin d'exportation RKNN à virgule flottante par défaut pour les cibles compatibles FP16. S'exclut mutuellement avec int8=True.
int8boolFalseActive la quantification INT8. Requis pour les cibles INT8 uniquement comme RV1103 et RV1106. Quand False, RKNN Toolkit construit un modèle à virgule flottante pour les cibles compatibles FP16, pas FP32.
datastrNoneYAML de jeu de données utilisé pour la calibration INT8. Si omis avec int8=True, Ultralytics sélectionne le jeu de données de calibration par défaut pour la tâche du modèle.
fractionfloat1.0Fraction des images de calibration à utiliser pour la quantification INT8.
devicestrNoneSpécifie le périphérique pour l'exportation : GPU (device=0), CPU (device=cpu).
Astuce

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 la page de documentation Ultralytics sur l'exportation.

Link to this sectionDéploiement des modèles YOLO26 RKNN 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.

Link to this sectionInstallation#

Pour installer les paquets requis, exécute :

Installation
# Install the required package for YOLO26
pip install ultralytics

Une fois installé, exécute l'inférence et la validation sur ton appareil Rockchip exactement comme indiqué dans la section Usage ci-dessus — le _rknn_model exporté se charge directement avec YOLO(...).

Note

Si tu rencontres un message de journal indiquant que la version du runtime RKNN ne correspond pas à la version de RKNN Toolkit et que l'inférence échoue, remplace /usr/lib/librknnrt.so par le fichier librknnrt.so officiel.

Capture d'écran de l'exportation RKNN

Link to this sectionApplications réelles#

Les appareils propulsés par Rockchip avec des modèles YOLO26 RKNN 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 les 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 en agriculture.
  • Robotique autonome : Active la navigation basée sur la vision et la détection d'obstacles sur des plateformes aux ressources limitées.

Link to this sectionBenchmarks#

Les benchmarks YOLO26 ci-dessous ont été effectués par l'équipe Ultralytics sur Radxa Rock 5B basé sur le Rockchip RK3588 avec le format de modèle rknn en mesurant la vitesse et la précision.

Performance
ModèleFormatStatutTaille (MB)mAP50-95(B)Temps d'inférence (ms/im)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

Testé avec ultralytics 8.4.23

Note

La validation pour les benchmarks ci-dessus a été effectuée à l'aide du jeu de données COCO128. Le temps d'inférence n'inclut pas le pré/post-traitement.

Link to this sectionRésumé#

Dans ce guide, tu as appris comment exporter des modèles Ultralytics YOLO26 vers le 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 d'Ultralytics YOLO26 et de la technologie NPU de Rockchip fournit une solution efficace pour exécuter des tâches avancées de vision par ordinateur sur des appareils embarqués. Cette approche permet une détection d'objets en temps réel et d'autres applications d'IA visuelle avec une consommation d'énergie minimale et des performances élevées.

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 informations utiles.

Link to this sectionFAQ#

Link to this sectionComment puis-je exporter mon modèle Ultralytics YOLO au format RKNN ?#

Tu peux facilement exporter ton modèle Ultralytics YOLO au format RKNN en utilisant la méthode export() dans le package Python Ultralytics ou via l'interface de ligne de commande (CLI). Assure-toi d'utiliser un PC Linux basé sur x86 pour le processus d'exportation, car les appareils ARM64 comme Rockchip ne sont pas pris en charge pour cette opération. Tu peux spécifier la plateforme Rockchip cible en utilisant l'argument name, tel que 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.

Exemple
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")

Link to this sectionQuels sont les avantages de l'utilisation des modèles RKNN sur les appareils Rockchip ?#

Les modèles RKNN sont spécifiquement conçus pour tirer parti des 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. L'utilisation de 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, ce qui est particulièrement critique pour les applications en temps réel sur les appareils en périphérie. En convertissant tes modèles Ultralytics YOLO vers RKNN, tu peux obtenir des performances optimales sur des appareils équipés de SoC Rockchip comme le RK3588, RK3566, et d'autres.

Link to this sectionPuis-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 des performances optimales sur d'autres plateformes, il est recommandé d'exporter tes modèles Ultralytics YOLO vers des formats spécifiquement conçus pour ces plateformes, tels que TensorRT pour les GPU NVIDIA ou TensorFlow Lite pour l'Edge TPU de Google. Ultralytics prend en charge l'exportation vers une large gamme de formats, garantissant la compatibilité avec divers accélérateurs matériels.

Link to this sectionQuelles plateformes Rockchip sont prises en charge pour le déploiement de modèles RKNN ?#

L'exportation Ultralytics YOLO vers le format RKNN prend en charge les plateformes Rockchip avec des builds RKNN en virgule flottante, notamment RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 et RV1126B. Elle prend également en charge l'exportation RKNN quantifiée INT8 avec int8=True, ce qui est requis pour les cibles INT8 uniquement telles que RV1103, RV1106, RV1103B et RV1106B. 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.

Link to this sectionComment les performances des modèles RKNN se comparent-elles à celles des 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 YOLO26n au format RKNN atteint un temps d'inférence de 65,7 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 tirant parti du 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 en périphérie basés sur Rockchip.

Commentaires