SARAH v5 et Azure Custom Vision

Dans un précédent article j’expliquait la manière dont j’avais installé 14 caméra BlinkForHome afin de fournir des yeux à SARAH typiquement pour pousser de l’information sur la TV.

Cette fois c’est Custom Vision de Microsoft Cognitive Services qui est utilisé pour reconnaître ce qu’il y a dans le réfrigérateur et surtout se faire un avis sur toutes les technos plus ou moins « bullshit » dont on entends parlé comme le réfrigérateur de Samsung ou la caméra de Smarter.

Premier constat: il faut un très grand angle et surtout beaucoup de recule ! Pour obtenir cette distance, je capture la video lorsque la porte du frigo est ouverte. Même comme cela je n’ai ni le bac inférieur, ni la porte (logique).

En rouge la prédiction, en blanc un re-tag manuel

Dans Custom Vision il faut créer un projet associé à une souscription Azure afin de pouvoir y déposer des images et y entraîner un modèle.

Le cycle est assez simple:

  • Appel de l’API « Prédiction » d’une image
  • Tag à la main dans l’interface Custom Vision
  • La photo passe alors dans Training
  • Au bout d’un moment lancer une nouvelle itération d’entrainement

Attention ! Il faut 15 images par tag pour lancer l’entrainement, il faut donc commencer petit. L’interface est très bien faire et indique la couverture du modèle et les points faibles à améliorer.

Côté Node-RED la première étape consiste bêtement a aller chercher les nouvelles vidéos Blink, et les découper en Frame avec FFMPEG:

  • Dans le cas du Frigo je prends les I-Frame (1 ou 2)
  • Pour de la reco faciale, je suis obligé de prendre 1fps

Ensuite c’est bêtement un appel d’API qui va retourner un JSON avec la position des tags dans l’image que je vais potentiellement stocker dans AirTable.

Alors est ce que ça marche ?

  • Je suis assez bluffé par la reconnaissance de produit dans une image qui est très moche.
  • Il doit faire de l’AutoML pour choisir les « features » qui permettront de mieux détecter un objet (couleur, forme, position, etc … c’est magique)

Par contre, pour ce cas d’usage très complexe c’est encore trop imprécis:

  • Les yaourts au chocolat ne sont pas tous détectés ou en trop de quantité, bref il ne faut pas essayer de « compter », juste dire il en reste ou pas.
  • Les produit très plat comme le jambon sont reconnus. Mais a mon avis il reconnait un empilement de trucs plat
  • Idem pour les bols, c’est systématiquement de la soupe
  • Le camembert marche bien, assez visible, il y a en plus un logo rouge.

Le résultat reste assez cool, mais le chemin pour en faire un usage magique du genre proposer une recette en fonction de ce qui reste dans le frigo est encore assez loin. Et il y a un travail humain assez conséquent

Next Step ?

La caméra étant dans le frigo (une cage de faraday), j’ai des soucis de connectivité à résoudre avant de pouvoir taguer plus d’images.

Sur la partie Custom Vision, les résultats sont encourageant et l’on peut déjà imaginer une interaction du genre « Que voit tu ? Je vois … » comme à l’époque avec Kinect.

Enfin il est possible de faire du Edge Computing (du offline) en embarquant le modèle sur un Raspberri Pi comme cela a été démontré lors de MS Expérience avec un Drone.

Ce billet fait partie d’un ensemble d’articles décrivant la manière dont je gère ma domotique avec SARAH v5:

Une pensée sur “SARAH v5 et Azure Custom Vision

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.