Comptage de piétons

Description

Dans le cadre du projet subventionné MAGNUM, en collaboration avec Stackr, nous avons étudié différentes solutions de comptage de personnes innovantes.

MAGNUM est l’acronyme de « Mesures, Analyse et Gestion de flux, Nativement Unifiée dans des Magasins ». L’objectif du projet MAGNUM est d’offrir aux acteurs des écosystèmes de commerce physique (type « Centre commercial » ou « rue commerçante »), les moyens technologiques de consolider leurs positions face à la montée en puissance du commerce électronique .

Boitiers PiWifi

La première solution développée est un boîtier (PiWifi) de sniffing (collecte) des trames Wifi et Bluetooth provenant des téléphones portables. Ces informations anonymes sont destinées à réaliser un comptage de piéton dans une zone donnée.

Plusieurs de ces boîtiers répartis à dans une rue permettent d’identifier le passage d’un piéton et ensuite de modéliser un flux de passage. Le résultat des mesures est destiné aux commerçants. C’est un outil de mesure statistique.

piwifi
Boitier PiWifi fermé
piwifi
Comptage de piétons devant un McCafé sur une semaine
piwifi graph journée
Fréquentation d'un McCafé sur une journée

Comptage par camera 3D (Kinect, Vistor, ZED) et LIDAR

Dans ce projet de R&D, plusieurs pistes ont été explorées et plusieurs algorithmes testés.

  • Nuage de points avec vue de dessus (Kinect, Vistor)
  • Nappe laser avec vue de face / inclinée (Sick TiM 561)
  • Image de disparité avec vue de dessus (ZED)

 

Nuage de points avec vue de dessus

Le capteur est placé au dessus de la zone de passage. Un nuage de points est obtenu.

Le bruit est éliminé avant de segmenter chaque zone d’intérêt sur la donnéecapteur. Les clustersobtenus sont passésdans un processus d’identification permettant de savoir quel est le type du cluster, humain (adulte, enfant), objet (chariot de course, sac). Les données sont envoyées au processus suivant.

L’extraction des piétons via l’algorithme permet d’obtenir un cluster par personne détectée. Une flèche représente l’état estimé par un filtre de Kalman(vitesse et direction d’avance du piéton).

Algorithme
Algorithme
A gauche, le logiciel de simulation, à droite, la visualisation des nuages de points et leur filtre de Kalman associé
A gauche, le logiciel de simulation, à droite, la visualisation des nuages de points et leur filtre de Kalman associé

Nappe Laser avec vue de face / inclinée

Algorithme
Algorithme
Simulation de détection par laser avec foule
Simulation de détection par laser avec foule

La solution LIDAR est elle aussi très intéressante. Elle suit un traitement très simple à mettre en place. Toutes les zones visualisées et connues dans l’environnement sont filtrées.

La détection de plusieurs points consécutifs dans la nappe laser est considérée comme une personne. Cette personne est alors suivie sur plusieurs coupes (l’équivalent de quelques dizaines de centimètres) en prenant en compte la possibilité de masquage temporaire.

Lorsque cette personne est détectée sur plus d’un nombre prédéfini de coupes elle est comptabilisée.

Image de disparité avec vue de dessus

Ce processus s’écarte des traitements précèdent. L’algorithme de WaterFilling (Water Filling: Unsupervised People Counting via Vertical Kinect Sensor, Xucong Zhang, Junjie Yan, Shikun Feng, Zhen Lei, Dong Yi, Stan Z. Li) est appliqué sur l’image de profondeur.

La détection se limitera donc à une forme ressemblant à un ovale pour détecter les épaules et la tête. Si deux personnes sont proches, l’algorithme de remplissage est poussé jusqu’à ne plus détecter les épaules mais seulement la tête ce qui a pour effet de séparer deux personnes. Dans ce cas de figure, la détection est faite sur une forme pseudo-ronde.

Cet algorithme nécessite donc une GPU pour fonctionner à une fréquence raisonnable (5 Hz). Nous avons donc porté l’algorithme sur une carte NVidia Jetson TX1. Cette carte est basée sur un processeur ARM 64 bits et une GPU Nvidia faible consommation. Il s’agit d’une carte parfaite pour effectuer des calculs massivement parallèles lorsque des contraintes de consommation énergétique et d’encombrement sont présentes. L’algorithme de waterfilling a été recompilé et exécuté sur cette carte avec succès.

Image de profondeur (vue de dessus à 10m)
Image de profondeur (vue de dessus à 10m)
Résultat de la détection de tête
Résultat de la détection de tête
Trajectoires des personnes suivis
Trajectoires des personnes suivis

Données réelles

Détection d'une personne seule
Détection d'une personne seule
Détection de deux personnes
Détection de deux personnes
Détection de croisement
Détection de croisement

Projet financé par :

tpm piwifi
cgv piwifi
bpi piwifi