URBAN SCALE CROWD DATA ANALYSIS, SIMULATION, AND VISUALIZATION - - PowerPoint PPT Presentation

urban scale crowd data analysis simulation and
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

www.bsc.es

URBAN SCALE CROWD DATA ANALYSIS, SIMULATION, AND VISUALIZATION

Isaac Rudomin May 2017

slide-2
SLIDE 2

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.

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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
slide-5
SLIDE 5

BLOCK STRUCTURE

slide-6
SLIDE 6

PW: BEHAVIOR

  • Effective search of neighbours,
  • Collision avoidance
  • Boids (Reynolds),
  • Social Forces (Helbing),
  • Reciprocal Velocity

Obstacles,

  • Synthetic Vision
slide-7
SLIDE 7

7

PW: BEHAVIOR

Physical, Psychological and cultural characteristics of agents, Optimal navigation

slide-8
SLIDE 8

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

slide-9
SLIDE 9

PW: GOD

GOD: Generate Animate

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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
slide-12
SLIDE 12

12

Templates for XML Definition

Texture driven variety generation

XML FILES: GOD, PBR, H-LOD

slide-13
SLIDE 13

13

XML FILES: GOD, PBR, H-LOD

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

XML FILES: GOD, PBR, H-LOD

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

19

SYSTEM ARCHITECTURE

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

CLUSTER VISUALIZATION

streaming in situ web

slide-24
SLIDE 24

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

slide-25
SLIDE 25

25

Urban environments OpenStreetMap

DATA

slide-26
SLIDE 26

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

slide-27
SLIDE 27

27

Heatmap Query the data by: day and hour / zone / type of vehicle, / etc...

DATA

slide-28
SLIDE 28

28

Neural network architecture

. . . . . .

Input 3 * 20

. . .

ReLu FC 150 ReLu FC 150 Output 3

DEEP

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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
slide-31
SLIDE 31

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
slide-32
SLIDE 32

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

MORE INFO