L'œil sur...

Pourquoi compter le nombre de cravates sur votre stand d’exposition ?

GPS, traducteurs, moteurs de recherche… Aujourd’hui, on arrive facilement à s’imaginer des applications intelligentes dans nos quotidiens et pourtant les algorithmes d’intelligence artificielle ont bien d’autres domaines d’applications, par exemple pour compter le nombre de cravates passées sur votre stand d’exposition.
 

L’intelligence artificielle fait désormais partie de notre quotidien. Nous sommes pour une grande majorité des utilisateurs conscients, avertis ou non de solutions intelligentes. Afin de mettre en avant les possibilités offertes par les techniques d’IA associée à la vision, nous avons développé un démonstrateur de vision artificielle qui permet de quantifier la fréquentation d’un stand au cours d’un salon et détecter la présence de certains objets.

 

La vision industrielle sur votre stand

Le démonstrateur développé est composé de 2 parties :

  • le PC qui embarque le code de calcul et analyse en temps réel les images issues de la webcam,
  • l’interface graphique qui rend compte à tout moment de l’image capturée et des statistiques associées.

 

Qui est vraiment passé sur votre stand ?

Pour évaluer la fréquentation du stand, nous avons besoin de dénombrer le nombre de personnes qui y viennent. Pour ce faire, ce démonstrateur exploite les derniers algorithmes puissants de vision artificielle basés sur le « Deep Learning » pour effectuer la segmentation d’objets.

 

Le principe est relativement simple :

  1. au sein d’un flux vidéo, on fige la scène toutes les 2s pour en extraire une image,
  2. sur cette image, on effectue une segmentation d’un ensemble d’objets que l’on dénombre par la suite.


Cravates, smartphones, sac…

Pour ce démonstrateur, les objets que nous avons décidé d’identifier sont : les cravates, les smartphones, les sacs (sacs à main, sacs à dos, cabas), les personnes. Nous avons choisi pour ce faire l’algorithme « Faster R-CNN » [1] qui permet de segmenter les objets (isoler des régions dans l’image contenant les différents objets que l’on recherche). Cet algorithme a besoin, pour un fonctionnement optimal, de ressources matérielles performantes afin d’avoir des résultats dans des délais raisonnables.

 

Une détection toutes les 2 secondes

Pour mesurer efficacement la fréquentation d’un salon, nous avons jugé suffisant d’avoir des mises à jour de détection d’objets toutes les 2 s en exploitant les performances de la carte graphique. En effet, pour la plupart des algorithmes de « Deep Learning », la précision vient d’un apprentissage (entraînement) sur un nombre important de références nécessitant des ressources matérielles importantes pour aller vite. De plus, la fréquence de mise à jour de la segmentation, au sein du flux vidéo, nécessite de la ressource pour avoir un rafraichissement agréable dans l’interface graphique.

 

Deep learning et data

Dans notre cas, les objets que nous avons choisi de reconnaître ont été appris sur des millions d’exemplaires afin de pouvoir prendre en compte :

  • le contexte : par exemple une cravate est mieux reconnue si elle est nouée ou encore une personne peut être détectée à partir de sa main,
  • les changements d’orientation,
  • les changements d’éclairage.

 

Les analyses statistiques

L’interface graphique, développée sous Python, présente des statistiques de fréquentation (nombre de personnes) sur le dernier quart d’heure pour avoir une information « en live » et une courbe sur la journée qui est comparée à la veille.

  

Pour avoir des résultats réalistes, à chaque nouvelle segmentation que l’algorithme effectue, seules les nouvelles personnes dans l’image sont comptabilisées. (Démonstration vidéo [2])

 

Algorithme et comptabilité

Par exemple, si entre deux images on passe de 2 à 4 personnes, le nombre de personnes sera incrémenté de 2. À l’inverse, si on passe de 4 à 2 personnes aucune incrémentation n’est faite. On suppose que 2 personnes ne sont plus sur le stand puisqu’elles se sont éloignées du champ de la caméra. D’ailleurs, nous avons intégré dans notre algorithme, un filtrage des détections afin de ne prendre en compte que des personnes dans un champ visuel rapproché. Si des personnes sont détectées loin du stand, elles ne sont pas comptabilisées.

    

Algorithme et choix éthique

Pour notre démonstrateur, nous tenons à signaler qu’aucun suivi de personne n’est réalisé. Ceci pourrait être fait dans des applications nécessitant plus de précision afin de réduire au maximum la possibilité de compter plusieurs fois une même personne qui revient sur le stand. Les choix que nous avons fait nous paraissent suffisants dans notre application puisque l’objectif principal est simplement de mettre en avant un cas d’application, en affichant ici un suivi de la fréquentation toutes les heures.

 

Produit défectueux, vidéosurveillance, dénombrement

Dans le cadre de notre application nous avons utilisé une carte graphique pour accélérer la cadence de traitement des images. Ceci n’est pas une obligation si l’application ne présente pas de changements rapides : mouvement lent, nouvelle détection rare...

Le principe mis en avant à travers ce démonstrateur, l’intelligence artificielle associée à la vision, peut être utilisé pour le dénombrement de n’importe quel « objet ». La démarche utilisée peut facilement être exportée sur des chaînes de production afin d’estimer la cadence de production, de détecter des produits défectueux ou encore de faire de la vidéosurveillance.

 

De la cravate à la vache

On pourrait également aisément dénombrer le nombre de vaches ou gérer le flux en salle de traite. La seule contrainte, pour exploiter les mêmes principes que ceux de ce démonstrateur, est l’installation d’une caméra et une annotation diversifiée et réaliste afin de faire des détections satisfaisantes.

 

Syntyche Gbéhounou, avril 2021.

 

Lien annexes

[1] Ananth, Shilpa. Faster R-CNN for object detection

[2] [Youtube] Traitement d'images, reconnaissance de forme et intelligence artificielle, par Syntyche Gbéhounou.