Emergent Crowd Grouping via Heuristic Self-Organization
Abstract.
Modeling crowds has many important applications in games and computer animation. Inspired by the emergent following effect in real-life crowd scenarios, in this work, we develop a method for implicitly grouping moving agents. We achieve this by analyzing local information around each agent and rotating its preferred velocity accordingly. Each agent could automatically form an implicit group with its neighboring agents that have similar directions. In contrast to an explicit group, there are no strict boundaries for an implicit group. If an agent’s direction deviates from its group as a result of positional changes, it will autonomously exit the group or join another implicitly formed neighboring group. This implicit grouping is autonomously emergent among agents rather than deliberately controlled by the algorithm. The proposed method is compared with many crowd simulation models, and the experimental results indicate that our approach achieves the lowest congestion levels in some classic scenarios. In addition, we demonstrate that adjusting the preferred velocity of agents can actually reduce the dissimilarity between their actual velocity and the original preferred velocity. Our work is available online111https://pypi.org/project/pyfollower/.
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x1.png)
1. Introduction
Large multi-agent systems, such as the real-time simulation of human crowds, are important tasks in games (colas2022interaction, ; wolinski2014parameter, ), animation (gustafson2016mure, ; zhang2023orcanet, ) and visual effects (kanyuk2015headstrong, ; van2021algorithms, ; hu2021heterogeneous, ). In the realm of crowd simulation studies, the classification typically involves two categories: flow-based, wherein the entire crowd is conceptualized as a substance with fluid-like characteristics, and agent-based, where each individual of the crowd is represented as an intelligent agent. The focus of this work is specifically on microscopic approaches, delving into the intricacies of addressing the crowd simulation problem at the individual scale. This work focuses on agent-based approaches that generate crowd dynamics from the micro perspective of individuals.
In agent-based methods, the primary focus is to model local interactions among agents which specifies how the movement of each agent is impacted by the presence of neighboring agents and obstacles. Subsequently, macroscopic collective behaviors emerge through the microscopic interactions among individuals. Amidst various modeling considerations, a significant portion (van2020generalized, ; van2011reciprocal, ; lee2018crowd, ) is dedicated to addressing collision avoidance. Typically, a local navigation algorithm needs to calculate a velocity for an agent at a given moment, enabling it to navigate its path safely around other nearby agents and obstacles without collisions. In many modern techniques for procedural animation of intelligent systems and crowd dynamics, this local navigation algorithm could be optimizing a cost or energy function (karamouzas2017implicit, ), performing low-dimensional linear programming under the constraint of velocity obstacles (fiorini1998motion, ; van2008reciprocal, ) and leaning to interact with agents(charalambous2023greil, ; talukdar2023learning, ; lee2018crowd, ; kwiatkowski2023reward, )
In addition to the necessary collision avoidance characteristics, human crowds usually display a rich variety of self-organized behaviors that support efficient motion under everyday conditions (moussaid2011simple, ). One of the best-known examples is the spontaneous formation of uni-directional lanes in bi-directional pedestrian flows (helbing1995social, ). This intricate ability of crowds to self-organize has not only practical implications for everyday scenarios but also holds promise for optimizing crowd flow in controlled environments.
Group dynamics modeling is an effective crowd organizing method that reduces internal conflicts among crowds by organizing individuals into groups (gorrini2014empirical, ; li2017grouping, ; nicolas2023social, ). Existing crowd simulation methods for modeling group behaviors often require explicit grouping or the establishment of heterogeneous leaders. Previous research on modeling group behavior has predominantly focused on cohesive motion or spatial structures within the crowd. Fundamental algorithms involve clustering agents into predefined groups, with each group maintaining a constant size (static grouping) (bruneau2015going, ; tang2023crowd, ). However, these methods fall short in capturing the evolving sizes of groups, dividing large crowds into subgroups, or merging smaller groups into larger ones (he2016dynamic, ). Therefore, how to produce group dynamics via self-organization need further exploration.
In response to this limitation, this work proposes a method to facilitate the spontaneous emergence of group dynamics in crowds. The primary objective of this paper is to facilitate the emergence of self-organizing phenomena by adjusting the preferred velocity of agents, thereby improving the efficiency of crowd movement. In terms of collision avoidance, Optimal Reciprocal Collision Avoidance (ORCA) (van2011reciprocal, ) is employed as the underlying model, where the preferred velocity is a crucial variable compared to other collision avoidance models. Our approach enables agents with similar forward directions to implicitly organize into groups. As agents move, changes in their positions result in individuals diverging automatically from the group when their target directions deviate. The formation, merging, splitting, and redistribution of these implicit groups are spontaneously driven by interactions among agents. This paper achieves the emergence of automatic implicit grouping behavior in crowds through a bottom-up approach, potentially offering a novel perspective in the realm of crowd simulation. The main contributions of this paper are as follows:
-
(1)
Focusing on promoting the emergence of group dynamics, this paper proposes a method that allows agents to make slight adjustments to their preferred velocity in the direction based on the surrounding information. This enables the crowd to autonomously generate implicit groups, which can reduce internal conflicts among intelligent agents experiencing significant disparities in movement directions.
-
(2)
The proposed method is compared with many agent-based crowd models, including the state-of-the-art method, implicit crowd (karamouzas2017implicit, ), a crowd simulation model that utilizes implicit integration to produce highly smooth trajectories while maintaining strong robustness. Experimental results indicate that the proposed method performs better than compared algorithms in terms of crowd congestion level and the alignment between preferred velocity and actual velocity.
-
(3)
We encapsulated our method into a Python package, accessible via the Pip package management tool. This facilitates easy integration and usage for researchers seeking to apply the developed approach in their work.
2. Background
2.1. Related Work
Social Force model (helbing1995social, ) is one of the earliest proposed models for simulating crowd dynamics. Each agent in this model is influenced by surrounding agents and obstacles. This influence is defined as virtual physical forces, and, therefore, the movement of agents can be calculated based on principles of mechanics. The concept of Velocity Obstacle (VO) space, denoting the velocities of an agent that would result in a collision between the agent and an obstacle or another agent at some future time, was introduced in (fiorini1998motion, ). Therefore, collision avoidance can be transformed into a linear programming problem, considering velocity obstacles with respect to other agents or obstacles. Numerous subsequent studies, building upon the concept of VO, have been proposed. Rather than opting for a new velocity outside the velocity obstacle of the other agent in VO method, Reciprocal Velocity Obstacle (RVO) (van2008reciprocal, ) selects a different velocity by averaging its current velocity with a velocity positioned outside the velocity obstacle of the other agent. Compared to the original VO method, RVO can generate safer and smoother trajectories. The formulation of RVO can only guarantee collision-free in certain specific conditions and Optimal Reciprocal Collision Avoidance (ORCA) was proposed to provide a sufficient condition for multiple agents to avoid collision (van2011reciprocal, ). Some studies (karamouzas2009predictive, ; karamouzas2014universal, ) also use the notion of time to collision to achieve collision avoidance and describe human interactions. Vision information was also useful in agent-based crowd simulation and was explored in many studies (ondvrej2010synthetic, ; hughes2015davis, ; dutra2017gradient, ). In these methods, each agent movement can be calculated by evaluating the future collisions based on the time to collision, time to closet approach or distance of closest approach of each pixel. Karamouzas et al. (karamouzas2017implicit, ) presented an optimization integrator named "Implicit Crowds," tailored to harmonize with nonlinear, anticipatory forces, and physics-based animation in multi-agent systems. Through the incorporation of dissipation functions, this approach demonstrates insensitivity to parameters and achieves the generation of remarkably smooth and collision-free trajectories for crowd movement. In recent years, with the continuous increase in computational power, some researchers tried to use machine learning (alahi2016social, ; zhong2022data, ; hu2021heterogeneous, ; kwiatkowski2023reward, ) to discover crowd behavior patterns and employ reinforcement learning (lee2018crowd, ; talukdar2023learning, ; charalambous2023greil, ) to explore interaction strategies within crowds. The above algorithms effectively model crowds and are sufficient to reproduce many known crowd phenomena. However, limited attention has been given to how the emergence of self-organizing phenomena in crowds can be facilitated through the local interactions of agents.
There is also some research on group dynamics. Bruneau et al.(bruneau2015going, ) studied collision avoidance among predefined and fixed pedestrian groups. Tang et al. (tang2023crowd, ) group individuals via machine learning methods. Dynamic grouping (he2016dynamic, ) was also explored to introduce a process for maintaining and updating groupings within the crowd after agents update their positions and velocities. Despite these efforts, many real-world scenarios involve crowds exhibiting spontaneous cooperative behaviors, such as the emergence of channeling effects, without explicit grouping and criteria for grouping. Further investigation is required into the emergence of crowd grouping.
2.2. Agent-based Crowd Simulation
In the setting of agent-based crowd simulation, the task involves navigating agents to their individual destinations while avoiding collisions with other agents or obstacles. These agents traverse a two dimensional plane and are commonly depicted as discs with radii . The simulation includes a loop with frames of a fixed duration . At the simulation time step , the state of agents can be characterized by three matrixes:
(1) | |||
(2) | |||
(3) |
where each ,, represent the position, velocity, and preferred velocity of agent at time step , respectively.
The preferred velocity signifies the direction in which the agent intends to move forward. In its most basic form, the preferred velocity for each agent is represented as a vector starting from the agent’s current position and pointing towards a local destination. Its magnitude is equal to a user-specified preferred speed .
Typically, a global path planner is assumed to operate outside local navigation, calculating a global path for each agent in the scenario. This path can be decomposed into multiple local destinations. Then, at each simulation time step , the preferred velocities for all agents can be determined based on their current positions and local destinations.
To ascertain the state of agents in the subsequent time step , local navigation is required to calculate and for the agents first. Then, can be determined based on current positions and the local destinations of agents. Usually, can be calculated from , and also can be inferred from . Thus, local navigation only needs to compute either of these two. For example, in (karamouzas2017implicit, ), the calculation is for , while in (van2011reciprocal, ; dutra2017gradient, ; van2008reciprocal, ), the calculation is for .
When the surrounding environment is crowded, the actual velocity of agents often deviates from their preferred velocity . Agents aspire to advance towards their local goals but are required to adhere to certain local navigation constraints, such as avoiding collisions with other agents, maintaining proximity to a specific agent or group, and other relevant considerations. According to some crowd simulation models, such as (van2008reciprocal, ; karamouzas2014universal, ; karamouzas2017implicit, ), the agent repeatedly makes a local adjustment to step in a certain direction. In this work, for convenience, we use a function to represent this local adjustment/navigation:
(4) |
where serves as an abstraction for the process of local navigation algorithms (collision avoidance in particular). It take the state of agents as input and output the velocities of all agents of the next time step.
3. Method
3.1. Preferred Velocity Correction
So far, the calculation of preferred velocity is still based on a greedy rule, where each agent wishes to move in the direction that brings it closest to its destination in the shortest distance. This holds true for an individual pedestrian, but in a crowd, individual preferences are often influenced by the collective (le2002crowd, ). In real-life scenarios such as subway stations, airports, etc., the movement preferences of crowds often exhibit a tendency to follow the pedestrians in front, and even create channeling effects (helbing1995social, ) in some scenes. These autonomously emerging crowd phenomena can often enhance the efficiency of crowd movement. The basic idea in this work is to adjust the preferred velocity of each agent based on the surrounding crowd state, trying to create some beneficial crowd dynamics to enhance the efficiency of crowd movement. Therefore, we modify the calculation of as follows:
(5) |
where is considered as the new preferred velocities of agents after being influenced by the surrounding crowd. Each in for each agent should be a more promising direction for the agent when the surroundings are crowded, compared with its original preferred velocity . At the same time, must also possess the functionality of , guiding the agent towards its (local) destination.
How to find a reasonable is the focus of our work. The proposed method in this paper is to make a slight rotation, by an angle , to the original preferred velocity of each agent based on its current neighboring agents. Therefore, the relationship between and is as follows.
(6) | |||
(7) |
in which donates the rotation matrix corresponding to the angle , represents the Hadamard product (horn2012matrix, ). In this case, the goal of this work is to calculate for offset angles at each time step , which can be characterized by (8).
(8) |
In the next subsection, a simple and efficient method for producing is presented.
3.2. Factors Influencing the Rotation Angle
Most existing crowd simulation models calculate for each agent based on several kinds of information, including the current velocity and position of , the agent’s preferred velocity , and the positions and velocities of other agents around . While these pieces of information primarily serve the purpose of collision avoidance, they also have the potential to offer guidance for optimizing crowd movement efficiency—a facet that has not received adequate attention in prior research. In this section, we examine the potentially viable offset direction for each agent, considering the information mentioned above. By simulating common behavioral patterns observed in real-life crowds, we hope to construct a following effect among individuals, thereby achieving crowd implicit grouping.
3.2.1. View field
In real-world scenarios, the preferences of pedestrians are often influenced only by the states of the crowd in front of them (within their field of view). Therefore, we introduce a term to model this phenomenon. We define a vector as the directions of the agents at the current time step :
(9) |
In this work, we do not consider the actual velocity of an agent at time step t as its direction because the actual velocity may result in a very strange direction when avoiding collisions. Instead, we take a compromise between the actual velocity and the preferred velocity as the direction of an agent:
(10) |
Whether other agents are in front of agent can be inferred using the following formula:
(11) |
where is the Heaviside step function (zhang2020feature, ), is the matrix of relative positions of all agents:
(12) |
in which donates the Kronecker product (henderson1983history, ), donates element-wise dot product, means an all-ones matrix with size of . is a matrix of dimensions n-by-m, comprised of ones and zeros. The element in the -th row and -th column signifies whether is positioned in front of , with one indicating yes and zero indicating no. When calculating , can be used as a mask to control which agents’ information needs to be included in the calculation.
3.2.2. The similarity and dissimilarity in directions
The movement of a pedestrian is often influenced by the velocities of the surrounding crowd. The velocities of other pedestrians commonly serve as a foundation for achieving collision avoidance. Simultaneously, the preferred velocity of a pedestrian is also influenced by these velocities. In real-world situations, when a pedestrian encounters a group of individuals walking towards them, there is a tendency to avoid them. Conversely, the pedestrian is inclined to follow a group of people moving in a similar direction as them. Inspired by this phenomenon, this work uses this observation as partial basis to calculate .
The degree of difference in the direction between an agent and another agent can be calculated by their inner product . In this work, we assume that agents can only know the actual velocities of other agents at time step t, without knowing their preferred velocities. Therefore, for agent , we use as an indicator of the difference in velocity between and . When is positive, the larger the value, the closer the directions of and . When is negative, the larger the absolute value, the more conflicting the directions of and . These indicators form a matrix, which can be calculated by (13).
(13) |
The value of can be positive or negative. If it is negative, needs to avoid ; if it is positive, could follow . The magnitude of , which represents the degree of correction to the preferred velocity of , can partially depend on the absolute value of .
3.2.3. Detour
The magnitude of the angle between the direction of an agent and the relative position of another agent with respect to can serve as an indicator of the potential obstruction that might pose to the movement of in future time steps. When there are numerous other agents in the front of an agent, it suggests the possibility of potential congestion ahead (liao2023towards, ). can make some detour-like adjustments, i.e., offsetting the preferred velocity. In this work, this indicator is utilized as a component in calculating .
(14) |
where is a matrix, donates Hadamard division (cyganek2013object, ). The element in the -th row and -th column of signifies the degree of proximity between the movement direction of and the direction of relative to .
3.2.4. Distance
A basic intuition is that distant agents have a reduced impact on oneself. This work uses the reciprocal of the relative distance to describe this influence:
(15) |
The impact on agent from other agents positioned at a greater distance should be diminished. This idea has also been widely adopted in many previous studies, such as neighbor region (van2008reciprocal, ). When adjusting the preferred velocity, it is also not necessary to consider all other agents. A new mask can be used to achieve this:
(16) |
where is the radius of the neighbor region. When the distance between and is greater than , is not considered to have an impact on the preferred velocity of .
3.2.5. Rotation direction of preferred velocity
The indicators introduced above can provide a basis for the magnitude of the preferred velocity offset angle, but we need to introduce a new component to control the direction of the preferred velocity offset. This work proposes a method to control the rotation direction of the preferred velocity via cross product. Because the cross product of and , and the sine of the angle between them have a linear relationship, we can use their cross product to determine whether positioned in the left or right half area of . Therefore, we use to control the rotation direction of each preferred velocity:
(17) |
where donates element-wise cross product. is a matrix consisting of s and s. If the value in the -th row and -th column is , it means that is on the left side of ; otherwise, on the right side.
3.3. Overall Framework
Based on the analysis in the previous subsection, we have obtained some useful information (i.e., to ) for calculating . This subsection employs a straightforward multiplication approach to organize the potential information outlined earlier. As is obtained via the cross-product operation that is associated with the sine function. Its values are distributed around when the state of crowd is completely random. Therefore, this work establishes the following relationship:
(18) |
We can finally obtain the calculation formula for by normalization and the addition of the coefficient :
(19) |
where the term is used to control the deviation of the preferred velocity, ensuring it does not exceed .
The overall framework of the algorithm is illustrated in Algorithm 1. The simulation initiates with the assignment of initial positions and velocities for the agents. In typical situations, is composed of zero vectors, indicating that agents are initially stationary. The simulation proceeds through discrete time steps until reaching a predefined maximum time limit . At each time step, the preferred positions for agents are calculated based on their global paths. Then, the rotation angles of are calculated via the proposed method. Accordingly, is rotated and the new preferred velocities of agents can be obtained. The velocities of agents are updated by collision avoidance model that considers the current positions , velocities , and rotated preferred velocities . In this work, ORCA (van2011reciprocal, ) is adopted as the foundational collision avoidance model. Given its emphasis on preferred velocity as the objective, it aligns seamlessly with our approach. The positions are updated accordingly, and the current state of the simulation is visualized. This iterative process continues until the maximum time limit is reached.
4. Implementation
4.1. Setting
This work primarily focuses on the efficiency of crowd movement. Therefore, the evaluation metrics in this paper include the dissimilarity between preferred velocity and actual velocity and crowd congestion (liao2023crowd, ) level
(20) |
We test our method in several classic scenarios, including: Circle (see Figure 1, a classic scenario involves the even distribution of 100 agents on a circle, with their goal being to navigate to the antipodal position on the same circle), AsyCircle (similar to the configuration of Circle scenario, but with a slight perturbation added to the destination of agents, causing their movement to be not entirely symmetrical), 2-Group (see Figure 2(a), two groups, each comprising 20 agents, are positioned on the east and west sides of the scenario in a grid formation, with each agent’s destination mirroring horizontally w.r.t. the scenario center), and 4-Group (see Figure 2(b), four groups, each comprising 25 agents, are arranged in a grid formation in four directions of the scenario, and each agent’s destination is a position symmetric w.r.t. the scenario center).
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5700749/images/group2.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5700749/images/group4.png)
Our model is compared with following models: SocialForces (helbing1995social, ), RVO (van2008reciprocal, ), PLEdestrians (guy2010pledestrians, ), PowerLaw (karamouzas2014universal, ), Karamouzas (karamouzas2010velocity, ), Moussaid (moussaid2011simple, ), ORCA (van2011reciprocal, ), Dutra (dutra2017gradient, ) and Implicit (karamouzas2017implicit, ). We implemented our method in C++ for the simulation of agents and Python for user interface. The parameters in our work are configured with .
4.2. Results and Analysis
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x2.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x3.png)
Figure 3 presents the variation of over time steps in different scenarios. It can be observed that when agents from different directions converge (time steps around the middle of the x-axis), the actual velocities of agents in most methods deviate significantly from their preferred velocities. Our method achieved a relatively stable alignment between preferred velocity and actual velocity during the most of time of each simulation process. This results indicate that applying beneficial rotations to the agents’ original preferred velocities can actually reduce the dissimilarity between and . We hope that these results can provide some potential insights for future researchers in related studies.
Figure 4 depicts the variation of congestion levels over time steps for different algorithms in different scenarios. From the figure, it can be observed that our method exhibits relatively low congestion level when agents from different directions start to converge. Surprisingly, in the Circle scenario, due to the highly symmetrical movement of the crowd, all agents self-organize into a single group (refer to Figure 1), resulting in no congestion. Implicit crowd also performed well in most scenarios. However, the Dutra method performed poorly in two circle-based scenarios. Referring to the motion trajectories in Figure 1, it can be observed that this vision-based method exhibits severe oscillations when encountering a large and densely packed number of agents from different directions. SocialForces and PowerLaw are two rule-based methods that, without adding perturbations, exhibit prolonged congestion in symmetric scenarios. The area enclosed by the curve and the x-axis can be approximated as the overall congestion level of the crowd throughout the simulation process. Our method demonstrated the minimum congestion level in each scenario. This indicates that mimicking the following effect of real-life crowd behavior can significantly reduce congestion among individuals.
We also compares three crowd simulation models – ORCA, Implicit, and our method – within the AsyCircle scenario visually (its agents’ initial positions can be referenced from the first subplot in Figure 1). Figure 5 presents the simulation outcomes, highlighting distinctive characteristics of each model. Both ORCA and Implicit exhibit congestion at the convergence area where agents meet in the middle. In contrast, our proposed method showcases a unique behavior, forming loosely structured groups of agents with similar directions prior to their encounters. After agents meet, the original Implicit group disperses, and they reorganize into new formations with similar velocity directions (visible queues of agents in the figure). Notably, in our crowd simulation method, there is a conspicuous absence of significant congestion, emphasizing the efficacy of our approach in mitigating crowd congestion issues. Figure 6 shows illustrates partial trajectories of three agents from different crowd simulation models in a classic three-agent scenario. Agents in our method exhibit stronger proactive avoidance behavior compared to the Implicit and ORCA. This indicates that the pattern in our method, which considers avoiding or taking detours around pedestrians ahead, works.
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5700749/images/demo_acircle.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5700749/images/three.png)
Figure 7 illustrates the computation time of the ORCA, Implicit, and our method for different numbers of agents. From the figure, it can be observed that our algorithm is highly efficient, adding almost negligible computational overhead compared to the ORCA. While Implicit is a global optimization algorithm, its runtime efficiency is comparatively lower.
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5700749/images/time_analysis.png)
5. Conclusion
In this paper, we propose an approach that allows crowd grouping to emerge via self-organization, leading to efficient crowd movement. Experimental results demonstrate that our approach significantly reduces crowd congestion and the dissimilarity between agents’ preferred and actual speeds, compared to several other crowd simulation models. This indicates that our original intention to achieve efficient crowd movement via the autonomous emergence of latent behaviors of crowd, such as implicit group formation of agents with similar directions, is feasible.
Our method achieves the emergence of implicit groups, the process of loosely formed groups being disrupted and then reassembled (after unavoidable encounters with groups in severe directional conflict) is highly inefficient. Future research could focus on addressing this issue to achieve more efficient crowd movement. While the components to of our method are built based on the rationale of real-world scenarios, the final combination of these components, however, is still at a very preliminary stage. Moreover, the combination also introduces an additional hyperparameter, which is not an ideal design. In the future, considering the use of symbolic regression methods can potentially address the mentioned issues.
References
- (1) Teófilo Bezerra Dutra, Ricardo Marques, Joaquim B Cavalcante-Neto, Creto Augusto Vidal, and Julien Pettré. Gradient-based steering for vision-based crowd simulation algorithms. In Computer graphics forum, volume 36, pages 337–348. Wiley Online Library, 2017.
- (2) Ioannis Karamouzas, Nick Sohre, Rahul Narain, and Stephen J Guy. Implicit crowds: Optimization integrator for robust crowd simulation. ACM Transactions on Graphics (TOG), 36(4):1–13, 2017.
- (3) Adèle Colas, Wouter van Toll, Katja Zibrek, Ludovic Hoyet, A-H Olivier, and Julien Pettré. Interaction fields: Intuitive sketch-based steering behaviors for crowd simulation. In Computer Graphics Forum, volume 41, pages 521–534. Wiley Online Library, 2022.
- (4) David Wolinski, S J. Guy, A-H Olivier, Ming Lin, Dinesh Manocha, and Julien Pettré. Parameter estimation and comparative evaluation of crowd simulations. In Computer Graphics Forum, volume 33, pages 303–312. Wiley Online Library, 2014.
- (5) Stephen Gustafson, Hemagiri Arumugam, Paul Kanyuk, and Michael Lorenzen. Mure: fast agent based crowd simulation for vfx and animation. In ACM SIGGRAPH 2016 Talks, pages 1–2. 2016.
- (6) Jiawen Zhang, Chen Li, Changbo Wang, and Gaoqi He. Orcanet: Differentiable multi-parameter learning for crowd simulation. Computer Animation and Virtual Worlds, 34(1):e2114, 2023.
- (7) Paul Kanyuk, Leon JW Park, and Emily Weihrich. Headstrong, hairy, and heavily clothed: Animating crowds of scotsmen. In ACM SIGGRAPH 2012 Talks, pages 1–1. 2015.
- (8) Wouter Van Toll and Julien Pettré. Algorithms for microscopic crowd simulation: Advancements in the 2010s. In Computer Graphics Forum, volume 40, pages 731–754. Wiley Online Library, 2021.
- (9) Kaidong Hu, Brandon Haworth, Glen Berseth, Vladimir Pavlovic, Petros Faloutsos, and Mubbasir Kapadia. Heterogeneous crowd simulation using parametric reinforcement learning. IEEE Transactions on Visualization and Computer Graphics, 2021.
- (10) Wouter van Toll, Fabien Grzeskowiak, Axel López Gandía, Javad Amirian, Florian Berton, Julien Bruneau, Beatriz Cabrero Daniel, Alberto Jovane, and Julien Pettré. Generalized microscropic crowd simulation using costs in velocity space. In Symposium on Interactive 3D Graphics and Games, pages 1–9, 2020.
- (11) Jur Van Den Berg, Stephen J Guy, Ming Lin, and Dinesh Manocha. Reciprocal n-body collision avoidance. In Robotics Research: The 14th International Symposium ISRR, pages 3–19. Springer, 2011.
- (12) Jaedong Lee, Jungdam Won, and Jehee Lee. Crowd simulation by deep reinforcement learning. In Proceedings of the 11th ACM SIGGRAPH Conference on Motion, Interaction and Games, pages 1–7, 2018.
- (13) Paolo Fiorini and Zvi Shiller. Motion planning in dynamic environments using velocity obstacles. The international journal of robotics research, 17(7):760–772, 1998.
- (14) Jur Van den Berg, Ming Lin, and Dinesh Manocha. Reciprocal velocity obstacles for real-time multi-agent navigation. In 2008 IEEE international conference on robotics and automation, pages 1928–1935. Ieee, 2008.
- (15) Panayiotis Charalambous, Julien Pettre, Vassilis Vassiliades, Yiorgos Chrysanthou, and Nuria Pelechano. Greil-crowds: Crowd simulation with deep reinforcement learning and examples. ACM Transactions on Graphics (TOG), 42(4):1–15, 2023.
- (16) Bilas Talukdar, Yunhao Zhang, and Tomer Weiss. Learning to simulate crowds with crowds. In ACM SIGGRAPH 2023 Posters, pages 1–2. 2023.
- (17) Ariel Kwiatkowski, Vicky Kalogeiton, Julien Pettré, and Marie-Paule Cani. Reward function design for crowd simulation via reinforcement learning. In Proceedings of the 16th ACM SIGGRAPH Conference on Motion, Interaction and Games, pages 1–7, 2023.
- (18) Mehdi Moussaïd, Dirk Helbing, and Guy Theraulaz. How simple rules determine pedestrian behavior and crowd disasters. Proceedings of the National Academy of Sciences, 108(17):6884–6888, 2011.
- (19) Dirk Helbing and Peter Molnar. Social force model for pedestrian dynamics. Physical review E, 51(5):4282, 1995.
- (20) Andrea Gorrini, Stefania Bandini, and Giuseppe Vizzari. Empirical investigation on pedestrian crowd dynamics and grouping. In Traffic and granular flow’13, pages 83–91. Springer, 2014.
- (21) Yan Li, Hong Liu, Guang-peng Liu, Liang Li, Philip Moore, and Bin Hu. A grouping method based on grid density and relationship for crowd evacuation simulation. Physica A: Statistical Mechanics and its Applications, 473:319–336, 2017.
- (22) Alexandre Nicolas and Fadratul Hafinaz Hassan. Social groups in pedestrian crowds: review of their influence on the dynamics and their modelling. Transportmetrica A: transport science, 19(1):1970651, 2023.
- (23) Julien Bruneau, Anne-Helene Olivier, and Julien Pettre. Going through, going around: A study on individual avoidance of groups. IEEE transactions on visualization and computer graphics, 21(4):520–528, 2015.
- (24) Yuan Tang, Xu Zhang, Rui Wang, Jinfeng Xu, Long Hu, and Yixue Hao. Crowd intelligent grouping collaboration evacuation via multi-agent reinforcement learning. In 2023 26th International Conference on Computer Supported Cooperative Work in Design (CSCWD), pages 796–801. IEEE, 2023.
- (25) Liang He, Jia Pan, Sahil Narang, Wenping Wang, and Dinesh Manocha. Dynamic group behaviors for interactive crowd simulation. arXiv preprint arXiv:1602.03623, 2016.
- (26) Ioannis Karamouzas, Peter Heil, Pascal Van Beek, and Mark H Overmars. A predictive collision avoidance model for pedestrian simulation. In Motion in Games: Second International Workshop, MIG 2009, Zeist, The Netherlands, November 21-24, 2009. Proceedings 2, pages 41–52. Springer, 2009.
- (27) Ioannis Karamouzas, Brian Skinner, and Stephen J Guy. Universal power law governing pedestrian interactions. Physical review letters, 113(23):238701, 2014.
- (28) Jan Ondřej, Julien Pettré, Anne-Hélène Olivier, and Stéphane Donikian. A synthetic-vision based steering approach for crowd simulation. ACM Transactions on Graphics (TOG), 29(4):1–9, 2010.
- (29) Rowan Hughes, Jan Ondřej, and John Dingliana. Davis: density-adaptive synthetic-vision based steering for virtual crowds. In Proceedings of the 8th ACM SIGGRAPH Conference on Motion in Games, pages 79–84, 2015.
- (30) Alexandre Alahi, Kratarth Goel, Vignesh Ramanathan, Alexandre Robicquet, Li Fei-Fei, and Silvio Savarese. Social lstm: Human trajectory prediction in crowded spaces. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 961–971, 2016.
- (31) Jinghui Zhong, Dongrui Li, Zhixing Huang, Chengyu Lu, and Wentong Cai. Data-driven crowd modeling techniques: A survey. ACM Transactions on Modeling and Computer Simulation (TOMACS), 32(1):1–33, 2022.
- (32) Gustave Le Bon. The crowd: A study of the popular mind. Courier Corporation, 2002.
- (33) Roger A Horn and Charles R Johnson. Matrix analysis. Cambridge university press, 2012.
- (34) Weihong Zhang and Ying Zhou. The feature-driven method for structural optimization. Elsevier, 2020.
- (35) Harold V Henderson, Friedrich Pukelsheim, and Shayle R Searle. On the history of the kronecker product. Linear and Multilinear Algebra, 14(2):113–120, 1983.
- (36) Xiao-Cheng Liao, Wei-Neng Chen, Ya-Hui Jia, and Wen-Jin Qiu. Towards scalable dynamic traffic assignment with streaming agents: A decentralized control approach using genetic programming. IEEE Transactions on Emerging Topics in Computational Intelligence, 8(1):942–955, 2024.
- (37) Boguslaw Cyganek. Object detection and recognition in digital images: theory and practice. John Wiley & Sons, 2013.
- (38) Xiao-Cheng Liao, Wei-Neng Chen, Xiao-Qi Guo, Jinghui Zhong, and Xiao-Min Hu. Crowd management through optimal layout of fences: An ant colony approach based on crowd simulation. IEEE Transactions on Intelligent Transportation Systems, 24(9):9137–9149, 2023.
- (39) Stephen J Guy, Jatin Chhugani, Sean Curtis, Pradeep Dubey, Ming C Lin, and Dinesh Manocha. Pledestrians: A least-effort approach to crowd simulation. In Symposium on computer animation, pages 119–128, 2010.
- (40) Ioannis Karamouzas and Mark Overmars. A velocity-based approach for simulating human collision avoidance. In Intelligent Virtual Agents: 10th International Conference, IVA 2010, Philadelphia, PA, USA, September 20-22, 2010. Proceedings 10, pages 180–186. Springer, 2010.