Simulink
Il est possible de l'exemple proposé par Matlab : Classify Objects Using Deep Learning Algorithm on Raspberry Pi Hardware
Mise en œuvre de la Raspberry avec Matlab / Simulink⚓
Support package for Raspberry Pi et add-ons complémentaires
Si ce n'est pas déjà fait, installer le support pour la Raspberry
Ainsi que les modules complémentaires. (Cf. Installation)
Installation de la Raspberry
Suivre le tutoriel pour installer la Raspberry Pi. Le plus simple est de graver une nouvelle carte SD en prenant bien soin de choisir l'image AVEC l'option Deep Learning.
Attention : si problème de connexion avec la carte
Après plusieurs essais infructueux de connexion avec la Raspberry en mode réseau LAN, j'ai réussi à établir la connexion au setup en branchant la Raspberry directement au PC avec un âble RJ45.
Une fois que la connexion avec la Raspberry est établie, on peut remettre le PC et la Raspberry sur le réseau et se connecter depuis Matlab avec l'adresse IP de la Raspberry. Exemple :
pi = raspi('192.168.0.126');
Installation de la caméra
Connecter la caméra et valider avec raspistill et raspivid.
Simulation / Déploiement⚓
Adaptation de l'exemple
Ouvrir l'exemple avec la commande
open_system('raspberrypi_object_classification');
Le sous-système
Mettre en œuvre l'exemple (ici avec squeezenet)
Le tester avec quelques images fixes choisies par l'utilisateur. (Simulation - Run)
Remarque : La simulation avec l'image de la caméra donne une mire
Le tester en déploiement avec l'image de la caméra (Harware - Build and Deploy ). Attention cela prend quelques minutes le temps que le programme soit compilé puis copié sur la Raspberry.
Le programme se lance automatiquement sur la Raspberry (ouverture du display caméra).
Attention : Echantillonage des images
Dans l'exemple de départ, le paramètre d'échantillonnage de la caméra est à 0.1. Ce qui fait rapidement planter la Raspberry car sa puissance de calcul ne sui pas. On pourra modifier ce paramètre par exemple à 1 (une image par seconde).
Ce paramètre sera affiné en fonction du matériel et des tests.
Il est important d'alimenter suffisamment la Raspberry sinon on risque d'avoir des redémarrages intempestifs.
Déploiement
Déployer sur la Raspberry une fois que celle-ci est mise en œuvre.
Tester avec la caméra.
Le réseau squeezenet hésite entre "iPod" et "cellular phone" : plutôt bon
le réseau squeezenet a du mal avec les ciseaux
Déployer sur la Raspberry en remplaçant le réseau Matlab par le réseau entraîné.
Pour que Simulink accepte de prendre notre cnn, il est impératif que le fichier matlab .mat contienne uniquement le cnn. (voir à ce sujet la rubrique « Enregistrer et réutiliser un réseau de neurones »)