URBAN SCALE CROWD DATA ANALYSIS, SIMULATION, AND VISUALIZATION - - PowerPoint PPT Presentation
URBAN SCALE CROWD DATA ANALYSIS, SIMULATION, AND VISUALIZATION - - PowerPoint PPT Presentation
www.bsc.es URBAN SCALE CROWD DATA ANALYSIS, SIMULATION, AND VISUALIZATION Isaac Rudomin May 2017 ABSTRACT We'll dive deep into how we use heterogeneous clusters with GPUs for accelerating urban-scale crowd data analysis, simulation, and
2
ABSTRACT
We'll dive deep into how we use heterogeneous clusters with GPUs for accelerating urban-scale crowd data analysis, simulation, and visualization. Our main contributions are the development of new behavior models that conform to real data, the ability to scale the system by adding computing resources as needed without making programming modifications and the combination of analysis, simulation, and visualization techniques that help us achieve large-scale crowd simulations with realistic behavior.
3
INTRO
Why Crowd simulation?
- One of many massive
agent based simulations.
- Many applications:
- Videogames,
- Special events or
Emergency simulations,
- Vehicular traffic ,
- Health
- What we learn here can
be used in other examples
- f largescale simulation
and visualization
4
INTRO
We have developed methods for realtime crowd simulation and visualization
- Using several algorithms for collision avoidance and other behaviors
- Developing methods for generating varied animatable characters (GOD)
- Using shader based LOD techniques for rendering large crowds
For large scale problems we have parallelized
- simulation using MPI + OmpSs and/or CUDA in heterogeneous clusters
- visualization by using MPI and composition
Work in progress in
- using XML for specifying GOD for point based hierarchical LOD
- integrating map applications such as Cesium, Tangram, Mapbox and 3D scenery
generated by them
- integrating real data such as GPS traces to be used to influence simulation
- using deep learning for modifying behavior
BLOCK STRUCTURE
PW: BEHAVIOR
- Effective search of neighbours,
- Collision avoidance
- Boids (Reynolds),
- Social Forces (Helbing),
- Reciprocal Velocity
Obstacles,
- Synthetic Vision
7
PW: BEHAVIOR
Physical, Psychological and cultural characteristics of agents, Optimal navigation
Using trajectories and spiking neural networks to teach agent to avoid colissions. Work with with Israel Tabarez will continue.
Have used standard vision techniques
- will use
- deep reinforcement learning
- montecarlo tree search
- to train from trajectories and/or
real and simulated video.
PW: VISION, LEARNING
PW: GOD
GOD: Generate Animate
HETEROGENEOUS CLUSTER HETEROGENEOUS CLUSTER or PC
Simulation Simulation Learning Render Render GO-A-L Composition Composition Composition
Display
Simulation Simulation Simulation Composition Composition Compression Simulation Simulation World & Models
2D MAP DATA
Display Display 3D Map Camera
ANIMATE LOD NEIGHBOR AVOID COLLISION NAVIGATE
INPUT-OUTPUT: BROWSER, UNITY, Mapbox
Render GOD Render Render
IMAGE STREAM
DATA STREAM
GENERAL DIAGRAM
XML FILES: GOD, PBR, H-LOD
- Used for parameter definition and behavior
- Geometric attributes
- Distribution
- Variety Generation
- World Distribution
- Group Definitions
- Environment Definition and Actors
12
Templates for XML Definition
Texture driven variety generation
XML FILES: GOD, PBR, H-LOD
13
XML FILES: GOD, PBR, H-LOD
14
Geometry reduction Surface splatting
- Animations are
transferable between polygons and point samples for any given level of detail.
XML FILES: GOD, PBR, H-LOD
15
This structure is used to generate characters
- varied
- animated
- viewable from any
camera angle
- for any given LOD
XML FILES: GOD, PBR, H-LOD
XML FILES: GOD, PBR, H-LOD
17
A tiling system is built on top of a quadtree allowing us to combine geometry from different agents and objects. Each tile is indexed using the quadtree. Characters are indexed as well, knowing at all times in which tile they are currently at.
XML FILES: GOD, PBR, H-LOD
18
By combining both hierarchical structures, (octree skeleton and quadtree environment) it is possible to create crowds composed by hundreds
- f thousands of animated characters.
Depending on the location of each character LOD is assigned dynamically to reduce computation bottlenecks.
XML FILES: GOD, PBR, H-LOD
19
SYSTEM ARCHITECTURE
WEB BROWSER CLIENT SERVER (SIMULATION ENGINE)
webGL output OSM 3D MAP Data capture Script OUTPUT DATA
- COLOR TEXTURE (screen).
- DEPTH TEXTURE.
- VIRTUAL CAMERA
PARAMETERS AND WORLD POSITION
OUTPUT DATA
WEB SOCKETS
CROWD SIMULATION (2D TILE LEVEL POSITIONS) CLIENT CAMERA SETTINGS AND DATA CROWD 3D RENDER SCREEN COMPOSITION OUTPUT RENDER OUTPUT RENDER
WEB SOCKETS
PRESENTATION
IN DEVELOPMENT
21
SIMPLE BEHAVIOR: 1 GPU
World: 2D grid of cells – empty or – occupied by an agent. main computation is agent and world updates: with a single GPU once data is in GPU updating & rendering happens on the GPU without data transfers speedup is significant. Collision Avoidance:
- simple gather method
- checks 8 directions with
radius 5
- if another agent in path has
same direction its cell is considered a free cell
MPI, OMPSS, CUDA
Parallel crowd simulation requires dividing the problem in blocks, and for MPI, for OMPSS the idea is the same
- subdivide world into equal sized (2D) tiles
- we assign each tile to a node for MPI
- we assign each subtile, within a node to the CPU or
GPU core using OmPSS
- within the GPUs we use CUDA
- tiles and subtiles manage their own agents
- interchange of agents at borders
Double tiling technique Four levels of parallelism
CLUSTER VISUALIZATION
streaming in situ web
24
DATA
Data preparation collected from different sources
NoSQ L BLOBs Data Collection Crowd Clean and Extraction Data Storage Data Analysis and Visualization
GPS and Video Data
25
Urban environments OpenStreetMap
DATA
T-Drive trajectory dataset
- GPS trajectories of 10,357 taxis within Beijing.
- 15 million of points
- and the total distance of 9 million kilometers
26
Trajectory Dataset
OpenPaths project: “Crowds Simulation”
- 848,000 GPX files
- 2.6 Trillion GPX points
- and 260GB of GPS data
DATA
27
Heatmap Query the data by: day and hour / zone / type of vehicle, / etc...
DATA
28
Neural network architecture
. . . . . .
Input 3 * 20
. . .
ReLu FC 150 ReLu FC 150 Output 3
DEEP
29
SCENERY
In both systems 2e can import scenery, generate scenery, and we can also compose with the zbuffer generated by other systems, such as the Mapbox Unity plugin or Tangram
CONCLUSIONS
We have a scalable multi agent system architecture
- Supports the simulation of hundreds of thousands of autonomous agents
- The crowd rendering engine enables geometrical, visual and animation diversity
while maintaining memory requirements low.
- We have used GLSL/CUDA for data parallelism for systems with one GPU
- Large scale simulations taking advantage of heterogeneous computing clusters
with multiple CPUs and GPUs
- real-time simulation on clusters using CUDA MPI, OmPSS
- streaming and in-situ+composition visualization of the results
- Working on Using real maps and trajectories
ACKNOWLEDGEMENTS
This work is supported
- by the Spanish Government through Programa Severo Ochoa (SEV-2015-0493)
- by the Spanish Ministry of Science and Technology (project TIN2015-65316-P).
- by CONACyT, Mexico through the Barcelona Supercomputing Center – Centro
Nacional de Supercomputación – Consejo Nacional de Ciencia y Tecnología Convocatoria 2016 para Estancias Posdoctorales
- by CONACyT, Mexico PhD Scholarship program
32
- Isaac Rudomin (BSC)
isaac.rudomin@bsc.es
- Hugo Perez (UPC-BSC)
hugo.perez@bsc.es
- Leonel Toledo (BSC)
leonel.toledo1@bsc.es
- Jorge Eduardo Ramirez (BSC)
jorge.ramirez@bsc.es