This section gives a brief background on crowd simulation algorithms and capturing crowd data and introduce the notation used in the rest of the chapter.
7.2.1 Definitions
The following notational conventions throughout this chapter: Variables aprinted in italics denote scalars or functions, variables aprinted in boldface denote vectors and
variablesAprinted in blackboard bold denote vector spaces. VariablesAprinted in capitals denote (covariance) matrices, and variables A printed in calligraphic typefaces denote
Crowd State In the context of this chapter, the term crowd is used to refer to a collection of entities (e.g. people) whose behaviors and dynamics evolve over time. The notion of a crowd state is defined as follows: for a given (discrete) point in timek, the statexkof a crowd contains all non-constant information of a crowd that is relevant to its evolution over time. Moreover, the space of all crowd states is denoted asX. For instance, for a crowd consisting ofn agents, the statexk 2 X = R5nmay correspond to a vector containing the two dimensional position, two diminutional velocity, and one demential orientation of allnagents moving on a 2D plane. Other time-varying aspects, such as mental state of the agents or dynamic behavior parameters may also be part of the state. I make no specific assumptions about the representation of a crowd state. In addition to the crowd state, the computational algorithms also useconstantinformation, such as obstacles (with pre-defined motion paths) in the world, or fixed attributes of the agents.
Crowd EvolutionCrowds are not static but evolve over time. That is, if the state of the crowd at timekis xk 2 X, the crowd evolves into a statexk+1 2 Xone unit of time later. The crowd dynamics, the mathematical formulation driving this evolution, is not well understood and can not be analytically modeled or derived from first principles. In order to characterize this unknown crowd dynamics, an abstract functionf :X!Xis defined, such
that:
xk+1 =f(xk). (7.1)
It should be stressed thatf is abstract and unknown, and is only used as a formulation to describe crowd evolution.
7.2.2 Crowd Simulation and Trajectory Generation
Crowd simulation refers to the process of simulating the movement of a large number of human agents, taking into account the interactions between them as well the environ-
ment. At a broad level, these simulations take into account group dynamics and human behaviors. While the field of crowd simulation covers many facets of generating human motions and behaviors (such as full-body biomechanics, facial expressions and gestures, and motion dynamics based on the laws of physics), modeling and analyzing all aspects of a crowd is highly challenging and can lead to combinatorial explosion of potential variations. Therefore, the work here only considers the output of these crowd simulation algorithms that corresponds to existing recorded data which is commonly positions or trajectories.
Simulating Crowds: There has been extensive work on crowd simulation for more than three decades, leading to a wide variety of strategies for simulating crowds. These in- clude force-based methods (Helbing and Molnar, 1995; Pelechano et al., 2007; Karamouzas et al., 2009), boids and steering models (Reynolds, 1987, 1999), techniques based on ve- locity obstacles and geometric optimization (Guy et al., 2010b; van den Berg et al., 2011), field based methods (Patil et al., 2011; Pettr´e et al., 2009; Ondrej et al., 2010; Sung et al., 2004), continuum models (Treuille et al., 2006; Narain et al., 2009), cognitive models and decision networks (Funge et al., 1999; Yu and Terzopoulos, 2007), and more. These methods model different aspects of crowds including collision avoidance between agents, emergent behaviors, path navigation, high-level behaviors. However, all of them compute continuous trajectories for each agent as a representation of crowd movement as a function of characteristics of agents in the crowds and their environment.
In this sense, all such crowd simulation algorithms can be abstracted as a function
ˆ
f :X!Xwhich attempts to approximates the functionf:
ˆ
f(xk)⇡f(xk). (7.2)
That is, a crowd simulationfˆtakes in a statexk of the crowd at timek and produces an
that the crowd simulation algorithm works in a continuous space and this approach may not be applicable to discrete approaches (e.g. techniques based on cellular automata). Section 7.4.1, describes the detailed representation of functionfˆfor some of the commonly used
crowd simulation algorithms. 7.2.3 Crowd Data Sources
Empirical datasets of human crowd motion from videos, LiDAR, and GPS sensors are becoming increasingly available, aided by research in computer vision, robotics and pedestrian dynamics on extracting crowd trajectories from sensors and cameras (Seyfried et al., 2010; Lee et al., 2007; Rodriguez et al., 2009; Kratz and Nishino, 2011; Pettr´e et al., 2009). In fact, a recent trend has been to combine tracking algorithms with crowd dynamics models to extract more accurate trajectories or detect crowd behaviors (Pellegrini et al., 2009; Mehran et al., 2009).
Most of these tracking algorithms represent the position data or the trajectory as time-stamped vectorszk,zk+1, . . .that provide a partial (and potentially noisy) projection of the true crowd statexk,xk+1, . . .at the corresponding moment in time. It is assumed that the relation between the crowd statexk and the datazkavailable of the crowd at timekis given by a known functionh:
zk =h(xk) +qk, qk ⇠Q, (7.3)
whereqkrepresents the noise or uncertainty in the real world data, drawn from a constant distributionQ. The rest of this chapter assumes thatQ(the sensor uncertainty) is known.