Vision par ordinateur. Calcul du flux client





La tâche était d'analyser et de calculer le flux de clients dans le bureau. Il existe de nombreuses solutions pour des tâches similaires, comme l'utilisation du réseau neuronal à convolution (CNN), comme YOLO (vous ne regardez qu'une fois), SSD (détection de coup unique), R-CNN, etc. Mais comme les données d'entrée étaient des fragments vidéo de différentes résolutions et formats, selon le modèle d'enregistreur et les paramètres définis, il a été décidé d'essayer la méthode de soustraction d'arrière-plan. Je voulais aussi essayer cet algorithme, car je ne l’avais jamais rencontré auparavant et il était intéressant de savoir ce dont il est capable.







Cette méthode repose sur un arrière-plan, comme son nom l'indique. La base est de comparer la trame suivante avec les précédentes pour les changements. Autrement dit, si l'arrière-plan n'a pas changé ou s'il n'y a pas de changements importants (balancement du feuillage, mouvement des nuages, etc.), cette méthode ne sélectionnera pas ces zones dans l'image et la vidéo. Il existe également un grand nombre d'algorithmes internes sur lesquels la soustraction d'arrière-plan est basée, qui déterminent les changements de différentes manières. Certains algorithmes sont très sensibles aux changements, c'est-à-dire aux pluies légères, pas aux changements importants des couronnes des arbres dus au vent, tous ces objets seront visibles sur le masque de l'algorithme. D'autres algorithmes construisent des masques très grossièrement, combinant plusieurs pixels en un seul objet, c'est-à-dire que deux personnes se déplaçant côte à côte seront définies comme une seule personne,par conséquent, il est important de choisir le bon algorithme pour votre tâche et d'essayer différents paramètres (le nombre d'images à comparer, la bordure pour couper les zones, etc.)











Il existe également divers paramètres dans l'algorithme qui peuvent améliorer la qualité, et le masque final est beaucoup mieux pour identifier les objets.







Après des réglages supplémentaires et l'écriture de code supplémentaire pour mettre en évidence les zones variables et compter davantage le flux client, il s'est avéré obtenir un bon résultat en termes de comptage du nombre de personnes, car c'était la première expérience avec les méthodes de la bibliothèque python CV2, sans utiliser de réseaux de neurones.



Malheureusement, cette méthode a ses inconvénients, c'est la sélection de certains artefacts, plus elle a des fonctionnalités limitées et un champ d'utilisation restreint, mais en tant qu'expérience et familiarité avec les capacités de Computer Vision, une excellente opportunité.



Je propose d'utiliser mon expérience dans l'utilisation d'outils et de services open source pour résoudre des problèmes de vision par ordinateur.



All Articles