La reconnaissance d’image de SARAH avec Azure Custom Vision et les caméras Blink fonctionne très bien mais a ses limites ! Ces caméras ne sont pas adaptées dans une pièce à vivre, comme le salon car la batterie se vide très rapidement. Et streamer un flux vidéo 24/7 sur le cloud n’est pas du tout efficace !
D’où l’idée de faire de la détection de visage depuis un Raspberry Pi Zero équipé d’un Intel Vision Bonnet capable de faire tourner un modèle Tensorflow à +10fps ! C’est le projet Google AIY.

J’ai modifié le code python d’un exemple afin d’y intégrer un client WebSocket qui se connecte à SARAH pour lui envoyer intelligemment les photos contenant des visages.

Le flow se comporte de la manière suivante:
- Détection de mouvement (ou une autre raison)
- Envoi d’un ordre au PiZero pour lancer la détection de visage
- Réception de l’image et des coordonnées des visages
- Transfert de l’image à Azure Face API
- Mise à jour de la liste des gens présent dans la pièce
Le modèle TensorFlow retourne aussi le « Joy Score » ce qui permet à SARAH de raconter une blague puis de regarder qui a aimé (nous avions mis en place un scénario similaire avec Djingo lors de Vivatech.)
Les visages associés à une personne sont stockés dans AirTable ce qui facilite les mises à jour. Typiquement pour améliorer la reconnaissance.

Il doit être possible de faire de la reconnaissance de visage onBoard (après la détection) mais cela impliquerait de télécharger le modèle régulièrement.
La nappe électronique de la caméra est super sensible et retourne parfois des images magenta… j’ai testé avec d’autres caméra censées être compatible avec le PiZero mais le Vision Bonnet n’aime pas …
Bon ça marche bien et même de loin ! Next Step, intégrer cette reconnaissance de personne à des notifications vocales … puis impression 3D, capteur PIR onBoard et reconnaissance d’objets …
Ce billet fait partie d’un ensemble d’articles décrivant la manière dont je gère ma domotique avec SARAH v5:



Laisser un commentaire