58
Challenge the future Delft University of Technology The Validation and Repair of CityGML Building Models Junqiao (John) Zhao GIS technology, OTB, Faculty of Architecture and The Built Environment, TUDelft 3 DEC 2013

Challenge the future Delft University of Technology The Validation and Repair of CityGML Building Models Junqiao (John) Zhao GIS technology, OTB, Faculty

Embed Size (px)

Citation preview

Challenge the future

DelftUniversity ofTechnology

The Validation and Repair of CityGML Building Models

Junqiao (John) Zhao

GIS technology, OTB, Faculty of Architecture and The Built

Environment, TUDelft

3 DEC 2013

2

Research motivation

• Visually satisfied model are not always usable• Many applications assume the 3D model free of

defects, especially those involved in geometric processing e.g. Analysis, Generalization etc.

Looks good != Is good

• Complexity of repair task is often underestimated (Campen et al.,

2012)

Estimated

Reality

3

Errors found in CityGML models

4

3D Validator

• Initiated in 3D Pilot Phase 2• Hugo Ledoux (Val3dity)

• Jan kooijman (CityGML2Poly)

• Val3dity• Improved several algorithms

• Normal calculation

• Inside-out detection (with Sjors)

• Output the visible erroneous map

• Validate 3D BGT (with Sander)

• CityGML2Poly – CityGML2SPoly• Support semantics

• Correct the work flow of geometry extraction (multisurface and solids)

• Optimization of the data structure

val3dityValidation of solids according to the international standard ISO 19107

5

Examples of the validation of CityGML datasets

• Berlin_Alexanderplatz_v1.0.0• Total buildings: 1123

• Invalid buildings: 229

• Type of errors: Hole, Intersection, Floating faces

6

Examples of the validation of CityGML datasets

• FZK-Haus_LoD4_SpaceSolid• Total buildings: 1

• Invalid buildings: 1

• Type of errors: Dangling faces (200)

7

Examples of the validation of CityGML datasets

• Rotterdam 3D - Nesselande• Total buildings: 4740

• Invalid buildings: 4276

• Type of errors: Non-planar polygon, Hole, Floating faces, Intersection

8

9

For more datasets

• An online validation tool

• Integrated with 3DCityDB?

10

Repair - why a framework is needed?

What are the proper criteria for validity of CityGML models?

How to repair the errors accordingly?

11

Quality requirement

Visualization• VR, Navigation,

Planning

Measurement• 3D maps,

CADASTRE

Analysis• Simulation,

Indoor, CFD

No strict requirement

Require valid geometry

Require valid geometry and

topological structure

12

Problems

• Criteria of quality are vague in standards• CityGML• CompositeSurfaces and Shells are represented

by Multi-Surfaces

• ISO 19107• A simple geometric primitive can be invalid

Multi-surface

13

The definition of validity

• For representing purpose

• Simple: geometric object that its interior is isotropic, and hence everywhere locally isomorphic to an open subset of a Euclidean coordinate space of the appropriate dimension (ISO19107)

• For analytical applications

• 2-manifold: a topological space in which each point has a neighbourhood that is homeomorphic to the Euclidean space of dimension two

14

2-Manifold: YESSimple: YES

2-Manifold: YESSimple: YES

2-Manifold: NOSimple: YES

2-Manifold: NOSimple: NO

2-Manifold: YESSimple: YES

Invalid and valid geometry

• Surfaces, CompositeSurfaces, MultiSurfaces

2-Manifold: NOSimple: YES

2-Manifold: NOSimple: YES

2-Manifold: NOSimple: YES

2-Manifold: NOSimple: NO

2-Manifold: NOSimple: YES

15

Invalid and valid geometry

• Solids, CompositeSolids, MultiSolids

2-Manifold: NOSimple: YES

2-Manifold: NO Simple: YES

2-Manifold: NOSimple: YES

2-Manifold: YESSimple: YES

2-Manifold: NOSimple: YES

2-Manifold: NOSimple: YES

16

The definition of validity

• Should all valid CityGML models be 2-manifold?

• Enforcing 2-manifold is restrictive for representing purpose•Complex implies relations like connection, adjacency

17

Aggregate model Aggregate model

Component model

Component model

CityGML model

Component model

Component model

Building PartsBuilding Parts

Building Installations, RoomsBuilding Installations, Rooms

Validty criteria for CityGML geometry

• Suitable for analysis and retain the power of representing

Simple Complex

2-manifoldSurfaces or Solids

18

Recursive repair paradigm

Simple

Repair of component

models

Repair of aggregate

models

19

Repair operators

• Repair of component models• Goal: 2-manifold

• Operators for 2D surfaces• Splitting

• Separation

• Boolean operation

Splitting + Separation

Boolean

Boolean

20

Repair operators

• Repair of component models• Goal: 2-manifold

• Operators for 3D Solids• Separation

• Boolean

• Shell extraction (hole filling)

Separation

Boolean

Boolean + SeparationShell extraction

21

Repair operators

• Repair of aggregate models• Goal: simple

• Operators• Splitting

a) b) c)

d) e)

2D vs 2D

3D vs 3D

3D vs 2D

22

More than repair…

𝐆𝐌𝐀𝐠𝐠𝐫𝐞𝐠𝐚𝐭𝐞<𝐆𝐌𝐂𝐨𝐦𝐩𝐨𝐬𝐢𝐭𝐞≤𝐆𝐌𝐏𝐫𝐢𝐦𝐢𝐭𝐢𝐯𝐞

• Aggregate enhancement

MultiSurface

CompositeSurface

Surface

Shell SolidIf connected If closed convert

23

Repair of aggregate models

• Resolve intersection and degeneracies• Polygon tessellation

• Triangle intersection detection

• Triangle decomposition

• Merge of co-planer triangles

• Eliminate degeneracies

a) b) c) d)

24

Repair requirements for component models

•Geometry•Water-tight Simple shell (2-manifold)• Decompose intersecting parts

• Fill holes

• Remove the interior

• Semantics• Correct ID and ‘BoundedBy’ semantics• Preserve the correct input semantics

• Deduce the missing semantics

25

Mesh repair

• Local methods• Zip gaps

• Fill holes

• Etc.

•Global methods• Voxels

• Half-space partition

• Octree

• Etc.

(Barequet, 97)

(Oomes, 97)

26

Repair using shrink-wrapping

• Emulates the process where a membrane is shrunk and finally wrapped an object

Input Decomposition Tetrahedralization

Heuristic carving Watertight output

27

Video

• https://vimeo.com/80282908

28

Categorizing triangles

• Fixed triangle• Imported from the input

• Candidate triangle• Generated triangles that are

on the hull

• Candidate tetrahedron• A tetrahedron composed of

at least one candidate triangle

29

Carving operation

• Carve• Delete a candidate tetrahedron

• Tag all the non-fixed member triangles as candidates

• Keep • Tag all the member triangles as fixed

30

Topological constraints

• For facets (2-faces)

31

Topological constraints

• For edges (1-faces)

a) b) c) d)

32

Topological constraints

• For vertices (0-faces)

a)

d)

b)

e)

c)

f)

33

Geometric constraints

• The topological constraints treat every face equally, which exaggerates the influence of tiny error faces.

• The characteristics of the input model have to be preserved/deduced, such as filling holes.

34

Geometric constraints

• Bounded coplanar facets

a) b) c)

1

2

a) b) c)

1

2

35

Geometric constraints

•Discard ill-shaped facets• Judged by the area of a facet

• Preserve the interior tetrahedron• when the input geometry is correctly oriented

a) b) c)

1

2

a) b) c)

1

2

36

The proper carving order

• If errors are present on the exterior, the order is crucial

37

Heuristic carving

• Carve the “corner” first

• Carve the “better known” candidate first

• Carve “evenly”

•Heuristics

•Degree of Freedom (DoF)

•Carving profit (Cp)

•Distance from the center

Configuration DoF CP4C 0F 0 43C 1F 1 33C 0F 1 22C 2F 2 22C 1F 2 12C 0F 2 01C 3F 3 11C 2F 3 01C 1F 3 -11C 0F 3 -2

38

Semantics

Semantics of a face

Face decomposition

New face

Inherit the semantics

Deduce the semantics

Homogeneous neighboring

coplanar faces

Heterogeneousneighboring

coplanar faces

Transplant the semantics

Deduce the semantics based on

normal

No neighboring coplanar surfaces

Merge the faces with the same ID

Transplant the dominant semantics

39

Semantics

• Simple rules for LOD2 buildings

Normal direction SemanticsThreshold

(angle between Z)

UpwardRoof surface,

OuterFloor surface0 ~ 75 degree

Horizontal Wall surface 75 ~ 179 degree

DownwardGround surface,

OuterCeiling surface179-180 degree

40

Implementation

• CityGML2Poly• Geometry

• Semantics

•Decomposition• Triangle-triangle

overlap test [Moller, 97]

• Delaunay triangulation [Shewchuk, 97]

• Tetrahedralization• TetGen 1.5 [Si, 2013]

41

• Courtesy to Filip

42

43

Rotterdam CityGML model - WitteDorp

• Total buildings: 232

• Invalid buildings: 232

•Valid buildings after repair: 214 (92%)

44

Rotterdam CityGML model - WitteDorp

45

Rotterdam CityGML model - Nesselande

• Total buildings: 4740

• Invalid buildings: 4276

•Valid buildings after repair: 3972 (82%)

46

Rotterdam CityGML model - Nesselande

47

Discussion

• Valid solid Correct result

•Most of the result are properly repaired

48

Generalization using Shrink-wrapping

• Courtesy to Sjors

49

Repair and Generalization

50

With semantics

51

Summary

• A top-down repair method without introducing discretization artefacts

•Good constraints and heuristics are essential to make the smart decision during carving

• The validation result has not been used yet, which can provide guidance to the repair process

• Semantics are supported

• The repair task is always an ill-posed problem

52

Future work

• Integrate with 3D validator• Only repair invalid models

• Using the error information provided by 3D validator

• Build a repair framework• Repair solids

• then repair the complex

val3dityValidation of solids according to the international standard ISO 19107

53

Other activities

• Indoor routing based on weighted voxels (with Liu Liu)

Fly mode

Walk mode

56

Tackle slopes, elevators

• Adaptive voxels• Finer resolution around slopes

• Routing with multi-sized steps

• Voxels enriched by semantics•Weighting

57

Acknowledgement

58

I thank you for your attention!

•My new affiliation• Department of Computer Science and Technology,

Tongji University, Shanghai