La simulation de foule au service du divertissement
Alors que 1 500 figurants furent recrutés pour peupler les gradins du cirque antique de Jérusalem pour la version de 1959, ce sont des scènes montrant un public allant jusqu’à 100 000 spectateurs qui illustrent la version de 2016. Sauf que seuls 4 000 figurants ont été recrutés. Ce sont les progrès techniques en termes d’effets visuels qui ont permis cette prouesse. De nouveaux outils, à l’exemple des logiciels de la société Golaem, permettent de peupler à moindre frais l’arrière-plan de telles scènes, pour le cinéma et la télévision. Au cœur de ces logiciels, des algorithmes de simulation de foule.
Un simulateur de foule est un programme qui calcule le déplacement d’un grand nombre de personnes. Ces programmes peuvent prendre des formes très variées. Par exemple, ils peuvent considérer que la foule est un tout, sans distinction d’individu, et qu’elle se déplace comme un fluide s’écoule. On parle alors d’approche macroscopique. À l’inverse, ils peuvent considérer que le déplacement de la foule résulte du mouvement de chacun, et s’attachent alors à calculer le mouvement de chaque individu dans la foule selon ses buts et ses interactions avec ses voisins. On parle alors d’approche microscopique.
À l’origine, ces programmes ont été conçus pour des applications à l’architecture et à l’urbanisme. En vue de la construction d’un bâtiment ou d’un lieu destiné à accueillir un public nombreux, il est important de vérifier le dimensionnement des passages et des surfaces pour garantir un bon niveau de confort dans des conditions normales d’utilisation, et de sécurité lors d’une évacuation. Très tôt, le domaine du divertissement s’est intéressé à ces logiciels pour peupler virtuellement des scènes. Comme évoqué plus haut, le cinéma y a vu un moyen de générer des scènes de foules sans recourir à de très nombreux figurants. Le domaine du jeu vidéo s’y est également intéressé pour animer des scènes qui aujourd’hui peuvent atteindre la dimension de villes entières.
Pourquoi est-ce difficile ?
Un simulateur de foule pour le divertissement a pour objectif de calculer le mouvement d’un grand nombre de personnages avec un niveau visuel de qualité élevée. Pour animer ces personnages, les approches microscopiques sont naturellement adoptées car c’est le mouvement individuel qui est calculé. Le mouvement d’un seul personnage nécessite selon les besoins entre 20 et 60 articulations à piloter. Le nombre de personnages visibles à l’écran, quant à lui, peut atteindre des dizaines de milliers de protagonistes pour les scènes les plus massives. Par conséquent, ce sont potentiellement des centaines de milliers de trajectoires articulaires d’animation à contrôler simultanément. Une difficulté supplémentaire concerne les performances en termes de temps de calcul. Dans le cadre du jeu vidéo, c’est évident car l’affichage de la scène doit se faire instantanément. C’est aussi vrai dans le cadre du cinéma où l’animateur souhaite un retour visuel le plus rapide possible sur la scène en cours de conception. Mais la question du réalisme visuel est primordiale : chaque spectateur, par sa qualité d’être humain, a une capacité redoutable à identifier des mouvements non-naturels, en particulier lors de vues présentant des plans rapprochés de personnages à l’écran.
Techniquement, comment ça marche ?
Piloter d’emblée toutes les articulations de tous les personnages est hors de portée. Techniquement, l’animation de chaque personnage va être progressivement dégrossie. Deux étapes principales sont illustrées par la figure ci-dessous : dans un premier temps, chaque personnage est modélisé comme un simple cercle en mouvement, et l’on calcule ses positions et ses orientations successives au cours du temps. La trajectoire de ces cercles résulte d’une destination à atteindre, mais aussi de toutes les interactions locales avec les cercles voisins, pour éviter les collisions par exemple. Dans un second temps, les mouvements complets des personnages sont calculés de sorte qu’ils suivent les trajectoires des cercles correspondants.
Cette séparation en deux étapes a pour intérêt principal de briser la complexité algorithmique liée au grand nombre de trajectoires à calculer. En effet, à l’étape où la complexité liée aux interactions entre personnages impacte les calculs, un modèle très simplifié de cercle en mouvement est pris en compte, ignorant les articulations internes des personnages. Par la suite, à l’étape où toute la complexité liée au nombre d’articulations des personnages impacte les calculs, seule la trajectoire à suivre est prise en compte, ignorant les voisins. D’un point de vue artistique, cette séparation offre également un contrôle plus aisé de l’animation finale. Les trajectoires globales des personnages peuvent être modifiées par les artistes avec des outils spécifiques, puis les animations finement adaptées à ces trajectoires sans les remettre à nouveau en cause.
Et la question du réalisme ?
Au-delà des aspects techniques précédemment évoqués, la notion de réalisme est primordiale pour les applications liées au divertissement. En particulier, quelle est la différence entre les animations de foules virtuelles et une foule réelle ? Cette comparaison peut concerner bien des aspects, mais dans notre cas précis, c’est le réalisme de l’image montrée à l’écran qui compte avant tout, et pas nécessairement le réalisme au sens physique du mouvement. L’important est que le spectateur la juge vraie, naturelle, qu’il ne puisse la distinguer facilement du réel, que cette crédibilité ne soit pas subitement altérée par un défaut visible majeur. L’accent est alors porté sur la création de mouvements perçus comme naturels, même si ces mouvements ne sont pas forcément reproductibles dans la réalité.
Évaluer l’aspect visuel des animations de foule nécessite de recourir à des méthodes scientifiques. On s’appuie sur des études dites « en perception » pour identifier les conditions où les scènes sont perçues comme naturelles, et celles où elles ne le sont pas. Le principe est intuitif : de nombreux exemples d’animations sont présentés à des participants sous la forme de courtes vidéos. Leur contenu se distingue par certains facteurs dont on cherche à évaluer l’effet sur la perception. Après chaque visionnage, les participants répondent à une ou plusieurs questions qui permettent d’évaluer ces effets. Par exemple, ces vidéos peuvent présenter des personnages se croisant à une distance plus ou moins grande, et les participants donnent leur avis sur le fait que la distance entre les personnages est appropriée ou non. Typiquement, certaines distances seront clairement appropriées, d’autres clairement pas, mais ce qui nous intéresse le plus est de comprendre comment sont perçues les distances intermédiaires. Des outils issus de la statistique et de la psychophysique sont alors utilisés pour représenter et analyser les réponses des participants. Ces méthodes nous permettent notamment d’identifier le rôle et l’importance relatifs de différents facteurs étudiés ou encore les seuils critiques de perception.
Coupler ces études en perception avec la simulation de foule est donc extrêmement pertinent pour identifier les éléments les plus importants d’un point de vue perceptif. Les simulateurs peuvent alors être enrichis en se focalisant sur ces éléments visuellement importants, sans être complexifiés par les éléments n’influençant pas le réalisme visuel final, comme présenté dans l’exemple qui suit.
Étude sur les mouvements d’épaules dans les foules
Nous décrivons ici un exemple illustrant l’utilisation d’une étude en perception en vue d’améliorer une scène animée de foule. Comme expliqué plus haut, l’animation d’une foule se fait en deux temps : une trajectoire est d’abord calculée sur un modèle simplifié des personnages, puis leur animation est calculée sur un modèle détaillant les articulations sans tenir compte de la proximité d’autres personnages. Cette utilisation d’une double représentation des personnages pose deux problèmes. Premièrement, il peut exister des collisions résiduelles visibles entre les personnages du fait du changement de leur représentation géométrique entre les deux étapes. Deuxièmement, les personnages animés pour suivre une trajectoire semblent finalement s’ignorer entre eux, les interactions ne rentrant pas en ligne de compte dans l’animation détaillée.
Pour tenter de résoudre ces problèmes visuels, nous suggérons d’introduire des éléments additionnels à l’animation de marche des personnages qui concernent les mouvements d’épaules. Les humains utilisent ces mouvements pour éviter les collisions lors de passages à proximité d’autres personnes. De ce fait, une solution pour les générer consisterait à prendre en compte les interactions physiques entre personnages lors de passages à proximité où l’épaule vient au contact, mais cela ajouterait beaucoup à la complexité des calculs d’animation. Une solution beaucoup plus simple consiste à rejouer un mouvement d’épaules préenregistré que l’on déclenche de manière systématique au moment où deux personnages se frôlent, sans plus entrer dans les détails de cette interaction physique. Cela suffit-il à créer l’illusion ? Est-ce que ce mouvement pourra paraître bien adapté à notre cas précis alors qu’il a été enregistré préalablement ? Quel sera l’effet plus général de la présence de ces animations secondaires sur le réalisme d’une animation de foule ? C’est par une étude en perception que nous cherchons à répondre à ces questions.
Nous avons réalisé plus précisément deux expériences perceptives successives pour étudier ces mouvements d’épaules (voir la vidéo ci-dessus). Tout d’abord, nous avons étudié comment étaient perçues les interactions entre deux personnages uniquement, en se focalisant donc sur l’aspect local des interactions. Nous avons montré à des participants 264 vidéos de 3 secondes dans lesquelles deux personnages marchaient en direction opposée. Dans un tiers des vidéos, il n’y avait pas de mouvement d’épaules, dans un tiers des vidéos, un seul personnage présentait un mouvement d’épaules, et dans le reste des vidéos les deux personnages en présentaient. Les personnages se croisaient aussi à une distance allant de 20 à 70 cm, présentant donc une gamme de collisions allant de franchement visibles à franchement absentes. En demandant aux participants pour chaque vidéo s’ils percevaient une collision entre les personnages, et s’ils trouvaient l’interaction naturelle, nous avons identifié que ces mouvements d’épaules améliorent le réalisme visuel des interactions. Notamment, ils permettent de masquer des collisions résiduelles plus importantes sans qu’elles soient perçues par les utilisateurs.
Dans un second temps, nous avons démontré les bénéfices d’ajouter ces mouvements d’épaules dans des scènes avec plus de personnages. Nous avons utilisé un simulateur de foule pour générer les trajectoires de centaines de personnages, avec différents niveaux de densité de foule. Sans modifier ces trajectoires, nous avons ajouté les animations détaillées du corps des personnages, en y intégrant dans certains cas des mouvements d’épaules lorsque les personnages passaient à une distance suffisamment proche. De façon intéressante, cette seconde étude a démontré que ces mouvements d’épaules améliorent le réalisme visuel des simulations, peut-être de par la variété ajoutée à la simulation, mais ne diminue pas la sensation du nombre de collisions présentes.
Perspectives
De tels résultats démontrent la pertinence de ces approches couplant les études en perception avec la simulation de foule pour étudier comment les spectateurs perçoivent les foules virtuelles. Au lieu de rendre plus complexes les modèles prenant en compte les interactions, il est alors tout à fait probant de simplement rejouer des mouvements additionnels que le spectateur n’arrive pas à distinguer d’une simulation plus complexe.
Aujourd’hui, ces études en perception se basent majoritairement sur des questions subjectives : « Avez-vous perçu une collision entre les personnages virtuels ? », « Quelle simulation vous semble la plus naturelle ? », etc. Du fait de leur côté subjectif, les réponses à ces questions ne sont pas toujours évidentes pour les utilisateurs, ce qui peut rendre l’analyse des réponses difficile. Cependant, ces évaluations ne se basent pas toujours sur des questions, et il peut être plus intéressant de mesurer d’autres indices objectifs lorsque cela est possible. Par exemple, il est possible de demander aux utilisateurs de cliquer sur les collisions qu’ils perçoivent entre personnages pour mesurer la quantité de collisions perçues.
Enfin, l’un des buts pour encore simplifier la simulation de foule est de proposer de nouveaux outils intuitifs pour créer des scènes aussi réalistes que possible. Ces outils doivent par exemple permettre aux animateurs de facilement intégrer de tels mouvements additionnels lorsqu’ils le souhaitent, ou de simplement changer les mouvements d’un personnage qui ne leur conviennent pas.
Ces travaux de recherche sont réalisés en collaboration avec Anne-Hélène Olivier et Richard Kulpa.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !