Level of Detail Techniques for Crowd Simulation - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Level of Detail Techniques for Crowd Simulation

Description:

'Crowd simulation is the process of simulating the movement of ... No bells or whistles. 13. OpenSteer. Extension of flocking motion to general steering behavior ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 38
Provided by: UNC52
Category:

less

Transcript and Presenter's Notes

Title: Level of Detail Techniques for Crowd Simulation


1
Level of Detail Techniques for Crowd Simulation
  • Stephen J. Guy

2
Why Realtime Crowds?
  • Movie-like games
  • Epic feeling
  • Large battles
  • Immersive Environments
  • Simulations
  • Training
  • Entertainment

3
Overview
  • Creating a Crowd Simulation
  • Rendering
  • Animation
  • Simulation
  • Level of Detail Techniques for Simulation
  • Implementation
  • Results
  • Analysis
  • The Future

4
Crowd Sim 101
  • What is a Crowd Simulation
  • Crowd simulation is the process of simulating
    the movement of a large number of objects or
    characters Wikipedia
  • Agent The subject of the simulation
  • What we really need to know
  • Where is each agent?
  • What is their state?
  • What do they look like right now?
  • How do we draw that quickly?

5
Rendering
  • Nieve approach
  • OpenGL - Render each agent as full 3D geometry
  • SLOW
  • Better
  • Visibility Culling
  • Level of Detail
  • Image Based Rendering
  • Imposters

6
Imposters
  • Replace Far off agents with an oriented texture
  • Several Issues
  • Popping
  • Uniformity
  • Lighting
  • Shadows
  • Many issues addressed in recent works

7
Animation
  • Naive
  • Generate a walk cycle for each agent
  • Chose appropriate model each time step
  • Slow or speed animation based on velocity
  • Better
  • Use an FSM and several animations
  • Motion Clips

8
Simulation
  • Tells us where each agent should be each timestep
  • Simulation Methods
  • Continuous Methods Crowd as flow
  • Cellular Automata Crowd as grid states
  • N-body Crowd as force models
  • Agent-based Crowd as lots of individuals

9
Cellular Automaton (CA)
  • Divide Space into grids
  • Assign each grid cell a value
  • Devise rules for updating grid cells based on
    values of that cell and its neighbors
  • Watch interesting behavior emerge

10
Agent Dynamics Based
  • Simulate each agent individually takeing into
    account neighbors, goals, and obstacles as
  • Forces (or)
  • Constraints
  • Additional forces may model
  • Social forces
  • Sociological factors
  • Psychological models
  • Apply combined forces to each agent, each time
    step

11
3 Example Simulations
  • My Toy Simulator
  • OpenSteer
  • Craig Reynolds, 2004
  • AERO
  • Sud et al, 2007
  • AERO is the most full featured, but all three
    focus on simulation (not rendering or animation)

12
Toy Simulator
  • Model based on agents and forces
  • Roadmap is generated in empty space
  • Agents are given path force based on A search
    for goal
  • No bells or whistles

13
OpenSteer
  • Extension of flocking motion to general steering
    behavior
  • Same basic idea, but
  • Very fancy neighbor search
  • Free and Open Source

14
AERO
  • Adaptive Elastic ROadmaps (AERO)
  • Introduces deformable paths for agents to follow
    (while still avoiding moving obstacles)
  • Some agents are aggressive

15
Simulation Level of Detail (LOD)
  • LOD is traditional a rendering technique
  • Replace complex geometry with simple one when far
    away
  • Adapt this idea for rendering
  • Replace individual agents with groups of agents
    where possible

16
Overall Algorithm
  • Loop
  • Group agents into clusters
  • Create über-agents from cluster
  • Simulate über-agents (using existing techniques)
  • Propagate changes from über-agents back to real
    agents
  • Key points
  • Allows us to take advantage of existing crowd
    simulations
  • Similar, nearby agents will move as a group

17
Clustering
  • How to group agents?
  • Cluster nearby, similar agents so they can be
    treated as one über-agent
  • Requirements for a cluster
  • Heading difference between 2 agents can differ by
    at most v radians
  • The ratio of speeds between 2 agents can be at
    most s
  • A cluster can be at most g units across in length
  • 2 or more agents can not have differing immediate
    goals
  • A cluster may not intersect any obstacle

18
Clustering (cont)
  • Cluster using a KD-tree
  • Decide on criteria which clusters must follow
  • Add all agents to one cluster, Spit()
  • Split
  • If cluster violates any above criteria
  • Create 2 new clusters
  • Call Split() on new cluster

19
Clustering Options
  • K-means, K-d tree, R-tree, EM, etc
  • K-means clustering had odd behavior
  • KD-tree allows local refinement

20
Splitting Rules
  • Manner of splitting can effect shape of cluster
  • For a good aspect ratio
  • Chose the longest axis to split on
  • Place a perpendicular plane halfway along the
    axis
  • Move the plane so at least one agent is on each
    side
  • Agents not separated by a plane are in the same
    cluster

21
Clustering Costs
  • Time
  • Clustering costs grow O(n log n)
  • Possible to reduce with incremental update
  • Split is fine
  • Merge is difficult!
  • Fidelity
  • Can limit approximation by capping num agents in
    a cluster
  • Can be used to adapt to framerate

22
Results
  • Approximation Level vs. Time Toy Demo

23
Results Toy Sim.
  • Simulation Time vs. Num agents

24
Results OpenSteer
  • Simulation Time vs. Num agents

25
Results - AREO
  • Simulation Time vs. Num agents

26
Results Comparison
Bold is better
  • With few agents clustering overhead was
    noticeable
  • With several hundred agents, clustering was a
    clear win
  • OpenSteer showed the least gain in performance

27
Analysis
  • Simulation Level of Detail (LOD) can result in
    significant speedup
  • Relatively large speed gains are possible with
    small clusters if they dont have to be split
    often
  • Results were best with complex paths and heavy
    per agent costs
  • As implemented, LOD was less helpful when added
    on top of other acceleration techniques

28
Future Work
  • Verification
  • How do we know LOD wasnt too aggressive?
  • By eye?
  • User studies?
  • Numerically comparing paths?
  • Average time to reach goal?
  • Rendering Accelerations
  • Simulation LOD and Rendering LOD are somewhat
    similar
  • Is there some synergy that can be exploited?

29
Far Future
  • Agent Model
  • Intelligent Agents
  • AI/Machine Learning
  • Systems
  • High Performance
  • Mobile Crowd Sims
  • Immersive Displays

You here!
30
Acknowledgment
!
  • Thanks to
  • Ming Lin
  • GAMMA group
  • My Committee members
  • Funding agencies

31
Questions
  • ?

32
Begin Extra Slides
  • My Imposter Implementation
  • Geoposters
  • Flocking
  • Multi-agent Navigation Graphs
  • K-means vs KD-tree

33
My Imposter Attempt
  • Worked, but not pretty

34
Geoposters
35
Flocking
  • Seminal work in multi-agent movement
  • Assign simple force to each agent
  • Used in
  • Lion King
  • Batman Returns

36
MultiAgent Navigatoin Graph
  • MANG
  • One Path to Guide them All

37
Clustering Options
  • K-means, K-d tree, R-tree, EM, etc
  • K-means clustering had odd behavior
  • KD-tree allows local refinement
Write a Comment
User Comments (0)
About PowerShow.com