1 street generation for city modeling xavier décoret, françois sillion imagis gravir/imag - inria
Post on 21-Dec-2015
228 views
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