1 Architecture based modeling of buildings Filip Van den Borre.
-
Upload
roland-whitlock -
Category
Documents
-
view
217 -
download
1
Transcript of 1 Architecture based modeling of buildings Filip Van den Borre.
1
Architecture based modeling of buildings
Filip Van den Borre
2
Overview
Objective GeoAutomation data set Fit ground plane model Fit facade planes Style grammar rjMCMC Future work
3
Objective
Model buildings Without human interaction Input: images Semantic model: knowledge about the structure of
the building and his elements. Use architectural grammar: set of rules that can be
used to describe the building model Repeated elements -> one enhanced texture for each
4
Objective
Procedural Modeling of Buildings. [Mueller et al.] SIGGRAPH 2006
CGA shape: shape grammar for the procedural modeling of CG architecture. low cost -> computer games, movies, ... efficient unprecedented level of detail
5
Example PRIORITY 1: 1: footprint ; S(1r,building height,1r) facades T(0,building height,0) Roof(”hipped”,roo f angle){ roof } PRIORITY 2: 2: facades ; Comp(”sidefaces”){ facade } 3: facade : Shape.visible(”street”) ; Subdiv(”X”,1r,door width*1.5){ tiles | entrance } : 0.5 ; Subdiv(”X”,door width*1.5,1r){ entrance | tiles } : 0.5 4: facade ; tiles 5: tiles ; Repeat(”X”,window spacing){ tile } 6: tile ; Subdiv(”X”,1r,window width,1r){ wall | Subdiv(”Y”,2r,window height,1r){ wall | window | wall } | wall } 7: window : Scope.occ(”noparent”) != ”none” ; wall 8: window ; S(1r,1r,window depth) I(”win.obj”) 9: entrance ; Subdiv(”X”,1r,door width,1r){ wall | Subdiv(”Y”,door height,1r){ door | wall } | wall } 10: door ; S(1r,1r,door depth) I(”door.obj”) 11: wall ; I(”wall.obj”) PRIORITY 3: ...... 14:
6
My mission
PRIORITY 1: 1: footprint ; S(1r,building height,1r) facades T(0,building height,0) Roof(”hipped”,roo f angle){ roof } PRIORITY 2: 2: facades ; Comp(”sidefaces”){ facade } 3: facade : Shape.visible(”street”) ; Subdiv(”X”,1r,door width*1.5){ tiles | entrance } : 0.5 ; Subdiv(”X”,door width*1.5,1r){ entrance | tiles } : 0.5 4: facade ; tiles 5: tiles ; Repeat(”X”,window spacing){ tile } 6: tile ; Subdiv(”X”,1r,window width,1r){ wall | Subdiv(”Y”,2r,window height,1r){ wall | window | wall } | wall } 7: window : Scope.occ(”noparent”) != ”none” ; wall 8: window ; S(1r,1r,window depth) I(”win.obj”) 9: entrance ; Subdiv(”X”,1r,door width,1r){ wall | Subdiv(”Y”,door height,1r){ door | wall } | wall } 10: door ; S(1r,1r,door depth) I(”door.obj”) 11: wall ; I(”wall.obj”) PRIORITY 3: ...... 14:
7
Data of GeoAutomation
Spin-off company of Visics System of precise mapping measurements by means
of mobile mapping Vehicle with 10 cameras 3D feature points clouds Geo-referenced by reference to ground control
points Gravity vector g || z-axis x, y, z in meters
8
Different cameras
9
Point cloud of Sint-Truiden
10
Close-up
11
Preprocessing
Feature points located at great distances from the cameras have a low precision
They create noise with respect to other points When only the correct points are retained, there
are not enough of them to provide proof for possible models
Remove the feature points if distance > 20 m
12
13
14
Split data up into voxels
No relation between feature points at a certain distance from each other
Easier to access & analyse the data Voxel size has the same order of magnitude as
the minimal size of the structures we want to find in the first steps (In the first steps we want to locate the ground and the facades without the door and windows structures).
15
16
Fit ground level
Assumption: visual point with the smallest z-value = point on the ground plane
If (lowest point ≠ ground plane) then Point is an outlier There are no feature points on the ground plane
Carry out a median filtering to correct errors (lowest point ≠ ground plane)
17
Fit ground level
18
Fit wall planes
Assumption: Walls // z-axis Remove ground points
Find median point (xm,y
m) in each voxel
Give each point a gaussian weight with μ= ||pi-m|| and σ = 1 meter
Weighted Singular Value Decomposition (SVD) on each voxel
19
Fit wall planes
Problems: Corner (two walls coming together) No walls
Plane-shaped objects like cars, vans, fences, . . . Street furniture: trees, (traffic) lights, traffic signs, . . .
20
Fit wall planes
Solutions: The separate walls of a corner are found by looking at
the walls in the neighboring voxels Errors caused by plane-shaped objects will be
removed by projecting the images on the planes or by using car-detectors, ...
The singular values give us an idea of how plane – alike a given point cloud is
Results with S1/S
2 < thresholds are
removed
21
Fit wall planes
Facade planes <-> all other objects No feature points behind the facade plane Count all points after a plane If (#points ~ 0) -> facade plane
22
Fit wall planes
23
Fit wall planes
24
Textured model
25
Textured model
26
Textured model
27
Textured model
32
Future work
Join facade planes to a 3D shape Find smaller 3D structures like doors & windows Find description/model based on rules Perform in-painting of hidden structures based on
the resulting model and the images . . .