Continuum Crowds
Continuum Crowds
Continuum Crowds
Abstract Virtually all previous work has been agent-based, meaning that
motion is computed separately for each individual. The agent-based
We present a real-time crowd model based on continuum dynamics. approach is attractive for several reasons. For one, real crowds
In our model, a dynamic potential field simultaneously integrates clearly operate with each individual making independent decisions.
global navigation with moving obstacles such as other people, effi- Such models can capture each person’s unique situation: visibil-
ciently solving for the motion of large crowds without the need for ity, proximity of other pedestrians, and other local factors. In addi-
explicit collision avoidance. Simulations created with our system tion, different simulation parameters may be defined for each crowd
run at interactive rates, demonstrate smooth flow under a variety member, yielding complex heterogeneous motion. However, the
of conditions, and naturally exhibit emergent phenomena that have agent-based approach also has drawbacks. It is difficult to develop
been observed in real crowds. behavioral rules that consistently produce realistic motion. Global
path planning for each agent quickly becomes computationally ex-
CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional pensive, particularly in real-time contexts. As a result, most agent
Graphics and Realism—Animation; models separate local collision avoidance from global path plan-
Keywords: Crowds, Human Simulation, Motion Planning ning, and conflicts inevitably arise between these two competing
goals. Moreover, local path planning often results in myopic, less
realistic crowd behavior. These problems tend to be exacerbated in
1 Introduction areas of high congestion or rapidly changing environments.
This paper presents a real-time motion synthesis model for large
Human crowds are ubiquitous in the real world, making their simu- crowds without agent-based dynamics. We view motion as a per-
lation a necessity for realistic interactive environments. Physically particle energy minimization, and adopt a continuum perspective
correct crowd models also have applications outside of computer on the system. This formulation yields a set of dynamic potential
graphics in psychology, transportation research, and architecture. and velocity fields over the domain that guide all individual motion
In this paper we focus on real-time synthesis of crowd motion for simultaneously. Our approach unifies global path planning and lo-
thousands of individuals with intersecting paths. Our formulation cal collision avoidance into a single optimization framework. Peo-
is designed for large groups with common goals, not for scenarios ple in our model do not experience a discrete regime change in the
where each person’s intention is distinctly different. presence of other people. Instead, they perform global planning to
Real-time crowd simulation is difficult because large groups of avoid both obstacles and other people. Our dynamic potential field
people exhibit behavior of enormous complexity and subtlety. A formulation also guarantees that paths are optimal for the current
crowd model must not only include individual human motion and environment state, so people never get stuck in local minima.
environmental constraints such as boundaries, but also address a
We note that global path planning is frequently an unrealistic as-
bewildering array of dynamic interactions between people. Fur-
sumption. People often have limited vision and only partial knowl-
ther, the model must reflect intelligent path planning through this
edge of the terrain. Global knowledge is only an approximation to
changing environment. Humans constantly adjust their paths to re-
more accurate long-term planning with limited visibility and knowl-
flect congestion and other dynamic factors. Even dense crowds are
edge. Still, we found that the global planning assumption produces
characterized by surprisingly few collisions or sudden changes in
significantly smoother and more realistic crowd motion than the
individual motion. It has proven difficult to capture these effects in
common and equally unrealistic assumption of strictly local knowl-
simulation, especially for large crowds in real-time.
edge. This is especially the case when people are threading through
dense congestion. At the same time, our framework is not as gen-
eral as agent-based methods: we trade-off individual variability for
real-time planning of optimal crowd behavior with minimal compu-
tation per individual. To achieve the benefits of both models, agents
can seamlessly be integrated with continuum crowds.
Contributions. This paper presents a new type of crowd simu-
lator driven by dynamic potential fields which integrate both global
navigation and local collision avoidance into one framework. Our
system uses two very simple ideas which are crucial to creating
the effects we show: one is a velocity-dependent term which in-
duces lane formation, and the other is a distance-based term which
stabilizes the flow. We also show how individuals can integrate
knowledge of the future to produce more intelligent behavior. The
computational cost of our algorithm depends on the number of grid
cells used to compute the dynamic potential. At coarse discretiza-
tions we can simulate crowds of over ten thousand people at several
frames a second, while at fine discretizations we can simulate high
resolution dynamics for several thousand people at real-time frame
rates. We also show that our model exhibits important emergent
phenomena observed in real crowds. In particular, people walking
in opposite directions tend to form lanes, and group crossings can
form vortices.
(a)
2 Related Work
The most natural way to model locomotion of large human crowds
is with agent-based methods in which each person plans individu-
ally. This is primarily because people have distinct characteristics
and make decisions based on personal goals. Such dynamics have
reached perhaps their most sophisticated form in the work of Funge
et al. [1999], which models not only behavioral dynamics such as
stimulus response but also cognitive aspects such as knowledge and
learning. This model was further expanded with pedestrian visibil-
ity and path planning in [Shao and Terzopoulos 2005]. Massive
Software, founded by Stephen Regelous, publishes a production-
quality crowd simulator [Massive Software 2006] that gives the
animator the freedom to author details describing each individual
agent within the crowd. Though each of the above mentioned sys-
tems could be used to create ultra-realistic crowds, considerable
expertise is still required to design the “correct” model for each in-
dividual. It has recently been observed that no existing methods can
cover a comprehensive range of scenarios with accuracy suitable for
(b)
safety engineering purposes [Still 2000]. More importantly, in or-
der to accurately model human reasoning and congestion planning, Figure 2: (a) Two groups pass, naturally forming lanes. (b) A vortex
the computation cost for each individual is large. For this reason forms as four groups cross.
the most accurate methods are impractical for real-time simulations
of large crowds, which is the main focus of this paper.
To improve on the performance characteristics of agent-based can only go so far in capturing the inherently long-term planning
methods, and to avoid the complexities of constructing a cogni- process that humans employ to smoothly avoid dynamic conges-
tive model for each agent, researchers have explored a number of tion. Because people continuously plan ahead, real pedestrians ex-
simplifications to crowd models, including local methods, precom- hibit virtually no near-misses or “visual bumps” as they navigate
puted static path plans, and global path planning on a coarse en- through congestion. In this paper, we try to preserve this dynamic
vironment graph. Locally controlled agents can be traced back to planning behavior.
the seminal work of Reynolds [1987] who demonstrated that emer- Collision avoidance alone cannot model real crowds where peo-
gent flocking behavior can be generated from simple local rules. ple have an overall goal or objective. Consequently, many local
Reynolds’s technique yields visually compelling flocks of birds and crowd models have combined collision avoidance with global nav-
fish. Since this work, a considerable corpus of research has emerged igation. In general, global planning has taken the form of graph-
focused on modeling human crowds with locally controlled agents. based techniques or static potential fields. Lamarche and Donikian
Reynolds [1999] has expanded the set of possible behaviors. Other [2004] used sophisticated topological precomputations to enable
work accounts for sociological issues [Musse and Thalmann 1997], real-time per-agent global path planning which takes into account
psychological effects [Pelechano et al. 2005], geographically-based visibility. They employed a separate collision avoidance process,
direction [Sung et al. 2004], social forces [Helbing et al. 1994; so their agents were susceptible to “getting stuck” due to local min-
Cordeiro et al. 2005], and nontrivial motion dynamics [Brogan and ima under congestion. Bayazit et al. [2002] created visually pleas-
Hodgins 1997], to name just a few. ing results using coarse graph-based roadmaps for global planning
Unlike real people, locally controlled agents do not perform together with collision avoidance. Probabilistic maps and decou-
any global or mid-range planning to avoid non-local congestion pled planners were also combined with motion graphs and con-
or cross-flowing pedestrians. Collisions are prevented locally by straints to compute detailed locomotion of pedestrians [Sung et al.
changing movement when other people get sufficiently close. Many 2005]. Pettré [2005] uses navigation graphs of static scenes to find
interesting collision avoidance methods have been proposed in- pedestrian paths in real-time, but does not account for collisions or
cluding geometric models [Feurtey 2000], grid-based rules [Loscos congestion. Kamphuis and Overmars [2004] extended path plan-
et al. 2003], density-dependent techniques [Musse et al. 1998], be- ning so that agents could stay together. Li et al. [2001] assumed
havioral models [Tu and Terzopoulos 1994], particle force interac- a leader/follower model; they reduced the expense of global plan-
tion models [Heı̈geas et al. 2003], and Bayesian decision processes ning by only planning for the leader at the cost of a less general
[Metoyer and Hodgins 2004]. Ultimately, local collision avoidance system. Goldenstein et al. [2001] introduced a sophisticated three-
layer technique to handle local and global navigation, using a static 3 The Governing Equations
potential field for maneuvering around fixed obstacles. Precom-
puted, static potential functions have also been used to study evacu- In this section we develop a mathematical model of crowd dynam-
ation [Kirchner and Schadschneider 2002]. In general, static poten- ics. We begin with a set of observations about crowd flow, with each
tial fields do not handle changing environments, such as changing observation culminating in a precise hypothesis. Our model is di-
traffic lights and exit congestion. rectly derived from these hypotheses. We subsequently discuss the
role of potential functions in our model, and present the exact form
Agent-based crowd modeling has also been studied in transporta- of the speed equation. We defer the discretization and simulation
tion research for urban planning, path design, and evacuation [Hel- of these equations to Section 4.
bing et al. 2003]. Helbing’s social force model has been influential The overarching force driving crowd flow is that people have a
in this field, and has proven capable of reproducing specific crowd destination, or goal. Goals can be specific such as go to 1549 35th
phenomena [Helbing et al. 2001]. A number of commercially avail- street, or general as in go to the west side of town. They can also
able high-fidelity crowd models are available: the EGRESS system be dynamic such as chase this person, find a non-empty theater
[Ketchell 2002] employs a cell-based approach to simulating macro seat, or explore unseen parts of the environment. Crowd scenarios
behavior of crowds; Crowd Dynamics [Still 2000] uses a calibrated without a definable goal such as browsing at the mall, or wandering
agent-based framework to accurately model a number of observed aimlessly are not appropriate for the continuum crowd formulation.
crowd phenomena. We consider goal selection to be an external parameter set by the
animator.
Multiple-agent path planning has also been studied exten-
H YPOTHESIS 1. Each person is trying to reach a geographic goal
sively in robotics, primarily for cooperative tasks of multiple
G ⊆ R2 .
robots. “Centralized” planners choreograph the motion of all agents
through spacetime [Li and Chou 2003]. These methods are expo-
As people move towards their goal, the next most important con-
nential in the number of robots, and are not appropriate for crowds,
sideration is their speed. In general, we assume that people move
where agents optimize for personal goals. Closer to our work are
at the maximum speed possible given environmental conditions.
“decoupled” planners where agents plan individually. Such algo-
For example, a city-dweller might walk at a brisk pace, while a
rithms require priority schemes to fix conflicting plans [Bennewitz
medieval army might charge ahead at a fast run. The environment
and Burgard 2001]. Parker [1993] explores the trade-offs between
affects the speed in a number of ways: descending a slope causes
local and global planning. Potential fields for navigation have also
people to increase their speed, while physical boundaries are
been explored in robotics, as by Arkin [1987].
impassible. Most importantly, the presence of other people affects
speed. We assume people have difficulty moving against the
Finally, an alternative approach to crowd synthesis has emerged
current which is proportional to the local crowd density. In the
from the fluid dynamics community. Hughes [2003] has devel-
extreme case, two people cannot intersect.
oped a model which represents pedestrians as a continuous den-
sity field and presents a pair of elegant partial differential equations
H YPOTHESIS 2. People move at the maximum speed possible. This
describing the crowd dynamics. Most importantly, this system is
can be expressed as a maximum speed field f such that a person at
driven by an evolving potential function, defined so as to guide the
location x moving in direction θ has velocity:
density field optimally toward its goal. A full derivation can be
found in [Hughes 2002], and in a subsequent application to a me- ẋ = f (x, θ )nθ , (1)
dieval battle analysis [Clements and Hughes 2004]. The 1D version
of this model was also confirmed with real crowd data [Hongwan where throughout this paper, nθ = [cos θ , sin θ ]T
will denote the
et al. 2003]. Alternative continuum models of 1D crowd flow have unit vector pointing in direction θ .
also been analyzed [Colombo and Rosini 2005]. In the graphics Even when people can move unobstructed, they may express
community, Chenney’s flow tiles [2004] demonstrated that desir- preferences for certain paths. Pedestrians, for example, often
able crowd properties such as congestion avoidance can be achieved do not cross a street until they reach a crosswalk. Also, people
with divergence-free flows, although they do not address many of generally follow trodden paths when they exist, even if they yield
the other important aspects of crowds. longer routes. We represent this idea as follows.
H YPOTHESIS 3. There exists a discomfort field g so that, all things
Our model was directly inspired by Hughes’s work: we use a
being equal, people would prefer to be at point x rather than x0 if
similar potential function to guide pedestrians towards their goal.
g(x0 ) > g(x).
We also adopt his technique of combining pedestrians into groups,
and the use of “discomfort fields” to handle geographical prefer- As with goal selection, the discomfort field is exogenous to our
ences. However, Hughes only investigates analytic properties of model. However, in Section 3.3, we discuss how dynamic discom-
his equations and does not discuss simulation. We address this by fort can be used to enhance collision avoidance between people and
transforming Hughes’s continuous crowd field into a particle rep- other moving obstacles such as cars.
resentation which is better suited to rendering and forms the basis We now tie together the above hypotheses and describe how peo-
for our stable, efficient simulator. The particle representation is ple choose paths. In general, people choose the minimum distance
fully integrated throughout the dynamics, from the theoretical un- path to their destination. However, this preference is tempered by
derpinnings to our grid discretization scheme, which is tailored for a desire to avoid congestion and other time-consuming situations.
the difficult case of fine grid resolutions relative to the size of the This can be seen as the classic trade-off between energy and time
people. We have also made numerous improvements to Hughes’s minimization. Additionally, people prefer to minimize their expo-
model itself. Notably, we take into account crowd flow when com- sure to areas of high “discomfort.” We summarize these ideas by
puting individual speed. This allows our system to exhibit a number assuming that people choose paths so as to minimize a linear com-
of visually interesting and empirically-confirmed phenomena such bination of the following three terms:
as lane formation when people cross in contrary directions. Also, • The length of the path.
we have changed the definition of path optimality to include a dis-
• The amount of time to the destination.
tance term, which inhibits the oscillations we observed in Hughes’s
dynamics. • The discomfort felt, per unit time, along the path.
H YPOTHESIS 4. Let Π be the set of all paths from x to some point Solving Equation (5) is the slowest aspect of simulation. Thus,
in the goal. Assuming that the speed field f , discomfort g, and we prefer to have as few groups as possible. However, as we show
goal G are fixed, a person at location x will pick the path P ∈ Π in our results, even one group exhibits interesting dynamics, and
minimizing realistic crowd congestion phenomena can be attained with few
Z Z Z groups.
α 1ds + β 1dt + γ gdt . (2)
P
| {z P
} | {z } | P{z } 3.2 Speed
Path Length Time Discomfort The speed field f measures the maximum permissible speed of
movement for every point and every direction in the domain. Our
Here α, β , and γ are weights for individual terms; ds means that
speed model is ad-hoc, but very simple to compute, and it provides
the integral is taken with respect to path length while dt means the
the physically plausible behavior for the crowd. We begin with an
integral is taken with respect to time. These two variables are re-
intuitive description. Speed is a density-dependent variable. At low
lated by ds = f dt where f is the speed. Using this equality, we may
densities, speed is dominated by the terrain, remaining constant on
rewrite Equation (2) as
flat surfaces, but changing with the slope. At higher crowd densi-
Z Z
1
Z
g ties, the speed becomes dominated by the movement of nearby peo-
α 1ds + β ds + γ ds (3) ple: movement is inhibited when trying to move against the flow,
P P f P f
but is unaffected when moving with the flow. Modeling this latter
which can be simplified to effect is one important difference between our model and that of
Hughes [2003]. Moreover, we found that this velocity-dependent
term is crucial for modeling “lane formation” where people moving
α f + β + γg
Z
Cds, where C≡ (4) in opposite directions along a path naturally segregate into separate
P f lanes, a phenomenon that has been widely noted in real crowds.
Since speed is density-dependent, we begin by describing the
is the unit cost field. crowd density field ρ. We convert each person into an individual
density field, denoted ρi for the ith person. This field should peak
3.1 Optimal Path Computation at the location of person i, and fall off radially. The specific form
We now show how potential functions can be used to find optimal of this function is unimportant as long that it is no less than some
paths given the path cost described in Equation (4). Suppose we threshold value ρ̄ within a bounding disc of radius r, and no greater
have a function φ : R2 → R everywhere equal to the cost of the outside. The crowd density ρ is simply the sum of each individual
optimal path to the goal. Intuitively, it makes sense that for any density field. As we compute this, we simultaneously calculate the
person, the optimal strategy is to move opposite the gradient of this average velocity field v̄ which scales each person’s density by his
function, as this will decrease cost of the path most rapidly. Con- velocity, indicating the overall speed and direction of crowd flow:
versely, this function can be constructed by following the set of all
optimal paths outwards from the goal, integrating cost along the ∑i ρi ẋi
way. Indeed, the potential function φ can be defined exactly this ρ = ∑ ρi , and v̄ = . (7)
i ρ
way: in the goal φ = 0, and everywhere else φ satisfies the eikonal
equation: Here ẋi denotes the velocity of the ith person. Both sums are taken
across all people in all groups.
||∇φ (x)|| = C, (5) We now describe specifically how density affects the speed. In
where the unit cost C is evaluated in the direction of the gradient areas of very low density (ρ ≤ ρmin for some ρmin ), the speed f
∇φ . A theorem from the calculus of variations (see, for exam- is equal to the topographical speed fT . Assuming the terrain is
ple [Kimmel and Sethian 2001]) guarantees that all optimal paths bounded to lie within the minimum and maximum slopes smin and
follow exactly the gradient of this function. In our system, this smax , the speed varies inversely with the slope:
means that every person moves in the direction opposite the gradi-
∇h(x) · nθ − smin
ent, scaled by the speed at that point: fT (x, θ ) = fmax + ( fmin − fmax ), (8)
smax − smin
∇φ (x)
ẋ = − f (x, θ ) , (6) where ∇h(x) · nθ is the slope of the height field h in direction θ .
||∇φ (x)|| In areas of high density (ρ ≥ ρmax for some ρmax ), the speed f
where ẋ denotes the velocity, and f (x, θ ) is evaluated in the direc- is equal to the flow speed fv̄ :
tion of motion.
Calculating a potential field may seem like a cumbersome way fv̄ (x, θ ) = v̄(x + rnθ ) · nθ . (9)
of finding an optimal path. We can, however, make a simplifying The flow speed fv̄ is essentially the average velocity v̄ evaluated at a
assumption that justifies this method. Suppose a group of people distance r from the location x. The offset causes people to evaluate
all share an identical speed field, discomfort, and goal. This is the average velocity for the area into which they are trying to move.
often the case in crowds when a number of people are trying to Indeed, if not for the offset, a person’s speed would be dominated
get to the same location at approximately the same speed. In this by their own previous speed, an undesirable effect. Also, the flow
case, we need to calculate the potential function for the group only speed is clamped to be nonnegative, implying that the crowd can
once, deriving optimal paths for all group members simultaneously. slow people down, but never carry them backwards.
In reality, of course, people move at different speeds, have varied At medium densities (ρmin < ρ < ρmax ), we linearly interpolate
perceptions of discomfort, and seek different goals. Therefore, we between the topographical and flow speeds:
divide the crowd into a set of groups, each with different character-
istics. At each timestep we construct a potential function φ for each
group and then move the people in that group according to Equation ρ(x + rnθ ) − ρmin
f (x, θ ) = fT (x, θ )+ ( fv̄ (x, θ ) − fT (x, θ )) .
(6). Since each group affects the speed f and discomfort g across ρmax − ρmin
all groups, the entire crowd motion is coupled. (10)
Note that, like the flow speed, the density ρ is evaluated at an offset fields–those depending on both position and direction–are stored
of rnθ , again for the same reason: we do not want a person’s own with four floats per cell corresponding to θ = {0◦ , 90◦ , 180◦ , 270◦ },
contribution to the density field to self-obstruct their motion. Since that is the east, north, west, and south faces of each cell. Finally, the
we assumed that a person’s contribution to the density field ρ is no velocity v, the gradient of the height ∇h and of the potential ∇φ are
greater than ρ̄ outside the disc of radius r, we can be sure that in stored at the faces of each cell, in a MAC-style arrangement (see
low congestion their speed will always be equal to the topographical [Fedkiw et al. 2001]). We now look more closely at how every step
speed so long as ρmin ≥ ρ̄. of the simulator is implemented.
CM→i for i ∈ {E, N,W, S}. So that the pedestrians anticipate ob- If either mx or my is undefined because both neighbors have infinite
structions ahead, we evaluate the speed and discomfort at the cell cost, then we drop that dimension out of Equation (11). Note that,
into which the person would be moving if they chose that direction. up to the discretization of the angles, this formulation correctly han-
For example, in the case of fM→E , we would plug the density ρE , dles the anisotropy of the unit cost field C. Once we have computed
discomfort gE , and average velocity v̄E into Equation (10). φM , we take its difference with the neighboring grid cells in the up-
wind direction giving us ∇φ . We then renormalize the gradient, and
4.3 Dynamic Potential Field Construction multiply by the speed in the appropriate directions to compute the
velocity field v at that point.
Constructing the dynamic potential is the most complex and time
consuming step of the algorithm. Equation (5) defines the poten-
tial as an implicit eikonal equation, and hence cannot be calculated 4.4 Crowd Advection
directly. However, efficient methods have been developed to solve
this type of equation, notably the fast marching method [Tsitsiklis Having calculated the potential field φ , its gradient ∇φ , and de-
1995] and the fast sweeping method [Tsai et al. 2005]. We have termined the velocity field v, we then simply update each person’s
chosen the former, since the latter becomes inefficient when opti- position by interpolating the velocity field. Each person’s position
mal paths must follow circuitous routes (because of obstacles, for is displaced by their velocity, effectively computing an Euler inte-
example). gration of Equation (6). We have experimented with higher order
The fast marching algorithm is by now well known so we de- Runge-Kutta integrators, but they do not appreciably affect the dy-
scribe our implementation only briefly and refer the reader to [Tsit- namics.
siklis 1995] for more details. We begin by assigning the potential
field φ the value of 0 inside the goal, and including these grid cells
in the list of KNOWN cells; all other cells are UNKNOWN and set to
∞. Those UNKNOWN cells adjacent to KNOWN cells are included 4.5 Minimum Distance Enforcement
in the list of CANDIDATE cells and we approximate φ at these loca-
In theory, our model ensures that no two people will intersect. Two
tions by solving a finite difference approximation to Equation (5).
people approaching one another will eventually experience density
The CANDIDATE cell with the lowest potential is then included in
so high that the average velocity term dominates the speed equation
the KNOWN cells, and its neighbors are introduced into the CAN -
and their speed towards each other will drop to zero. In practice,
DIDATE set by re-approximating the potential at these cells. This
however, we can only resolve the dynamics up to the resolution of
process is repeated, propagating the KNOWN cells outwards from
the grid, and two people in the same grid cell will sometimes in-
the goal until all cells are defined. A heap data structure efficiently
tersect. This happens with relative infrequency as people naturally
handles the list of candidate grid cells and gives the algorithm its
avoid one another in our system. However, when intersections do
O(N log N) running time, where N is the number of grid cells.
happen, they cause visually unpleasant artifacts.
We now describe the finite difference approximation to equation
(5). Suppose we were solving the equation for grid cell M in Figure To address this, we enforce a pair-wise minimum distance be-
4(a). We first find the less costly adjacent grid cell along the both tween the people. We simply iterate over all pairs within a thresh-
x- and y-axes: old distance, symmetrically pushing them apart so that the mini-
mum distance is enforced. This procedure does not strictly ensure
mx = argmin φi +CM→i my = argmin φi +CM→i . that minimum distances are preserved, as modifying the position of
i∈{W,E} i∈{N,S} one person changes that person’s distance to all other people. Also,
minimum distance enforcement occasionally introduces artifacts,
We then use these upwind directions to calculate a finite difference such as when non-moving people are pushed by others. However,
approximation to Equation (5) by solving for the larger solution to the vast majority of the time we found this method useful for elimi-
φM in the quadratic equation nating intersection artifacts which could not be resolved by the grid.
2 2 Note that minimum distance enforcement has linear time complex-
φM − φmy
φM − φmx ity if the crowd is first “binned” into a high-resolution neighbor
+ = 1. (11)
CM→mx CM→my grid.
Figure 5: People in yellow shirts evacuate a building. Figure 6: A continuum crowd reacts to a user-driven flying saucer
agent in real-time.
5 Results
lations are possible on coarse grids. To demonstrate this, we simu-
We have run a diverse set of crowd simulations with our system and lated a 2000 person army retreating from an 8001 person army on
found that the continuum method can produce smooth behavior for a 60 × 60 grid (Figure 8). Despite the coarse resolution, interesting
thousands of agents at interactive rates. We encourage the reader effects are apparent in which people change paths as congestion
to view the animations in the companion video. Our implementa- conditions evolve across the mountainous terrain. This simulation
tion was in a mixture of Python and C++. All simulations ran on ran at 5 fps before rendering “in-between” frames.
a 3.4GHz Pentium with a NVidia Quadro FX 3400 graphics card.
We also simulated a school quad as classes get out. People exit
Simulation updates took between 2 and 5 frames per second (fps).
from eight doorways and are randomly assigned a different destina-
This running time includes a parallel rendering thread which calcu-
tion door. This simulation was challenging because people crossed
lated “in-between” frames at 24 fps (12 fps for our 10,000 person
paths at many different angles. For this reason, we used added ten
example). Because our simulations usually exhibited smooth mo-
timesteps of predictive discomfort, and the result is a smooth flow,
tion, the decoupling of the renderer from simulator was not appar-
even under the rapidly changing conditions.
ent, yielding real-time, interactive simulations. The most notice-
able motion artifacts in our simulations were due to our simplified Finally, we created a 16 square block city environment with
human animation. We used basic locomotion cycles with precom- crosswalks, streets, and sidewalks (Figures 1, 5, and 6). Our sim-
puted in-between poses to avoid popping artifacts between cycles. ulations contained between one and two thousand people on this
A more sophisticated off-line motion model would produce higher 120 × 120 grid. By adding discomfort to the streets, people pre-
quality results, but would preclude interactive animation. ferred to stay on the crosswalks, crossing the streets only when
Figure 2(a) shows a simulation of twenty-four people crossing in congestion was too great. We were also able to simulate the 9 traf-
a hallway and forming lanes to avoid collision. This phenomenon fic lights by setting the speed onto the street to zero when the light
is ubiquitous in real crowds, and it can be observed in all of our is red. Since the expected value of the traffic light turning green
simulations. In Figure 2(b), we show a simulation of four groups is included in the planning, pedestrians do not opt to go elsewhere
crossing one another to reach opposite corners of the domain. A once the light turns red. We also simulated a building evacuation
vortex forms as the groups cross paths. This emergent behavior is (Figure 5), a scenario which is of interest for urban planning, and
an exotic form of lane formation, and it also serves to prevent col- also served to highlight the interesting congestion phenomena that
lisions. Such vortices have been observed in real crowds [Helbing occur when groups travel at different speeds. Finally, we created
et al. 2003]. In these simulations, the checkered pattern on the floor
indicates the grid size.
We have also run comparisons with two agent-based models
which can be seen in the companion video. These models are the
flocking model of Reynolds [OpenSteer 2006], and the particle-
forces model of Heı̈geas [2003]. We can see that in local models,
people do not plan early for congestion, and thus do not avoid it un-
til they are near. If we increase the local collision avoidance range,
pedestrians avoid congestion earlier, but also tend to spread out, tak-
ing significantly longer paths towards their goal. With continuum
crowds, people plan to avoid congestion in advance and the overall
movement assumes a smoother, more optimal flow. We note that it
is certainly possible for local models to display vortex-like crowd
flow as reported by Heı̈geas, but such emergent features occur only
for specific parameters of the model and only after the simulation
has reached a steady state. It is also possible to mix continuum
crowds with agents, as shown in Figure 7 where a continuum crowd
interacts with Reynolds agents.
One of the features of our system is that very large scale simu- Figure 7: A continuum crowds group (blue) interacts with a group
of Reynolds agents (red).
saucer (driven interactively) are all agents. We also show integra-
tion with more traditional agents in our video, where our model in-
teracts with an “unaligned collision avoidance” behavior. Figure 7
shows a simulation of a continuum crowd interacting with Reynolds
agents.
Like all models, our continuum approach makes simplifying as-
sumptions. Most notably, we do not take into account visual occlu-
sions or any other form of uncertainty, effectively assuming that
people really know the dynamic properties of the environment.
While this assumption may be reasonable for daily urban commut-
ing, limited vision certainly influences real crowds in unknown en-
vironments. In those cases, global knowledge planning is an ap-
proximation, in a similar way that local proximity knowledge is an
approximation. We believe that global knowledge approximation
is justifiable in the cases where our model most directly applies:
large crowds navigating open and familiar areas. More importantly,
compared to alternative approaches and other approximations, the
use of global knowledge provides more smooth crowd behavior and
Figure 8: A large army chases a smaller one through mountainous allows us to plan for everyone at once, achieving high simulation
terrain in real-time. speeds. We also think that it is possible to incorporate partial visi-
bility and we hope to address this issue in the future.
two simulations in which people predictively reacted to moving ob- We also assume that people can change direction without respect
stacles. We projected discomfort and increased speed in front of the to inertia. While this is justified for walking crowds, it becomes
obstacles so that people would move quickly out of the way. In our unrealistic when people run. This could be addressed by giving
first example, cars are driving slowly through crowded streets. We each person a state consisting of position and velocity, and solv-
consequently added only small amounts of discomfort and speed. ing a 4D eikonal equation through this state space; however this
In our second example (Figure 6), a user interactively flew a fly- method would not be real-time. Another useful extension would be
ing saucer agent through our simulation at much higher speeds. We to solve for the potential function across nonuniform grids. This
correspondingly increased the amount and size of the region of in- would allow sparse data points in areas with few people, and finer
creased speed and discomfort. Despite the 5 fps simulations rate, discretizations in areas of congestion, which might yield a substan-
the pedestrians correctly avoided the flying saucer, and the 24 fps tial speedup.
renderer provided smooth motion. The grid resolution is equal to Our system does not have the flexibility and individual variabil-
the size of the sidewalk tiles shown in Figure 6. ity of the full agent-based approach. Continuum crowds are de-
signed specifically to model multiple large homogeneous groups of
people who are moving in order to reach a specific goals. Since very
6 Discussion and Future Work large crowds are observed at a distance where it is harder to notice
In this paper we presented a novel crowd simulation framework details of individual behavior, we felt that smooth movement, lane
based on a continuum perspective rather than per-agent dynam- formation and planned motion were more important features to pre-
ics. In this respect, we further develop the abstract model pro- serve than individual variability. At the same time, occasional vari-
posed by Hughes [2003]. We describe several enhancements to this ability can be achieved by inserting a number of agents within the
model that produce more realistic crowd behavior. Most notably, continuum crowds. The continuum crowd model treats agents as
we changed the continuous density field into a particle descrip- moving obstacles and naturally handles the unpredictability of their
tion of the crowd and developed a full set of continuous dynamics behavior. We suspect that this hybrid model of continuum crowds
for this representation. We added a velocity-dependent term to the with embedded agents may be the most natural use of continuum
speed computation which is crucial for reproducing emergent phe- crows in larger interactive frameworks including games.
nomena that have been widely noted in real crowds. We also added The continuum crowd model is not appropriate for all crowd be-
a distance term to the optimal path computation which is psycho- havior. For example, it does not take into account the regime where
logically plausible, and reduced the oscillations in Hughes’s model. people are so tightly packed that contact forces between them dom-
In addition, we described an algorithm for the efficient simulation inate the physics. It is also limited by the requirement that people
of our continuum model. Finally, we showed how our model could move with a common goal. As a result, browsing without a spe-
be adapted to several interesting situations including traffic lights cific goal, such as visiting an art gallery, is not well suited for the
and predictive avoidance of moving objects. continuum formulation. At the same time, the continuum frame-
Our model has numerous advantages over previous systems in work can be applied to wide range of scenarios that at first do not
graphics. First, our model unifies global planning and collision seem to meet the common goal hypothesis. These scenarios are
avoidance. This means that individuals in our simulations do not achieved by dynamically changing goals and discomfort fields. For
face conflicting requirements between local collision avoidance and example, environment exploration can be modeled by setting goals
global planning, and they exhibit smoother motion than has been to collectively unseen regions. We have similarly produced exam-
previously reported. This brings our model closer to real crowds, ples of “posse chasing” behavior, where goals are set to the loca-
which are characterized by surprisingly few sudden changes in di- tion of target people, and avoidance behavior, where goals are set
rection. This has also allowed our system to capture a number of to a large-radius circle around people that should be avoided. The
emergent phenomena that have been reported in the crowd litera- unassigned-seat theater-filling example can also be modeled by re-
ture, including lane formation and short lived vortices during turbu- moving each “seat goal” as they get occupied.
lent congestion. By decoupling the simulator from the renderer, we We are encouraged that our algorithm has recently been eval-
were able to simulate these phenomena interactively. uated and licensed by Electronic Arts for use in next-generation
It is possible to integrate our model with agent models. In our games. According to their feedback our method appears to be
examples, the moving cars (driven by a simple rule) and the flying uniquely attractive for a number of reasons: it produces more
natural crowd threading behavior than the agent-based methods K IMMEL , R., AND S ETHIAN , J. A. 2001. Optimal Algorithms for Shape from Shad-
evaluated; it doesn’t “get stuck” even during very long simulations; ing and Path Planning. Journal of Mathematical Imaging and Vision 14, 237–244.
real-time performance is possible with very large crowds, and it K IRCHNER , A., AND S CHADSCHNEIDER , A. 2002. Simulation of evacuation pro-
integrates well with autonomous agents. cesses using a bionics-inspired cellular automaton model for pedestrian dynamics.
In Physica A, vol. 312, 260–276.
Acknowledgments. The authors would like to thank the L AMARCHE , F., AND D ONIKIAN , S. 2004. Crowd of virtual humans: a new ap-
anonymous reviewers for their helpful comments. This work proach for real time navigation in complex and structured environments. Computer
was supported by the UW Animation Research Labs, NSF grants Graphics Forum 23, 3 (Sept.), 509–518.
EIA-0121326, CCR-0092970, IIS-0113007, Alfred P. Sloan L I , T.-T., AND C HOU , H.-C. 2003. Motion planning for a crowd of robots. In IEEE
Fellowship, NSF Graduate Research Fellowship, Electronic Arts, International Conference on Robotics and Automation.
Sony, and Microsoft Research.
L I , T.-Y., L ENG , Y.-J., AND C HANG , S.-I. 2001. Simulating virtual crowds with a
leader-follower model. In Proceedings of 2001 Computer Animation Conference.
References L OSCOS , C., M ARCHAL , D., AND M EYER , A. 2003. Intuitive crowd behaviour in
dense urban environments using local laws. In Theory and Practice of Computer
A RKIN , R. 1987. In 1987 IEEE International Conference on Robotics and Automa-
Graphics (TPCG’03).
tion., vol. 4, 264–271.
M ASSIVE S OFTWARE, 2006. http://www.massivesoftware.com.
BAYAZIT, O. B., L IEN , J.-M., AND A MATO , N. M. 2002. Better group behaviors in
complex environments with global roadmaps. In Int. Conf. on the Sim. and Syn. of M ETOYER , R. A., AND H ODGINS , J. K. 2004. Reactive pedestrian path following
Living Sys. (Alife), 362–370. from examples. The Visual Computer 20, 10, 635–649.
B ENNEWITZ , M., AND B URGARD , W. 2001. Finding solvable priority schemes for M USSE , S. R., AND T HALMANN , D. 1997. A model of human crowd behavior:
decoupled path planning techniquesfor teams of mobile robots. Proceedings of the Group inter-relationship and collision detection analysis. In Computer Animation
9th International Symposium on Intelligent Robotic Systems (SIRS). and Simulation ’97, 39–51.
B ROGAN , D. C., AND H ODGINS , J. K. 1997. Group behaviors for systems with M USSE , S. R., BABSKI , C., C APIN , T., AND T HALMANN , D. 1998. Crowd mod-
significant dynamics. In Autonomous Robots, 137–153. elling in collaborative virtual environments. In Proceedings of the ACM symposium
on Virtual reality software and technology, 115–123.
C HENNEY, S. 2004. Flow tiles. In 2004 ACM SIGGRAPH / Eurographics Symposium
on Computer Animation, 233–242. O PEN S TEER, 2006. http://opensteer.sourceforge.net.
C LEMENTS , R. R., AND H UGHES , R. L. 2004. Mathematical modelling of a medi- PARKER , L. E. 1993. Designing control laws for cooperative agent teams. In IEEE
aeval battle: the battle of Agincourt, 1415. Math. Comput. Simul. 64, 2, 259–269. International Conference on Robotics and Automation, 582–587.
C OLOMBO , R. M., AND ROSINI , M. D. 2005. Pedestrian flows and nonclassical P ELECHANO , N., OB RIEN , K., S ILVERMAN , B., AND BADLER , N. 2005. Crowd
shocks. Mathematical Methods in the Applied Sciences 28, 13. simulation incorporating agent psychological models, roles and communication.
First International Workshop on Crowd Simulation.
C ORDEIRO , O. C., B RAUN , A., S ILVEIRA , C. B., M USSE , S. R., AND C AVAL -
HEIRO , G. G. H. 2005. Concurrency on social forces simulation model. First P ETTR É , J., L AUMOND , J.-P., AND T HALMANN , D. 2005. A navigation graph for
International Workshop on Crowd Simulation. real-time crowd animation on multilayered and uneven terrain. First International
Workshop on Crowd Simulation.
F EDKIW, R., S TAM , J., AND J ENSEN , H. 2001. Visual Simulation of Smoke. In
Computer Graphics (SIGGRAPH 2001), ACM, 15–22. R EYNOLDS , C. W. 1987. Flocks, herds, and schools: A distributed behavioral model.
In Computer Graphics (Proceedings of SIGGRAPH 87), vol. 21, 25–34.
F EURTEY, F. 2000. Dept. of EE. Master’s thesis, Univ. of Tokyo.
R EYNOLDS , C., 1999. Steering behaviors for autonomous characters.
F UNGE , J., T U , X., AND T ERZOPOULOS , D. 1999. Cognitive modeling: Knowledge,
reasoning and planning for intelligent characters. In Proceedings of SIGGRAPH 99, S HAO , W., AND T ERZOPOULOS , D. 2005. Autonomous pedestrians. In SCA ’05:
Computer Graphics Proceedings, Annual Conference Series, 29–38. Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer
animation, ACM Press, New York, NY, USA, 19–28.
G OLDENSTEIN , S., K ARAVELAS , M., M ETAXAS , D., G UIBAS , L., A ARON , E.,
AND G OSWAMI , A. 2001. Scalable nonlinear dynamical systems for agent steering
S TILL , G. 2000. Crowd Dynamics. PhD thesis, University of Warwik, UK.
and crowd simulation. Computers & Graphics 25, 6 (Dec.), 983–998. S UNG , M., G LEICHER , M., AND C HENNEY, S. 2004. Scalable behaviors for crowd
simulation. Computer Graphics Forum 23, 3 (Sept.), 519–528.
H E ÏGEAS , L., L UCIANI , A., T HOLLOT, J., AND C ASTAGN É , N. 2003. A physically-
based particle model of emergent crowd behaviors. In GraphiCon. S UNG , M., KOVAR , L., AND G LEICHER , M. 2005. Fast and accurate goal-directed
motion synthesis for crowds. In SCA ’05: Proceedings of the 2005 ACM SIG-
H ELBING , D., M OLN ÁR , P., AND S CHWEITZER , F. 1994. Computer simulations
GRAPH/Eurographics symposium on Computer animation, ACM Press, New York,
of pedestrian dynamics and trail formation. In Evolution of Natural Structures,
NY, USA, 291–300.
229–234.
T SAI , R., Z HAO , H., AND O SHER , S. 2005. Fast sweeping algorithms for a class of
H ELBING , D., M OLN ÁR , P., FARKAS , I. J., AND B OLAY, K. 2001. Self-organizing
hamilton-jacobi equations. SIAM Journal of Numerical Analysis 42, 6.
pedestrian movement. Environment and Planning B: Planning and Design 28,
361–383. T SITSIKLIS , J. N. 1995. Efficient algorithms for globally optimal trajectories. IEEE
Transactions on Automatic Control 40, 9 (Sept.), 1528–1538.
H ELBING , D., B UZNA , L., AND W ERNER , T. 2003. Self-organized pedestrian crowd
dynamics and design solutions. Traffic Forum 12. T U , X., AND T ERZOPOULOS , D. 1994. Artificial fishes: Physics, locomotion, percep-
tion, behavior. In Proceedings of SIGGRAPH 94, Computer Graphics Proceedings,
H ONGWAN , L., WAI , F. K., AND C HOR , C. H. 2003. A study of pedestrian flow
Annual Conference Series, 43–50.
using fluid dynamics. Tech. rep.
H UGHES , R. L. 2002. A continuum theory for the flow of pedestrians. Transportation
Research Part B 36, 6 (july), 507535.
H UGHES , R. L. 2003. The flow of human crowds. Annu. Rev. Fluid Mech. 35, 169–
182.
K AMPHUIS , A., AND OVERMARS , M. H. 2004. Finding paths for coherent groups us-
ing clearance. In 2004 ACM SIGGRAPH / Eurographics Symposium on Computer
Animation, 19–28.
K ETCHELL , N. 2002. A technical summary of the aea egress code. Tech. Rep. 1,
AEA Technology.