77
Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel J. Hershey David M. McKeown TerraSim, Inc. One Gateway Center, Suite 2050 420 Fort Duquesne Blvd. Pittsburgh, PA 15222 March 29, 2012 GameTech 2012 Orlando, FL

Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Embed Size (px)

Citation preview

Page 1: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Automatic Annotation of Urban Environments to Support Pattern of

Life Behavior

Daniel J. Hershey

David M. McKeown

TerraSim, Inc.One Gateway Center, Suite 2050

420 Fort Duquesne Blvd.Pittsburgh, PA 15222

March 29, 2012GameTech 2012

Orlando, FL

Page 2: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Introduction

Pattern of Life (POL) in Urban Environments

• How can we create more compelling simulations of human activity in urban environments?

• How can we avoid manual scripting or programing the background activities that are common to urban life?

• As we develop new urban environments for simulation and training, do we have to start with a clean slate?

• In this presentation we will address these issues and show how urban environments can be automatically generated to support advanced POL activity.

Page 3: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

What Is Pattern of Life Anyway?

• AI entity behaviors that autonomously perform daily background “life” activities within an environment.

– Driving to work and parking a car, walking from car to office, enter office building.

– Leave office building for lunch, walk to lunch place, meet with others, go into restaurant.

– Leave restaurant in group, individually return to place of work.

– Leave work, walk to car from office, drive car from parking garage.

• Using spatial cues, this part of the simulation should be autonomous and tailored to the specific environment

Page 4: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Information Required to Support POL

• Locations and the properties of places in the environment• Spatial organization of the urban terrain for appropriate

routing of pedestrians and vehicles• Properties need a rich set of spatial attribute descriptors.

– Types of buildings based on function:• residential, commerial, administrative, parking lots, etc.

– Types of open areas based on human use: • parks, soccer fields, stadiums, lakes, open space. etc.

• This information can be generated from:– the geospatial source data used to build the 3D environment– or automatically generated based upon urban density statistics.– or interactively added to source data prior to 3D generation.

Page 5: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Urban Environments

• Urban spatial organization varies widely depending on area of the world

• However, there are common themes of human geography and, in particular, daily human activity.

• Currently background POL activity is manually scripted, when it is available at all.

• AI must infer spatial relationships and content from the game geometry without benefit from other semantic information.

• Our goal is to provide a correlated attributed model that various AI systems and Game Developers can use directly.

Page 6: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Generation of Annotated Environments for POL

• Make minimal assumptions about available source data– Road centerline and building footprints are generally

available for most modeling and simulation tasks• Derive all other POL features from input source data

– Use a combination of computational geometry and image processing

– Minimize human interaction to post processing checks

• Make annotated urban environment generation an integral part of runtime database creation process.

Page 7: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Annotated Urban Environments Process Flow

Page 8: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Some Key Urban Annotation Primitives

Pedestrian Routing Vehicular Routing• Sidewalk areas• Crosswalk areas• Buildings• Building entrances

• Road areals• Road centerlines• Road intersection area• Intersection points• Parking areas• Parking curb cutouts

Page 9: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Building an Integrated Spatial Network

Pre-computed relationships vs. derived spatial relationships• crosswalk 42 connects sidewalk 37 + 61• crosswalk 42 crosses road surface 84• sidewalk 37 is adjacent to parcel 54• parcel 54 contains buildings <building list>• building 101 as entrances at <location list>• road 14 intersects road 37 at intersection 99

Support entity reasoning and navigation at a high level of spatial abstraction

Page 10: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Software Support for Annotated Environments

Develop an application programming interface• Use API support to abstract (hide) underlying spatial

data content and organization.

Levels of API support:• Access to each thematic layer: basic geometry and

attribution• Access to all layers: specify and limit to spatial area of

interest• Access to functional and spatial relationships between

urban objects within and across layers

Page 11: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Generation of an Urban Semantic Description

Page 12: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Complex Urban Environment (360K buildings)

Page 13: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Building 2D Footprint Layer (Input Data)

Page 14: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Building Parcel Source Layer (Input Data)

Page 15: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Road Centerline Source Layer (Input Data)

Page 16: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Road Junction Areas (Derived)

Page 17: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Street Islands (Derived)

Page 18: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Sidewalks (Derived)

Page 19: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pedestrian Crosswalks (Derived)

Page 20: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Parking Areas (Derived)

Page 21: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Parking Access Points (Derived)

Page 22: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Building Entrances (Derived)

Page 23: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Example Area 1

Page 24: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Example Area 1 (Phototexture)

Page 25: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Example Area 1 (Source Data Layers)

Page 26: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Example Area 1 (Source and Phototexture)

Page 27: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Example Area 1 (POL Derived Layers)

Page 28: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 2 (Angled Road)

Page 29: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Phototexture Detailed Area 2 (Angled Road)

Page 30: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Source Data Detailed Area 2 (Angled Road)

Page 31: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 2 (Angled Road)

Page 32: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

POL Generated Detailed Area 2 (Angled Road)

Page 33: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 2 (Angled Road) in VBS2

Page 34: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 2 (Angled Road) in VBS2

Page 35: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 3 (Median Road)

Page 36: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Phototexture Detailed Area 3 (Median Road)

Page 37: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Source Data Detailed Area 3 (Median Road)

Page 38: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 3 (Median Road)

Page 39: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

POL Generated Detailed Area 3 (Median Road)

Page 40: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 3 in VBS2 (Median Road)

Page 41: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Detailed Area 3 in VBS2 (Median Road)

Page 42: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Parking Area

Page 43: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Parking Area (Zoom)

Page 44: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Parking Area and Cutout in VBS2

Page 45: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Parking Area and Cutout in VBS2

Page 46: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Road T-Junction

Page 47: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Road T-Junction Zoom

Page 48: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Road T-Junction in VBS2

Page 49: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Road T-Junction in VBS2

Page 50: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Preliminary Results: Annotated Environments

• Working with SimCentric and Bohemia Interactive• VBS2 1.60 with SimCentric Urban Ambience “add-ons”• Use TerraTools 4.0 to generate correlated:

– VBS2 maps and multi-tile .pbo– POL annotated data layers

• POL data layers are loaded into Urban Ambience• Current default behaviors include:

– Limiting walking to sidewalks and avoid street areas– Crossing roads within crosswalk areas– Entering and exiting buildings are door locations.– Milling activity within defined park and open areas

Page 51: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Entity Routing Without Annotated Environment

Page 52: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Entity Routing Without Annotated Environment

Page 53: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Entity Routing With SimCentric “Urban Ambience”

Page 54: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Entity Routing With SimCentric “Urban Ambience”

Page 55: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Crossing and Loitering Sequence

Page 56: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Crossing and Loitering Sequence

Page 57: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Crossing and Loitering Sequence

Page 58: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

SimCentric UPOL Editor (Office Buildings - Blue)

Page 59: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

SimCentric UPOL Editor (Restaurants - Purple)

Page 60: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

SimCentric UPOL Editor (Residential - Pink)

Page 61: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Ongoing work

• Refine generation of annotated urban environments– Additional attention to structure semantic attribution (human)– Add segment definitions for roads (vehicular navigation)– Add traffic signs and lights using derived intersection areas– Add urban clutter (hydrants, garbage bins, newspaper box, etc.)– Work with additional urban datasets

• Work with Serious Game and AI middleware developers to flesh out requirements for Annotated Urban Environments

Page 62: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh Source Data – (Buildings)

Page 63: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh Source Data – (Roads)

Page 64: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh Source Data – (Parks)

Page 65: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh Source Data – (Drainage)

Page 66: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh Annotated Environment – (All Layers)

Page 67: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh POL Environment in VBS2 – Overview

Page 68: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh POL Environment in VBS2 – Overview

Page 69: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh POL Environment in VBS2 – Overview

Page 70: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh VBS2 – Gateway Center

Page 71: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh VBS2 – Gateway Center

Page 72: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh in VBS2 – Street View

Page 73: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh in VBS2 – Clutter Models

Page 74: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh in VBS2 – Clutter Models

Page 75: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Pittsburgh in VBS2 – Bus Shelter

Page 76: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

Conclusions

• Annotated urban environments can be efficiently produced as an integral part of the serious game generation process

• They can be used to support improved AI behaviors particularly to support background urban “pattern of life”

• We believe they will have particular impact in making urban environments look less sterile and in supporting significantly more compelling training scenerios.

• Questions or comments?

Page 77: Automatic Annotation of Urban Environments to Support POL Behavior Automatic Annotation of Urban Environments to Support Pattern of Life Behavior Daniel

Automatic Annotation of Urban Environments to Support POL Behavior

TerraSim, Inc.

One Gateway Center,

Suite 2050

420 Fort Duquesne Blvd.

Pittsburgh, PA 15222

Visit us at:

http://www.terrasim.com