You are on page 1of 33

ITU/FME

Faculty of Mechanical Engineering

Fixing Geometric Errors on Polygonal


Models: A Survey
Ju T., Journal of Computer Science and Technology, 24(1):19-29, January 2009

Cagatay GUVENTURK
Astronautical Engineering Department,
Faculty of Aeronautics and Astronautics,
Istanbul Technical University, 34469,
Maslak/Istanbul, TURKEY

ITU/FME
Faculty of Mechanical Engineering

Overview
Polygonal Models
1. Geometric Correctness
2. Topological Correctness
Model Repair Methods
3. Mesh Based Approaches
a. Gaps and Holes
b. Non-manifold Edges
c. Geometric Intersections
4. Volume Based Approaches
a. Models without Gaps or Holes
b. Models with Gaps or Holes
5. Mesh Based
Methods

Methods

vs

Volume

Based

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Polygonal Models
An approach for modeling objects by representing or approximating their
surfaces by using polygons
The simplest polygon in Euclidian space is a triangle
Todays graphics hardware is highly specialized in displaying polygons,
especially triangles, at interactive rates
The flexibility and simplicity of polygons greatly facilitate
Designing
Processing
Transmitting
Animating
with 3D objects
Should satisfy
Geometric correctness
Topological correctness
depending on the target application

Example of a triangle mesh representing a


dolphin www.wikipedia.com

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Geometric Correctness
Exterior surface
represented

of

3D

solid

should

be

The polygonal surfaces


Closed
Manifold
Free of self intersections
Gaps appear on the junction between multiple
polygonal patches that are created from different
sources
Holes are resulted from surface reconstruction
from insufficiently sampled data, such as
incomplete 3D scans
Non-manifold elements occur where there are
redundant membranes interior to the model
Self intersections occur as the result of a range of
surface reconstruction, conversion, or editing
procedures
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Geometric errors Attene M. et


al., (2013)
4

ITU/FME
Faculty of Mechanical Engineering

Topological Correctness
A geometrically correct polygonal model should
additionally
have the same topology as the solid it represents
Topological features, such as handles and
connected components, should be preserved

A topological artifact introduced by


surface
reconstruction
from
scattered
points

Ju T., (2009)

Topological noise arises when reconstructing a


surface starting from point clouds or when
extracting isosurfaces from 3D images
Tiny handles or tunnels, which were not
present in the original object, are introduced in
the constructed digital model due to aliasing
effects or noise in the discrete underlying data
Orientation is associated to the visibility of a face
A polygon is visible only when its bounding
vertices are ordered counter-clockwise (or
clockwise) with respect to the observers point
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Geometric errors Attene M. et


al., (2013)
5

ITU/FME
Faculty of Mechanical Engineering

Model Repair Methods


Broadly classified
genres
Mesh based
Volume based

into

two

Mesh based
Identifies and fixes errors
directly on the polygons
Volume based
Indirectly repairs the model
using
an
intermediate
volumetric grid

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

The
repair
algorithm
www.comsol.com

ITU/FME
Faculty of Mechanical Engineering

Mesh Based Approaches


Explicitly search for errors on the polygonal surface by examining the locations
of vertices and how they are connected by polygons
Once found, the errors are fixed by performing surgeries on the input surface,
such as adding or removing vertices, modifying their locations, and modifying
the polygon connectivity

Left and middle left: The Happy Buddha model contains more than 100 handles. Middle right: A nonseparating closed cycle along a handle. Right: The handle was removed by cutting along the nonseparating cycle and closing the holes with triangle patches Botsch M. et. al., (2006)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes


Detecting
Trace edges contained in only one polygon
Almost all hole-filling algorithms require that the
traced boundary edges form closed boundary
loops, each loop enclosing a hole
User-interactions have also been used for locating
holes (e.g., an outer boundary with several
interior islands)

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Hole
(2009)

Ju

T.,

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Filling Gaps
Typically narrow bands of spaces
between neighboring polygons
Two approaches
Stitching the two sides of a gap
with a triangle strip
Merging the corresponding vertices

Rotating (R), translating (t) and stitching the


two meshes Brando S. et. al., (2012)

Stitching
Finding the triangle strip that
minimizes a global function (such
as total edge lengths)

Transformation (T) and stitching line B Lifeng Z. et.


al., (2009)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Filling Gaps (continued)
Merging
[Borodin P. et. al. - 2002]
Reading the mesh
Identification of boundaries
Identification of corresponding vertex-vertex and vertex-edge pairs
The nearest boundary edge that is non-incident to the vertex is found for
all boundary vertices
If an orthogonal projection of the examined vertex onto the
corresponding nearest edge is possible, the edge is stored as the paired
feature; otherwise, the nearest vertex of the edge is stored

Ordering of the pairs


For each feature pair the distance between
the features is computed as an error
measure

The
dashed
arrows
indicate
the
correspondences. Note that some arrows point
along an edge, which possibly implies an edge
contraction Borodin P. et. al., (2002)
10
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Filling Holes
Larger areas
Usually cannot be filled with a satisfactory look
using a simple triangle strip or by merging
boundary vertices
Once a closed boundary loop is identified, the
bounded hole is typically filled by a 3D
triangulation of the loop
Heuristic searches have been developed that
incrementally triangulate the loop guided by
Minimal areas
Minimal distances
Angle measures

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Minimum area triangulation of a


hole Barequet G. et. al., (1995)

11

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Filling Holes (continued)
More recent hole-filling methods focus on the
appearance of the fill naive triangulation of the
hole may not appear smooth with its immediate
surroundings
To

achieve smoothness
Progress has been made in two main directions
An initial triangulation is constructed
Improved in a post-processing step using
various geometry fairing techniques

Fairing techniques minimize


Laplacian variation
Normal variation
Curvature variation
Thin plate energy
Willmore energy
for G1 (or higher) continuity at the hole boundary
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

(a) Stanford bunny (b) Mutilated


Stanford bunny (c) After hole
triangulation (d) After meshing and
fairing Liepa P., (2003)
12

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Continuity
Continuity is the term used to describe how surface patches meet

A
fillet
blend
www.aliasworkbench.com

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

13

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Continuity (continued)

Continuity is achieved by controlling the CVs at the edge of the aligned curve or surface. A higher
continuity level requires more CVs to be aligned www.aliasworkbench.com
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

14

ITU/FME
Faculty of Mechanical Engineering

Gaps and Holes (continued)


Filling Holes (continued)
If a hole covers an area where there is interesting geometric details (e.g.,
texture), a hole-filling patch
Smooth-looking
Recovering features
Recovering lost geometric
features
Example based methods
Example based methods
From the input model
itself
From
some
existing
models

Recovering
missing
geometry using examples
on the same model Sharf
A. et. al., (2004)

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Recovering
missing
geometry using another
example model Kraevoy
V. et. al., (2005)
15

ITU/FME
Faculty of Mechanical Engineering

Non-manifold Edges
The input model may contain
non-manifold polygonal edges
shared by more than two
polygons
There are two ways to handle it
Separate the models into
manifold patches possibly with
boundaries

Eliminate the membranes by


representing them as doublesided walls and removing
overlapping polygons

Converting a non-manifold surface to a manifold surface. A,


B, C: Cutting through singular edges: For illustrative
purposes, topologically disconnected vertices are shown
physically apart. Two stitching strategies: "pinching" edges
along the same boundary (D) or "snapping" together edges
belonging to different boundaries (E) Guziec A. et. al.,
16
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Geometric Intersections
The most challenging type of errors
Difficult to reliably detect intersections
Can be generated as the result of other mesh-repair operations, particularly
hole-filling
The problem becomes more tractable if the locations of the intersections are
known
Zippering method [Turk and Levoy
- 1994]
Remove overlapping portions
of the meshes
Clip one mesh against another
Remove the small triangles
introduced during clipping
Mesh A is clipped against the boundary of mesh B. Circles (left)
show intersection between edges of A and Bs boundary.
Portions of triangles from A are discarded (middle) and then
both meshes incorporate the points of intersection (right) Turk
G. et. al., (1994)
17
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

ITU/FME
Faculty of Mechanical Engineering

Volume Based Approaches


The input polygonal model is first converted into
an intermediate volumetric grid, where each grid
point is associated with a positive or negative sign
indicating whether it is inside or outside the
model. Next, a polygonal surface is reconstructed
that separates the grid points of different signs
Main benefit
Methods already exist for reconstructing a
geometrically correct surface from a signed
grid, a procedure known as contouring or isosurfacing and studied extensively in the
visualization community
Sign generation via

The flow diagram of volume-based


repair Ju T., (2009)

the dual
surface:
(a) the input model with an
open
top
(b) edges intersected with the
model and the corresponding
dual
surface
(c)
(boundary
edges
are
highlighted), the patched dual
surface with corresponding
intersection
edges
(d) the repaired model based
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

18

ITU/FME
Faculty of Mechanical Engineering

Volume Based Approaches (continued)


Marching Cubes algorithm
Extracts a closed, manifold and
intersection-free
triangulated
surface
from
any
signed
uniform cubic grid by placing
vertices on the grid edges and
triangulating interior to each
cubic cells
Marked and unmarked grid
points
28 = 256 possibilities
Due to symmetry 128 pos.
Dual
Equivalence
methods due to rotations
pos.
15
SurfaceNet
Dual Contouring

Configurations Nielson G. M. et.


al., (1991)

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

19

ITU/FME
Faculty of Mechanical Engineering

Models without Gaps or Holes


Exhibiting other types of errors
The geometry still partitions the entire space into disjoint regions
A number of methods therefore proceed by labelling these regions as either
inside or outside via a connected-component search
Two flooding approaches
[Oomes S. et. al. - 1997] first discretizes the
polygons onto a uniform grid as a set of object
grid points and then identifies the inside
region bounded by these points by flooding
outward from a seed point interior to the
model

[Andjar C. et. al. - 2002] discretizes the


polygons onto an adaptive octree grid and
then identifies the outside region by flooding
inward from an outside bounding box

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Algorithm overview. From left to right:


original polyhedron, multiresolution of
octrees (some front GREY nodes have
been culled to keep BLACK nodes visible),
reconstructed
models
and
final
multiresolution Andjar C. et. al., (2002)
20

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes


More challenging for sign generation
Flooding approach would fail to separate
the inside of the model from the outside
Two categories
Orientation-independent methods
Orientation-dependent methods

Repair
polygon
soups using an
orientationindependent
method Ju T.,
(2004)

Orientation-independent methods are


more suitable for repairing polygon soups
Orientation-dependent methods tend to
produce
better-looking
hole-filling
geometry when the polygons are
consistently orientated
Fill holes (an incomplete
ellipsoid) by fitting local
quadrics
to
the
signed
distances Masuda T. et. al.,
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

Fill holes by propagating


signed
distances
using
volumetric diffusion Davis J.
et. al., (2002)
21

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Orientation-independent Methods
Rely solely on the location and connectivity of the vertices in the input model
Two categories
Global
Local
Global methods
Determine the sign at each grid point by tests involving the whole model or
optimization on the whole grid

[Nooruddin and Turk - 2003] determined the sign at a grid point by ray
stabbing and voting. The parity of the number of intersections between a ray
and the model contributes one vote to the inside or outside classification of a
point, and multiple rays are shot from each grid point to make the final
decision (parity counting: odd numbers inside, even numbers outside)

Drawback: Ray stabbing is a global operation, and a local surface error may
cause a distant part of the space to be incorrectly signed

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

22

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Noouriddin and Turks Method 2D Parity Count on Watertight
Shape

Scan Converting a closed model using the parity count method. The black dots represent
voxels that are inside the model. The blue circles show where the scanlines intersect the
model Nooruddin F. S. and Turk G., (2003)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

23

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Noouriddin and Turks Method Dealing with Cracks / Holes

Scan Converting a model with a hole . The grey dots represents voxels for which whether they
are inside or outside the model is not known. Scan converting from multiple directions solves
this problem Nooruddin F. S. and Turk G., (2003)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

24

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Noouriddin and Turks Method Limitations of Parity Counting

(Unable to handle overlaps) Scan Converting


(Unable to handle thin walls) Scan Converting
a model with intersecting parts using parity
a doublewalled model using parity count.
count. This is another instance where ray
This shows why some models require the ray
stabbing yields better results Nooruddin F. S.
stabbing method Nooruddin F. S. and Turk
and Turk G.,
(2003)
Fixing Geometric
Errors
on Polygonal Models: A Survey, January
2009
G., (2003)

25

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Orientation-independent Methods (continued)
Local methods
Modify a small region on the grid (typically where the gaps and holes are) so
that an inside and outside partitioning is well-defined on the rest of the grid

[Ju T. - 2004] and [Bischoff S. et. al. - 2005] explicitly identify and patch hole
boundaries on the grid

[Bischoff S. et. al. - 2005] performed morphological erosion and dilation from
hole boundary cells to generate a plausible partitioning

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

26

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Bischoff S. et. al.s Method

Hole-fixing by morphological operations. (a) First the boundary cells are dilated (magenta) into the
empty cells (green). (b) Next outside component (blue) is determined. (c) The outside component is
dilated back into the already dilated cells (magenta). (d) The result is a clean separation of outside (blue)
and inside cells (white) from which the surface topology of the output mesh is deduced Bischoff S. et.
al., (2005)

Left: Adaptive octree, boundary cells are marked red. Center left: Dilated boundary (green) and outside
component (orange). Center right: Outside component dilated back into the boundary cells. Right: Final
reconstruction Botsch M. et. al., (2006)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

27

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Orientation-dependent Methods
Make use of the signed distances from a grid point to the oriented polygons
Two categories
Classification-based
Propagation-based
Classification based methods
The sign at each grid point is determined from signed distances to multiple
polygons or in multiple scan directions by interpolation, consensus voting,
and Bayesian classification
Propagation-based methods
[Davis J. et al. - 2002] introduced a physically-based propagation algorithm
that simulates heat diffusion, which yields hole-filling geometry that
naturally extends the nearby geometry
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

28

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Davis J. et. al.s Method

Illustration of 2D diffusion in progress. (a) The source term; (b) the two surfaces are extended; (c) the
surfaces begin to interact; (d) the hole closes; (e) the shape is converged. Brown denotes unknown areas
(v = 0); grayscale values encode signed distance, with black and white corresponding to outside (d =
1) and inside (d = 1) respectively. The red curve marks the zero set Davis J. et. al., (2002)

Examples of diffusion in 2D. Above: source term; below: diffusion result with zero set marked in red. (a) A
double step discontinuity that is filled as two separate steps; (b) a narrower double step that results in
the topological decision to build a bridge across the pit. (c) The common case in which the bottom of a
depression is missed; (d) a flat surface with several holes Davis J. et. al., (2002)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

29

ITU/FME
Faculty of Mechanical Engineering

Models with Gaps or Holes (continued)


Davis J. et. al.s Method (continued)

Volumetric diffusion applied to a larger dataset. The volume contained 440 million voxels, and the output
triangle mesh contained 4.5 million triangles. Processing time for diffusion on a 1 GHz Pentium III PC was
20 minutes; the maximum memory allocated was 550 MB. The number of voxels touched during the
diffusion was 4.5% of the total; the number of blocks allocated was 11.5% of the total Davis J. et. al.,
(2002)
Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

30

ITU/FME
Faculty of Mechanical Engineering

Mesh Based Methods vs Volume Based Methods


Mesh Based Methods
Pros
Most successful in
Repairing models where a small portion of the surface is contaminated with
errors
Filling holes with relatively simple, identifiable boundaries
The appearance of the hole-filling geometry can be quite appealing (geometric
fairing and example-based techniques)
Repair does not affect regions on the model away from the error sites
Cons
Lack of robustness
Geometric intersections (especially those caused by the repair operations, such
as hole-filling) are difficult to prevent, detect, or repair

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

31

ITU/FME
Faculty of Mechanical Engineering

Mesh Based Methods vs Volume Based Methods


Volume Based Methods
Pros
Excel in robustness in resolving various types of geometric errors (including
self-intersections)
The use of adaptive grids, such as octrees, further allows these methods to
process models at high resolutions with small memory footprint and fast spatial
queries, which are needed for repairing large models reconstructed from 3D
scans
Cons
Loss of geometric details of the original model (not only at the error sites)
resulted from reconstructing the entire surface from an intermediate volume

Marching Cubes algorithm for reconstruction, which generates a blobby


surface that loses the sharp corners and edges on the input model

Feature-preserving contouring algorithms, such as Extended Marching Cubes


and Dual Contouring, have been proposed and used in recent repair methods
they still cannot exactly reproduce all geometric features

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

32

ITU/FME
Faculty of Mechanical Engineering

Thanks for your attention

Any Questions?

Fixing Geometric Errors on Polygonal Models: A Survey, January 2009

33

You might also like