# Prédiction des flux de personnes par propagation sur GPU des observations d'une flotte de robots

Jacques Saraydaryan, Fabrice Jumel, Olivier Simonin

► To cite this version:

Jacques Saraydaryan, Fabrice Jumel, Olivier Simonin. Prédiction des flux de personnes par propagation sur GPU des observations d'une flotte de robots. JFSMA 2024 - 32èmes Journées Francophones sur les Systèmes Multi-Agents, Nov 2024, Cargèse, France. pp.1-10. hal-04877585

HAL Id: hal-04877585

https://hal.science/hal-04877585v1

Submitted on 9 Jan 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Prédiction des flux de personnes par propagation sur GPU des observations d'une flotte de robots

Jacques Saraydaryan<sup>a</sup> Fabrice Jumel<sup>a</sup> Olivier Simonin<sup>b</sup>

## Résumé

Les tâches réalisées par des robots de service nécessitent des interactions homme-robot et la coordination de la flotte. Dans ce cadre, la pré-diction de la localisation des humains est un facteur clé. Cet article propose un modèle de propagation des probabilités de présence des personnes fondée sur l'observation des flux de déplacement. Ce processus fournit en temps réel une carte des régions les plus probables où les personnes peuvent se trouver. Nous proposons une expression du modèle permettant de parallé-liser efficacement la propagation des flux. Pour fusionner le modèle appris et les observations des robots, nous intégrons un modèle gaussien de pré-diction court terme du déplacement (modèle Von-Mises [11]). Une série d'expériences est réalisée avec des environnements simulés mais aussi intégrant des données réelles permettant d'évaluer et comparer l'approche proposée.

**Mots-clés :** Modèle des flux de personnes, Pré-diction des positions, Simulation multi-agent.

## Abstract

The tasks carried out by service robots nerequire human-robot interaction and fleet coordination. In this context, predicting the location of hu-mans is a key factor. This article proposes a model for propagation of people presence pro-babilities based on the observation of movement flows. This process provides in real time a map of the most probable regions where people can be found. We propose an expression of the mo-del that effectively the propagation of flows. To merge the learned model and the observations, we integrate a Gaussian short-term prediction of displacement (Von-Mises model [11]). A se-ries of experiments in simulated environments but also integrating real data allows to evaluate and compare the proposed approach.

**Keywords:** Humans flow modeling, Position pre-diction, Multi-agent simulation.

## 1 Introduction

Construire des systèmes robotiques capables d’interagir avec les humains reste un défi im-portant. Les connaissances sur le comportement humain sont crucales pour le développement de solutions sûres et acceptables pour l’homme. En particulier, la navigation de robots dans des environnements peuplés d’humains nécessite de comprendre les déplacements humains. Dans cet article, nous proposons une méthode efficace en temps pour prédire les déplacements humains dans un environnement fini à partir des observa-tions recueillies par une flotte de robots.

Notre approche vise à calculer la probabilité de présence humaine à moyen terme (>10s). Comme il est indiqué dans [14], la prédiction de trajectoire humaine est considérée comme court terme si inférieure à 2s. Les prédictions courts termes sont pertinentes pour l’évitement d’obstacle (eg. véhicule autonome). D’un autre coté, les prédictions de trajectoire à long terme (> 20s.) sont particulièrement utiles pour des tâches de logistique ou pour la planification de trajets. Ainsi la prédiction à moyen terme sera plus adaptée aux tâches d’une flotte de robots, où chaque robot peut bénéficier des observa-tions des autres pour adapter son comportement et ses décisions. Pour cela, nous proposons de construire une carte de probabilité de présence humaine à partir des observations des robots.

Notre démarche repose sur l’hypothèse d’une première carte discrète des probabilités d’orien-tations instantanées des flux de déplacement. Ce type de carte, que nous avons proposé dans [5], est appelée Flow Grid Map et est simi-laire à [9, 19]. Dans cet article nous montrons comment, à partir de cette carte des flux, nous pouvons construire un modèle de propagation temps réel des informations d’observation sur les personnes en mouvement. Elles sont exploi-tées par les robots pour naviguer efficacement, par exemple pour trouver des personnes à servir.

<footnote><sup>a</sup> CPE Lyon, CITI Lab., Inria Chroma team, Villeurbanne, France</footnote>

<footnote><sup>b</sup> INSA Lyon, CITI Lab., Inria Chroma team, Villeurbanne, France</footnote>
<figure><img src="image_2.png" /><figcaption>FIGURE 1 – Exemple de capture d'une carte de probabilité de présence (HPP Map) pour un environnement fermé</figcaption></figure>

La figure 1 montre un exemple de propagation de la probabilité de présence humaine sur l'ensemble d'un environnement fermé. L'idée est que chaque fois qu'un robot détecte une personne en mouvement, l'algorithme commence à propager l'information. Les informations cumulées à travers toutes les observations des robots aboutissent à une carte mettant en évidence la probabilité de rencontrer une personne.

Cet article est organisé comme suit : La section 2 décrit les travaux existant sur la modélisation des flux humains et la prédiction des trajectoires de déplacements. La section 3 explique les modèles de grille de flux humains utilisés comme base de calcul dans cet article. La section 4 introduit notre modèle de propagation de la probabilité de présence humaine et les optimisations associées. Enfin, la section 5 présente les expériences et analyse les résultats par comparaison à des modèles de prédiction standards.

## 2 Etat de l'Art

La prédiction des mouvements humains suscite un intérêt croissant depuis quelques années, et en particulier en robotique. La prédiction des mouvements humains peut être divisée selon deux ordres de grandeur : la prédiction à court terme (1-2s) et la prédiction à long terme (jusqu'à 20s) [14]. En outre, Rudenko et al. [14] proposent de distinguer différents types d'approches de modélisation. La modélisation fondée sur la **Physique** vise à calculer un ensemble

d'équations dynamiques explicitement définies qui suivent un modèle inspiré de la physique. Ces méthodes prédisent le mouvement humain à partir des perceptions de l'environnement et sont principalement utilisées pour la prédiction à court terme (par exemple [7], prédiction de collision entre un véhicule autonome et des piétons). Les méthodes fondées sur la **planification** sont davantage axées sur les mouvements à long terme. Après perception de l'environnement, des hypothèses sont utilisées pour estimer la trajet-toire utilisée par une personne pour atteindre ses objectifs. Enfin, les méthodes fondées sur les **modèles** visent à apprendre un modèle de mouvement à partir des perceptions de l'environnement. Ce type de méthodes (méthodes séquentielles) peut apprendre des modèles conditionnels au fil du temps et applique récursivement la fonction de transition apprise pour l'inférence ou pour modéliser la distribution des trajectoires complètes.

Dans cet article, nous nous concentrons sur les approches fondées sur les modèles et plus particulièrement sur les méthodes séquentielles. Dans ces approches, les modèles conditionnels sont appris à partir des observations et utilisent principalement des modèles de Markov. Certains travaux visent à modéliser les transitions locales telles que les probabilités de transition entre les cellules d'une grille de l'environnement [5, 12, 8]. D'autres méthodes utilisent des réseaux neuronaux récurrents (RNN) ou avec mémoires à long terme (LSTM) pour apprendre
<figure><img src="image_3.png" /><figcaption>**FIGURE 2** – À gauche, nous trouvons les données d'entrée, la grille de flux apprise et une observation du robot. Le processus de propagation des probabilités est représenté de $t_0$ à $t_3$. En bas, la probabilité de la présence d'un agent au cours du temps est représentée. Chaque flèche bleue sur chaque cellule définit la probabilité de rencontrer une personne dans une direction donnée. La probabilité totale de rencontrer une personne sur chaque cellule est représentée en haut.</figcaption></figure>

la séquence des mouvements. Ces méthodes récentes donnent de bons résultats, en particulier pour la prédiction à court terme [20] (navigation sociale en environnement densément peuplé), mais il faut beaucoup de données pour entraîner ces réseaux et les modèles calculés sont sensibles aux changements d'habitudes des déplacements. D'autres approches intéressantes calculent des clusters sur des trajectoires observées pour prédire le mouvement humain [4, 21] (e.g. gestion/prévention du déplacement de foule). Malgré de très bons résultats de prédiction, ces méthodes souffrent des mêmes limitations que les approches RNN ou LSTM. De plus, la plupart de ces méthodes nécessitent soit un suivi complet de la trajectoire (par exemple la position de départ et d'arrivée de la personne), soit une capacité à ré-identifier la personne. Ces contraintes ne correspondent pas aux hypothèses d'observation partielle que peut avoir une flotte de robots dans un environnement complexe et dynamique.

Comme indiqué dans l'introduction, la prédiction des mouvements humains peut aider le robot à calculer une navigation efficace (socialement acceptable, réduisant le temps de déplacement) ou à augmenter le service rendu. Avec une observation partielle (ou très brève) du déplacement d'une personne, le robot doit inférer le déplacement en complétant cette observation des données apprises auparavant. En outre, plus la carte utilisée pour la navigation sera renseignée, plus l'efficacité du service rendu pourra être bonne. Ces informations sur les déplacements sont précieuses pour aider les robots à naviguer dans de tels environnements dynamiques [3, 15]. En considérant ces hypothèses restrictives sur les observations, nous avons choisi d'améliorer les

méthodes modélisant les transitions entre celules avec un processus de propagation des probabilités de mouvements. Nous étendons ces méthodes [5, 12, 8] en combinant les informations apprises et les observations récentes pour s'adapter aux contraintes des tâches et des environnements considérés.

## 3 Présentation de la grille des flux

Dans un précédent article [5], nous avons défini une carte des flux de l'environnement, sous forme d'une grille, reflétant la probabilité de rencontrer un humain dans une certaine direction en chaque cellule. Cette carte, illustrée à gauche de la figure 2 (Flow Grid), est calculée comme suit.

Dans chaque cellule $c_{x,y}$, nous discrétisons les directions possibles du flux par un ensemble de $K$ directions, et nous notons $k_i \in K$ chaque direction<fnref n="1" />. Cette discrétisation nous permet de maîtriser la complexité calculatoire des flux (cf. plus loin). Par exemple, nous pouvons poser $K = \{North, NorthEast, ..., South\}$.

On note $Z^t$ l'ensemble des observations effectuées par tous les robots jusqu'au temps $t$. Une observation, dans une cellule $c_{x,y}$, consiste à identifier la présence d'une personne (ou non), sa direction de déplacement, et sa durée. Par hypothèse, un seul humain peut occuper une cellule à un moment donné. En pratique, nous considérons des tailles de cellules allant de 0, 25m² à 1m².

<footnote n="1">1. Quand une personne est détectée par un robot en une position $x, y$ et une orientation $\theta$, cette orientation est approximée par une orientation discrète $k$.</footnote>
Notons $R = r_1, r_2, ..., r_n$ l'ensemble des robots. On note $t_{c_{x,y}(r)}$ la somme des durées de toutes les observations (humains observés ou non) effectuées par le robot $r$ sur la cellule $c_{x,y}$. $t_{c_{x,y,k}(r)}$ est la somme des durées d'observation d'un humain se déplaçant dans la direction $k$ dans la cellule $c_{x,y}$.

Nous définissons $M_{flow} \equiv \forall x \forall y \forall k(M_{c_{x,y,k}})$ la grille de probabilité des mouvements humains dans chaque direction $k$ de chaque cellule $c_{x,y}$, appelée **Flow Grid**. En considérant que les flux humains sont des processus stationnaires, la valeur de chaque cellule est calculée (mise à jour) comme suit :

$$M_{c_{x,y,k}}(Z^t) = \frac{\sum_{n=1}^{|R|} t_{c_{x,y,k}}(r_n)}{\sum_{n=1}^{|R|} t_{c_{x,y}}(r_n)} \quad (1)$$

Pour traiter les processus non stationnaires, un facteur d'oubli peut être ajouté, comme cela a été fait dans [15].

Par extension, la probabilité de rencontrer une personne dans une cellule donnée est définie par :

$$M_{pres_{c_{x,y}}}(Z^t) = \sum_{k \in K} M_{c_{x,y,k}}(Z^t) \quad (2)$$

Comme cela a été suggéré dans [19], la grille de flux pourrait être étendue si les probabilités sont liées à certaines heures de la journée et à certains jours de la semaine.

# 4 Carte de probabilité de présence (HPP Map)

## 4.1 Propagation des flux

Maintenant que nous sommes en mesure de calculer et représenter les flux de déplacement (cf. section 3), nous proposons une méthode pour propager la probabilité de présence des personnes lorsque celles-ci sont détectées par les robots.

Pour ce faire, nous supposons que le flux $M_{c_{x,y,k}}$ nous donne une probabilité de transition entre la cellule courante $c_{x,y}$ et la cellule voisine cblée par l'orientation $k$. Par exemple, si $k$ signifie Nord, et que la cellule actuelle est $c_{1,1}$, $M_{c_{1,1,North}} \equiv P(c_{1,1} \rightarrow c_{0,1})$.

En l'absence d'informations supplémentaires, trouver la plus forte probabilité de direction d'une personne dans une cellule peut être simplement exprimée par : $\text{argmax}(M_{c_{x,y,k}})$.

Cette approche prend uniquement en compte les valeurs apprises des flux, c'est à dire qu'elle n'intègre pas l'observation courante de la personne. Dans le but de prédire l'évolution de la position dans les prochaines secondes, nous devons combiner les observations courantes et les flux pré-calculés.

Nous posons $P_{pres}^t(c_{x,y,k})$, la probabilité de présence d'une personne dans la cellule $x, y$ avec l'orientation $k$, à l'instant $t$. Lorsqu'une observation est réalisée, notée $(z_{x_0,y_0,k_\theta})$, la probabilité de rencontrer une personne sur cette même cellule avec l'orientation $k_\theta$ est de 1. Ainsi $P_{pres}^t(c_{x_0,y_0,k_c} | z_{x_0,y_0,k_\theta}^t) = 1$ si $k_c = k_\theta$, 0 sinon.

Nous pouvons maintenant exprimer la propagation de probabilité de présence en fonction des observations et de la grille des flux. Pour chaque cellule voisine $c_{x_1,y_1}$ autour de l'observation courante $z_{x_0,y_0,k_\theta}^t$, la probabilité $P_{pres}^{t+1}(c_{x_1,y_1,k})$ de rencontrer l'agent sur la cellule $c_{x_1,y_1}$ à $t+1$ avec l'orientation $k$ s'écrit :

$$P_{pres}^{t+1}(c_{x_1,y_1,k} | z_{x_0,y_0,k_\theta}^t) = \frac{M_{c_{x_1,y_1},k}}{\sum_{i=1}^{||K||} M_{c_{x_1,y_1},k_i}} \times \alpha \times P_{pres}^t(c_{x_0,y_0,k_c} | z_{x_0,y_0,k_\theta}^t) \quad (3)$$

où $k_c$ est la direction de la cellule $c_{x_0,y_0}$ vers la cellule $c_{x_1,y_1}$, $k_\theta$ est l'orientation approximée de l'agent observé, et $\alpha$ dans $[0, 1]$ est un coefficient de diffusion entre cellules. Ce processus est illustré en Figure 3. Une vue plus générale de la propagagtion des présences sur une carte est donnée en Figure 2.

<figure><img src="image_4.png" /><figcaption>FIGURE 3 – Principe de la propagation de la probabilité de présence</figcaption></figure>

Enfin, pour un ensemble d'observations se produisant à différents moments, noté $Z^{1:t}$, une cellule accumule la probabilité de présence de chaque observation :

$$P_{pres}^t(c_{x,y,k} | Z^{1:t}) = \frac{1}{||Z^{1:t}||} \sum_{i=1}^{||Z^{1:t}||} P_{pres}^t(c_{x,y,k} | z_{x_i,y_i,k_{\theta_i}}^{t_i}) \quad (4)$$
La matrice résultante, qui représente les probabilités de rencontrer un agent se déplaçant dans une direction donnée, est appelée carte de probabilité de présence (HPP Map).

## 4.2 Optimisation de l'efficacité du calcul des propagations

Pour faciliter la parallélisation du calcul, nous proposons de reformuler le calcul de la carte HPP. D'une part, à un instant $t$, une cellule obtient la somme des probabilités cumulées d'un ensemble d'observations $Z^{1:t}$. D'autre part, la cellule contribue à la propagation de la probabilité aux cellules voisines. Ainsi, nous proposons de formuler le calcul de probabilité de la présence d'un agent dans une cellule comme un processus de diffusion pondéré par $\alpha$ :

$$ P_{\text{pres}}^{t}(c_{x,y,k} | Z^{1:t}) = \frac{\alpha \times M_{c_{x,y,k}}}{\sum_{i=1}^{||K||} M_{c_{x,y,k_i}}} \times \sum_{j=1}^{||N(c_{x,y})||} P_{\text{pres}}^{t-1}(c_{x_j,y_j}, k_c | Z^{1:t}) + (1-\alpha) \times P_{\text{pres}}^{t-1}(c_{x,y,k} | Z^{1:t}) \quad (5) $$

où $||N(c_{x,y})||$ est la cardinalité du voisinage de $c_{x,y}$, $\sum_{j=1}^{||N(c_{x,y})||} P_{\text{pres}}^{t-1}(c_{x_j,y_j}, k_c | Z^{1:t})$ représente l'apport de probabilité de présence depuis chaque cellule voisine et $(1 - \alpha) \times P_{\text{pres}}^{t-1}(c_{x,y,k} | Z^{1:t})$ est la perte sur la cellule couvrante par propagation vers les cellules voisines. Cette reformulation permet une parallélisation massive du calcul de la carte. Au temps $t$, chaque cellule de la carte HPP peut calculer sa valeur à $t+1$ sans attendre le calcul des cellules voisines. Cette propriété permet une implémentation GPU du calcul de la carte HPP.

Cependant, certaines cellules de la grille de flux peuvent avoir une absence d'information. C'est le cas lorsqu'aucune observation n'a encore été faite dans une zone de la carte. Dans ce cas, en l'absence d'information, nous supposons que tout déplacement humain suit un modèle gausien de changement d'orientation tel que décrit par la formulation de Von Mises [11] :

$$ \text{VonMises}(\theta_k, \theta_{k_{\text{ref}}}) = \frac{e^{\cos(\theta_k - \theta_{k_{\text{ref}}})}}{2\pi I_0(C)} $$

où $\frac{1}{C} = \sigma^2$ and $\theta_k$ et $\theta_{k_{\text{ref}}}$ représentent l'angle d'une orientation donnée (e.g. si $K$ signifie Nord, $\theta_k = \frac{\pi}{2}$) respectivement pour une orientation donnée et une orientation de référence. $I_0$ est la fonction de Bessel modifiée d'ordre 0.

Ainsi, pour une cellule de la grille de flux non informée, la propagation de la probabilité peut être définie comme suit :

$$ P_{\text{pres}}^{t+1}(c_{x1,y1,k} | z_{x0,y0,\theta}^t) = \text{VonMises}(\theta_k, \theta_{k_c}) \times \alpha \times P_{\text{pres}}^{t}(c_{x0,y0,k_c} | z_{x0,y0,k_\theta}^t) \quad (6) $$

La figure 4.a donne un exemple d'application du modèle de Von Mises.

<figure><img src="image_5.png" /><figcaption>**FIGURE 4** – Optimisation de la propagation avec Von Mises : a) aucune information n'est détenue par la carte des flux, les coefficients de Von Mises sont utilisés pour la propagation, b) la carte des flux détient des informations qui sont utilisées pour la propagation, c) la carte des flux et les coefficients de Von Mises sont tous deux utilisés.</figcaption></figure>

La grille des flux donne une tendance du mouvement des personnes. Dans certaines situations, les observations peuvent s'avérer opposées au modèle des flux appris. Par exemple, si une observation a été faite à partir d'une cellule dans une direction donnée, si la cellule ciblée contient de fortes probabilités de revenir à la cellule actuelle, le système ne prendra pas en compte la caractéristique de l'observation actuelle. Pour éviter un tel comportement, nous proposons d'utiliser à nouveau la fonction de Von Mises pour combiner le mouvement de l'observation actuelle et les informations de flux. Cette approche tempère la propagation des probabilités en combinant l'observation actuelle et la carte de la grille de flux. Le calcul de propagation donné par la formule 3 est mis à jour comme suit :

$$ P_{\text{pres}}^{t+1}(c_{x1,y1,k} | z_{x0,y0,\theta}^t) = \frac{\text{VonM}(\theta_k, \theta_{k_c}) \cdot M_{c_{x1,y1,k}}}{\sum_{i=1}^{||K||} M_{c_{x,y,k_i}}} \times \alpha \times P_{\text{pres}}^{t}(c_{x0,y0,k_c} | z_{x0,y0,k_\theta}^t) \quad (7) $$

La figure 4 montre un exemple de propagation à l'aide d'une telle formulation. Dans la figure
<figure><img src="image_6.png" /><figcaption>FIGURE 6 – Les différentes étapes d’évaluation de la prédiction de la position des agents</figcaption></figure>

nées de la carte HPP (fig. 6.a) qui sont au-dessus d'un certain seuil. Nous supposons ici que les probabilités en dessous de ce seuil ne sont pas suffisantes pour être représentatives de l'estimation de la présence d'agents. Ensuite, un algorithme de clustering DBscan [16] est appliqué et les centroïdes des clusters résultants sont affichés par des croix colorées (figure 6.b). Enfin, les agents suivis sont affectés au centroïde de cluster le plus proche et la distance entre la position de l'agent et le centroïde du cluster est mesurée. La mesure d'erreur peut être exprimée par

$$ 	ext{erreur}_{h_i} = \arg \min_{clust \in \text{DBscan}(\text{CarteHPP})} \text{dist}(clust, h_i) $$

où *clust* est un centroïde de cluster et $h_i$ est la vérité terrain de la pose de l'agent.

## 5.2 Comparaison à d'autres approches

Nous comparons les résultats obtenus avec deux approches classiques en prédiction du mouvement :

* Une approche à court terme : un estimateur

de Kalman, où les agents sont suivis à l'aide d'un filtre de Kalman standard [6].

* Une approche à long terme : la carte de présence HAM (pour Human Affordance Map) [18] qui est une représentation statistique de la présence des agents identifiés lors des observations précédentes.

La carte de présence des personnes utilise l'observation des robots pour mettre à jour les probabilités de rencontrer une personne sur chaque cellule de la carte. Cette carte est mise à jour pendant toute la durée de l'expérimentation. Comme pour la carte HPP, à chaque étape d'évaluation, un algorithme de clustering DBscan distingue un ensemble des zones de présence les plus probables (les plus hautes). Ensuite, chaque personne observée est affectée au cluster le plus proche. La distance entre la personne et le centroïde de cluster associé est considérée pour évaluer la précision de la prédiction (cf. figure 6.c).

L'estimateur de Kalman est utilisé pour prédire la pose des personnes. Lorsqu'un robot rencontre une personne, un filtre de Kalman est créé et mis
à jour tant que la personne associée est dans le champ de vision d'un robot. Une fois sortie du champ de vision, le filtre de Kalman continue de prédire la position. La distance entre la vérité terrain de la pose de la personne et l'estimateur de Kalman est prise en compte pour évaluer la précision de la prédiction (figure 6.d). Tous les filtres de Kalman sont configurés avec la pose de la personne, une accélération de $0.68m.s^{-2}$ et un écart type d'accélération de 0.2 selon les recommandations de [17].

L'évaluation se déroule comme suit : les personnes détectées par un robot sont suivies (position vérité terrain) pendant différentes plages de temps (de 10s jusqu'à la fin de l'expérience). Pour chaque personne suivie, la distance entre la vérité terrain et la prédiction associée est mesurée pour chacun des processus :

* HPP : Distance au cluster HPP le plus proche

* HAM : Distance au cluster de HAM le plus proche

* Kalman estimator : Distance à la pose prédite associée au filtre de Kalman.

Les différents résultats de distance moyenne entre les positions estimées (ou équivalent dans le cas des clusters) et la vérité terrain des personnes sont présentés en Figure 7.

La distance moyenne est mesurée au fil du temps (cf. Figure 7.a). Chaque couleur correspond à une durée de suivi différente. Par exemple, la courbe orange représente un suivi pendant 10s, ce qui signifie qu'après 10s le suivi s'arrête et sa position vérité terrain est oubliée. On peut remarquer que la distance moyenne diminue avec le temps. Cette observation est due à l'enrichissement de la carte de flux, ce qui augmente la précision de la HPP.

La Figure 7.b présente la distance moyenne cumulative. Il n'est pas surprenant que des durées de suivi plus courtes entraînent de meilleures prédictions (car les probabilités s'étalent avec le temps). On peut remarquer que le suivi des personnes pendant 30s (courbe marron) ou pendant toute l'expérimentation (800s, courbe bleue) ne présentent pas de différence significative sur leur écart à la durée de 10s.

Les résultats des distances moyennes (moyenne de toutes les positions vérité terrain des personnes et des centroïdes/estimateurs de cluster) pour chaque méthode de prédiction sont disponibles dans le Tableau 1. Dans ce tableau, nous comparons deux versions de la HPP, l'une avec le modèle de propagation de Von Mises, et l'autre sans. La capacité du modèle de propagation de

Von Mises à équilibrer l'observation/direction actuelle des personnes et le flux appris donne de meilleurs résultats pour toutes les durées de suivi des personnes (valeurs en gras).

La prédiction HPP avec VonMises obtient les meilleurs résultats pour toutes les durées de suivi, sauf pour la durée 800s. Dans ce cas, la prédiction HAM couplée avec les flux déjà appris donne de meilleurs résultats. Cela peut s'expliquer par le fait que plus la durée de suivie est longue, plus l'erreur de localisation grandie tant que la personne n'est pas ré-observée. Dans ce cas, l'approche statistique (HAM), qui accumule de l'information en continue, donne de meilleurs résultats.

Pour mieux évaluer l'influence de la grille des flux, nous avons comparé les performances avec un apprentissage des flux débuté au début de l'expérimentation et un apprentissage déjà réalisé au début de l'expérimentation. Nous avons remarqué qu'en ce qui concerne la carte d'affordance humaine (HAM) et la carte HPP, les résultats sont nettement meilleurs lorsque la grille des flux est déjà apprise.

## 5.3 Expériences avec des données réelles

Le second scenario expérimental a été réalisé sur un sous-ensemble des données de suivi des piétons ATC [2], cf. Figure 8. Cet ensemble de données est le résultat du suivi des personnes dans un centre commercial ATC au Japon sur environ $900m^2$ entre le 24 octobre 2012 et le 29 novembre 2013. Nous extrayons un sous-ensemble de cet ensemble (données du 14 novembre 2012). L'interaction entre les mouvements des robots et la foule est prise en compte en intégrant des données réelles dans le simulateur Pedsim.

La méthodologie a été la suivante :

* Extraire des séries consécutives de positions individuelles de piétons

* Échantillonner les positions individuelles de piétons

* Convertir les poses échantillonnées en points de passage (waypoints dans la carte)

* Créer un piéton au moment de son apparition (vis à vis des données), en suivant ses points de passage associés.

Entre les points de passage, chaque piéton est guidé par le planificateur local de Pedsim (par des forces répulsives et attractives) qui évite ainsi les collisions avec d'autres piétons ou robots simulés. Nous utilisons le même processus d'éva-
<figure><img src="image_7.png" /><figcaption>**FIGURE 7** – Distance moyenne par rapport à la vérité terrain des clusters de HPP au fil du temps (chaque couleur correspond à une durée de suivi différente). La figure a) montre la distance moyenne par rapport au cluster de HPP en utilisant une fenêtre glissante de 20 unités. La figure b) représente la distance moyenne d'erreur cumulée au cours du temps.</figcaption></figure>

<table><caption>**TABLE 1** – Distance moyenne (en mètre) des piétons entre l'estimation de la pose estimée et la vérité terrain du scénario du musée (scénario artificiel) et de l'ensemble de données ATC (issues de données réelles).</caption><thead><tr><th rowspan="2">Durée du tracking (en s.)</th><th colspan="6">Scenario Museum</th><th colspan="6">scenario ATC</th></tr><tr><th>10</th><th>15</th><th>20</th><th>25</th><th>30</th><th>800</th><th>10</th><th>15</th><th>20</th><th>25</th><th>30</th><th>800</th></tr></thead><tbody><tr><td>HPP sans VonMises</td><td>10.60</td><td>12.57</td><td>13.96</td><td>14.96</td><td>15.66</td><td>21.31</td><td colspan="6">Not Tested</td></tr><tr><td>HPP avec VonMises</td><td>6.58</td><td>8.54</td><td>10.20</td><td>11.50</td><td>12.53</td><td>16.12</td><td><strong>7.45</strong></td><td><strong>8.11</strong></td><td><strong>8.52</strong></td><td><strong>8.77</strong></td><td><strong>8.91</strong></td><td><strong>9.00</strong></td></tr><tr><td>HPP avec VonMises et apprentissage des flux</td><td><strong>5.38</strong></td><td><strong>6.01</strong></td><td><strong>6.81</strong></td><td><strong>7.87</strong></td><td><strong>8.79</strong></td><td>13.02</td><td><strong>4.29</strong></td><td><strong>4.95</strong></td><td><strong>5.44</strong></td><td><strong>5.49</strong></td><td><strong>5.53</strong></td><td><strong>5.81</strong></td></tr><tr><td>HAM</td><td>13.46</td><td>13.86</td><td>14.01</td><td>14.04</td><td>13.96</td><td>12.99</td><td>14.63</td><td>15.06</td><td>15.84</td><td>16.44</td><td>16.55</td><td>16.55</td></tr><tr><td>HAM avec apprentissage des flux<sup>a</sup></td><td>9.29</td><td>9.27</td><td>9.14</td><td>9.13</td><td>9.14</td><td><strong>9.03</strong></td><td>9.00</td><td>9.83</td><td>10.65</td><td>11.05</td><td>11.26</td><td>11.90</td></tr><tr><td>Kalman estimator</td><td>13.01</td><td>14.83</td><td>16.582</td><td>18.05</td><td>19.11</td><td>24.01</td><td>11.69</td><td>13.67</td><td>15.21</td><td>16.16</td><td>16.57</td><td>16.63</td></tr></tbody></table>

<figure><img src="image_8.png" /><figcaption>**FIGURE 8** – Scénario ATC réel. En haut, la configuration originale du scénario comme mentionné dans [2]. En bas, le scénario joué avec 3 robots suivant un chemin hamiltonien, un apprentissage de la grille des flux et un calcul de HPP.</figcaption></figure>

luation que celui utilisé pour les précédentes expériences. Les résultats des distances moyennes de chaque processus utilisé dans le scénario ATC sont donnés dans le Tableau 1.

Les résultats suivent les mêmes tendances que dans la première expérience. La carte HPP avec VonMises obtient les meilleurs résultats quelle que soit la durée du suivi des piétons. Les résultats deviennent également meilleurs lorsqu'un flux déjà appris est utilisé. Dans cet ensemble d'expériences, le HAM ne surpasse pas la méthode de la carte HPP pour un suivi de piétons long (par exemple, 800s). Ce résultat est principalement dû au fait que dans l'ensemble des données ATC, les piétons apparaissent et disparaissent sur une période assez courte, ce qui signifie qu'un suivi ne dépasse pas 30s.

Les expériences réalisées sont illustrées dans la vidéo disponible ici<fnref n="3" />. En synthèse, notre proposition (HPP) surpasse les autres modèles testés en moyenne de 17% (et jusqu'à 40% dans certaines conditions).

<footnote>a. Pour le scénario ATC, 500 000 enregistrements ont été utilisés pour apprendre la grille des flux, les 500 000 enregistrements suivants sont utilisés pour évaluer le modèle.</footnote>

<footnote n="3">3. https://youtu.be/H7Ly9nZKNks</footnote>
# 6 CONCLUSION

Dans cet article, nous proposons une nouvelle méthode de prédiction des déplacements de personnes détectées par une flotte de robots. Nous définissons une carte de probabilité de présence (HPP). Cette carte évolue selon les personnes détectées par les robots et selon une autre carte des flux préalablement donnée ou apprise. En reformulant le calcul, nous pouvons paralléliser massivement le processus (sur GPU) permettant la propagation en ligne des probabilités de présence. En appliquant le modèle de déplacement de VonMises, notre méthode est capable de combiner à la fois les tendances apprises et les observations courantes. Les résultats expérimentaux, menés sur deux scénarios différents (un ensemble de données artificielles et un ensemble de données réelles), démontrent que notre modèle surpasse les estimateurs de présence humaine existants à long terme (Human Affordance Map) et à court terme (Kalman estimator).

En perspectives, nous préparons des expérimentations impliquant des données réelles dans le cadre du déploiement de robots réels dans un espace confiné traversé par des flux de personnes.

## Références

[1] Ros packages for pedsim (pedestrian simulator) based on social force model of helbing et. al, https://github.com/srl-freiburg/pedsimros

[2] Brscic, D., Kanda, T., Ikeda, T., Miyashita, T. : Person tracking in large public spaces using 3-d range sensors. IEEE Transactions on Human-Machine Systems (2013)

[3] Fulgenzi, C., Spalanzani, A., Laugier, C. : Probabilistic motion planning among moving obstacles following typical motion patterns. In : IEEE/RSJ Int. Conf. on Intelligent RObots and Systems (2009)

[4] Han, Y., Tse, R., Campbell, M.E. : Pedestrian motion model using non-parametric trajectory clustering and discrete transition points. CoRR (2020)

[5] Jumel, F., Saraydaryan, J., Simonin, O. : Mapping likelihood of encountering humans : application to path planning in crowded environment. In : The European Conference on Mobile Robotics (ECMR) (2017)

[6] Kalman, R.E., Others : A new approach to linear filtering and prediction problems. Journal of basic Engineering (1960)

[7] Kooij et al. : Context-based path prediction for targets with switching dynamics (2019)

[8] Kucner et al. : Enabling Flow Awareness for Mobile Robots in Partially Observable Environments. IEEE Robotics Autom. Lett. (2017)

[9] Kucner et al. : Probabilistic Mapping of Spatial Motion Patterns for Mobile Robots. In : Cognitive Systems Monographs (2020)

[10] Lam, S.K., Pitrou, A., Seibert, S. : Numba : A detour-based python jit compiler. In : Proc. of the 2nd Workshop on the LLVM Compiler Infrastructure in HPC (2015)

[11] Mardia, K., Jupp, P. : Directional Statistics. (2000)

[12] Mellado et al. : Modelling and predicting rhythmic flow patterns in dynamic environments. In : Towards Autonomous Robotic Systems TAROS (2018)

[13] Portugal, D., Rocha, R. : A survey on multi-robot patrolling algorithms. In : Technological Innovation for Sustainability (2011)

[14] Rudenko et al. : Human motion trajectory prediction : a survey. The International Journal of Robotics Research (2020)

[15] Saraydaryan, J., Jumel, F., Simonin, O. : Navigation in Human Flows : Planning with Adaptive Motion Grid. In : IROS Workshop CrowdNav (2018)

[16] Schubert et al. : Dbscan revisited, revisited : Why and how you should (still) use dbscan. ACM Trans. Database Syst. (2017)

[17] Teknomo, K. : Microscopic pedestrian flow characteristics : Development of an image processing data collection and simulation model. arXiv (2016)

[18] Tipaldi, G.D., Arras, K.O. : I want my coffee hot ! Learning to find people under spatio-temporal constraints. In : Proc. of the IEEE International Conference on Robotics and Automation (ICRA) (2011)

[19] Vintr et al. : Spatio-temporal Representation of Time-varying Pedestrian Flows. In : ICRA Workshop on Long-term Human Motion Prediction (2019)

[20] Xie, Z., Xin, P., Dames, P.M. : Towards safe navigation through crowded dynamic environments. In : IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, IROS (2021)

[21] Zhou, B., Tang, X., Wang, X. : Learning collective crowd behaviors with dynamic pedestrian-agents. International Journal of Computer Vision (2014)