1 street generation for city modeling xavier décoret, françois sillion imagis gravir/imag - inria

Post on 21-Dec-2015

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Street GenerationStreet Generationfor City Modelingfor City Modeling

Xavier Décoret, François SillionXavier Décoret, François Sillion

iMAGIS GRAVIR/IMAG - INRIAiMAGIS GRAVIR/IMAG - INRIA

2

A Computer Graphics point of viewA Computer Graphics point of view– Graphic artistsGraphic artists

– Game developersGame developers

– ResearchersResearchers

A work in 2 partsA work in 2 parts– A frameworkA framework

– An algorithmAn algorithm

ForewordForeword

3

MotivationsMotivations

City Modeling is a growing field of interestCity Modeling is a growing field of interest– Game and LeisureGame and Leisure

» Virtual environments are widely usedVirtual environments are widely used

» Need for larger environmentsNeed for larger environments

» Cities are natural and appealing large environmentsCities are natural and appealing large environments

– Analysis and SimulationAnalysis and Simulation» Pedestrians or traffic flowPedestrians or traffic flow

» Wave transportationWave transportation

4

MotivationsMotivations

Creating the virtual model is a tedious taskCreating the virtual model is a tedious task– Realistic modelRealistic model

» Model it by hand: long and costlyModel it by hand: long and costly

» Reconstruct it automatically: not working yetReconstruct it automatically: not working yet

– Semi-realistic modelSemi-realistic model» Procedural modellingProcedural modelling

» Map is exact, geometry is approximativeMap is exact, geometry is approximative

5

MotivationsMotivations

Creating the virtual model is a tedious taskCreating the virtual model is a tedious task– Realistic modelRealistic model

» Model it by hand: long and costlyModel it by hand: long and costly

» Reconstruct it automatically: not working yetReconstruct it automatically: not working yet

– Semi-realistic modelSemi-realistic model» Procedural modellingProcedural modelling

» Map is exact, geometry is approximativeMap is exact, geometry is approximative

No existing tool

6

Overview of the toolOverview of the tool

Retrieve the 2D footprints of buildingsRetrieve the 2D footprints of buildings– Aerial photographsAerial photographs

– Existing 2D models Existing 2D models

Procedurally generate buildingsProcedurally generate buildings– Grammar, library of shapesGrammar, library of shapes

– Style information provided by a designer (GIS)Style information provided by a designer (GIS)

Generate streetsGenerate streets– Retrieve the street networkRetrieve the street network

– Generate geometryGenerate geometry

7

Overview of the toolOverview of the tool

Retrieve the 2D footprints of buildingsRetrieve the 2D footprints of buildings– Aerial photographsAerial photographs

– Existing 2D models Existing 2D models

Procedurally generate buildingsProcedurally generate buildings– Grammar, library of shapesGrammar, library of shapes

– Style information provided by a designer (GIS)Style information provided by a designer (GIS)

Generate streetsGenerate streets– Retrieve the street networkRetrieve the street network

– Generate geometryGenerate geometry

Our contribution

8

Input & OutputInput & Output

Input

Output

Polygonal footprints

+

9

PrinciplePrinciple

We use a median axis (skeleton)We use a median axis (skeleton)

Seems natural for roadsSeems natural for roads– Goes in between 2 buildingsGoes in between 2 buildings

– Goes approximately at equal distanceGoes approximately at equal distance

10

Use of a median axisUse of a median axis

Street graphPolygonal footprints

11

Robustness Issues (1)Robustness Issues (1)

Input sensitivityInput sensitivity

Ideal case Noise effect Expected result

12

Robustness Issues (2)Robustness Issues (2)

ArtefactsArtefacts

Unwanted branches requiring post-processing

13

Our approachOur approach

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

14

Our approachOur approach

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

15

Our approachOur approach

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

11 22

3399

44

55

6677

88

16

Our approachOur approach

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

A geometric phaseA geometric phase– The graph is shaped to a The graph is shaped to a

correct positioncorrect position

– Optimisation with constraintsOptimisation with constraints

11 22

33

44

55

6677

8899

17

Our approachOur approach

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

A geometric phaseA geometric phase– The graph is shaped to a The graph is shaped to a

correct positioncorrect position

– Optimisation with constraintsOptimisation with constraints

11 22

33

44

55

6677

8899

18

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

19

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

20

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

Delaunay triangulate the samplesDelaunay triangulate the samples

21

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

Delaunay triangulate the samplesDelaunay triangulate the samples

Ignore edges joining samples of a same buildingIgnore edges joining samples of a same building

22

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

Delaunay triangulate the samplesDelaunay triangulate the samples

Ignore edges joining samples of a same buildingIgnore edges joining samples of a same building

23

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

Delaunay triangulate the samplesDelaunay triangulate the samples

Ignore edges joining samples of a same buildingIgnore edges joining samples of a same building

Take the dual of edges (Voronoï diagram)Take the dual of edges (Voronoï diagram)

24

Topological PhaseTopological Phase

Sample the footprints with extra verticesSample the footprints with extra vertices

Delaunay triangulate the samplesDelaunay triangulate the samples

Ignore edges joining samples of a same buildingIgnore edges joining samples of a same building

Take the dual of edges (Voronoï diagram)Take the dual of edges (Voronoï diagram)

Construct a graph from the edgesConstruct a graph from the edges

Crossings

Streets

25

Our approachOur approach

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

A geometric phaseA geometric phase– The graph is shaped to a The graph is shaped to a

correct positioncorrect position

– Optimisation with constraintsOptimisation with constraints

99

26

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

27

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

28

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

29

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

30

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

31

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

Compute minimum widthCompute minimum width

32

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

Compute minimum widthCompute minimum width

Greedily place a Greedily place a validvalid polyline in between polyline in between

33

Geometric PhaseGeometric Phase

Place sample Place sample medianmedian points points

Compute minimum widthCompute minimum width

Greedily place a Greedily place a validvalid polyline in between polyline in between

34

Place sample Place sample medianmedian points points

Compute minimum widthCompute minimum width

Greedily place a Greedily place a validvalid polyline in between polyline in between

Split the polyline inSplit the polyline in– SegmentsSegments

– CurvesCurves

Geometric PhaseGeometric Phase

Segments

Curve

35

RobustnessRobustness

A topological phaseA topological phase– Partition Partition the map intothe map into

» StreetsStreets

» CrossingsCrossings

A geometric phaseA geometric phase– The graph is shaped to a The graph is shaped to a

correct positioncorrect position

– Optimisation with constraintsOptimisation with constraints

- Based on distance- Robust to footprints’shape- Solves input sensitivity

- Based on optimisation- Robust to footprints’shape- Solves artefacts

36

ResultsResults

37

Street GenerationStreet Generation

Generate streetsGenerate streets– Retrieve the street networkRetrieve the street network

» TopologyTopology

» Simple primitivesSimple primitives

– Generate geometryGenerate geometry» Match buildings boundariesMatch buildings boundaries

» Connect correctly at crossingsConnect correctly at crossings

38

WorkflowWorkflow

Generate streetsGenerate streets– Retrieve the street networkRetrieve the street network

» TopologyTopology

» Simple primitivesSimple primitives

– Generate geometryGenerate geometry» Match buildings boundariesMatch buildings boundaries

» Connect correctly at crossingsConnect correctly at crossings

39

Generating geometryGenerating geometry

Use library of parametric modelsto build segments and curves

Triangulate the remaining border

40

Parametric modelParametric model

41

ResultsResults

42

Conclusion & Future WorksConclusion & Future Works

We can generate geometry from a 2D map of We can generate geometry from a 2D map of buildingsbuildings

– Work in 2D1/2Work in 2D1/2

Write more parametric modulesWrite more parametric modules

High level features extractionsHigh level features extractions– AvenuesAvenues

– SquaresSquares

Generate coherent trafic signsGenerate coherent trafic signs

top related