cm3588-neural-network-inference-9.ino

Module SOM FriendlyElec CM3588 (Rockchip RK3588) · Fichier : cm3588-neural-network-inference-9.ino · Langage : Python · Usage : Exécuter une inférence d'image sur la NPU RKNN pour la détection d'objets en temps réel.

Utilise l'API RKNN-Toolkit2 pour charger un modèle IA compilé et exécuter une inférence sur la NPU du RK3588.

Requiert le SDK Rockchip RKNN-Toolkit2 installé sur le système hôte (PC) pour la compilation du modèle, et les bibliothèques runtime sur le CM3588. Les modèles doivent être convertis au format .rknn (ex: YOLOv5). Assurez-vous que le driver NPU est bien chargé. Exécutez le script en Python 3.8+ avec les dépendances 'rknn-toolkit2' et 'opencv-python' installées sur la carte.

cm3588-neural-network-inference-9.ino

import numpy as np
import cv2
from rknn.api import RKNN

# 1. Initialisation du moteur RKNN
rknn = RKNN()
rknn.load_rknn('yolov5s.rknn')
rknn.init_runtime(target='rk3588')

# 2. Préparation des données (Chargement image et prétraitement)
input_img = cv2.imread('input.jpg')
# Redimensionnement aux dimensions d'entrée du modèle (ex: 640x640)
input_img = cv2.resize(input_img, (640, 640), interpolation=cv2.INTER_LINEAR)
input_img = input_img.transpose(2, 0, 1) # HWC -> CHW
input_img = np.expand_dims(input_img, axis=0) # Add batch dim

# 3. Exécution de l'inférence
outputs = rknn.forward(inputs=[input_img])

# 4. Post-traitement simplifié (Affichage des dimensions de la sortie)
print("Inference complete. Output shape:", outputs[0].shape)
rknn.release()

← Retour à la fiche