9
Topological Noise Removal Igor Guskov Zo¨ e J. Wood Caltech Abstract Meshes obtained from laser scanner data often contain topological noise due to inaccuracies in the scanning and merging process. This topological noise complicates sub- sequent operations such as remeshing, parameterization and smoothing. We introduce an approach that removes unnecessary nontrivial topology from meshes. Using a local wave front traversal, we discover the local topolo- gies of the mesh and identify features such as small tun- nels. We then identify non-separating cuts along which we cut and seal the mesh, reducing the genus and thus the topological complexity of the mesh. Key words: Meshes, irregular connectivity, topology. 1 Introduction Acquisition of computer models with highly detailed ge- ometry is currently practical due to developments in laser range finder technology. Huge volumes of geometric data are routinely acquired and used in design, manufac- turing, and entertainment. Raw irregular meshes com- ing from model acquisition contain millions of triangles, and require efficient processing tools. Such data is typ- ically converted into a more efficient and “regular” rep- resentation such as NURBS or other spline/subdivision- based multiresolution surface representations. This pro- cess is called remeshing in the graphics literature [22][18] [21][25][24]. Several remeshing methods use simplifica- tion hierarchies of the initial irregular mesh in order to build efficient computational procedures. However, raw irregular meshes extracted from noisy volumetric data of- ten have small tunnels and handles: artifacts of the acqui- sition process. We present an algorithm to eliminate such topological “noise”, greatly improving the construction of the simplification hierarchy and thus in turn, improv- ing the final remeshed model. Scanned geometry can easily contain millions of data points, therefore the manual removal of artifacts is a te- dious and time-consuming task; we would like to auto- mate this process as much as possible. However, scanned models, such as mechanical parts, potentially have impor- tant non-trivial topology (holes, handles, tunnels, etc.). One therefore needs a clear criteria to discern which tun- nels can be safely removed algorithmically. The contri- bution of this paper is to introduce a simple criteria for identifying topological noise, and a fast algorithm that finds small tunnels in the data, and removes them one by one. The user can control criteria to help determine which tunnels are noise and which are inherent to the model. In addition, we show that the performance of the naive im- plementation of our topology filtering algorithm can be significantly improved by a preprocessing step. Figure 1: Scanned meshes from Stanford 3D model repos- itory [26]. All three meshes are valid 2-manifolds: the Buddha has genus 104, the dragon has genus 46, and David’s head has genus 340. Most of these tun- nels/handles are noise and can be safely removed. To demonstrate our approach we apply our technique to a variety of the Stanford laser range finder datasets. For example, we consider the dataset of the David’s head from Stanford’s Michelangelo project [26]. The origi- nal irregular mesh has genus 340. Obviously, none of these 340 tiny tunnels are actually present in the original

Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

Topological Noise Removal

Igor Guskov Zoe J. Wood

Caltech

AbstractMeshes obtained from laser scanner data often contain

topological noise due to inaccuracies in the scanning andmerging process. This topological noise complicates sub-sequent operations such as remeshing, parameterizationand smoothing. We introduce an approach that removesunnecessary nontrivial topology from meshes. Using alocal wave front traversal, we discover the local topolo-gies of the mesh and identify features such as small tun-nels. We then identify non-separating cuts along whichwe cut and seal the mesh, reducing the genus and thusthe topological complexity of the mesh.

Key words: Meshes, irregular connectivity, topology.

1 Introduction

Acquisition of computer models with highly detailed ge-ometry is currently practical due to developments in laserrange finder technology. Huge volumes of geometricdata are routinely acquired and used in design, manufac-turing, and entertainment. Raw irregular meshes com-ing from model acquisition contain millions of triangles,and require efficient processing tools. Such data is typ-ically converted into a more efficient and “regular” rep-resentation such as NURBS or other spline/subdivision-based multiresolution surface representations. This pro-cess is called remeshing in the graphics literature [22][18][21][25][24]. Several remeshing methods use simplifica-tion hierarchies of the initial irregular mesh in order tobuild efficient computational procedures. However, rawirregular meshes extracted from noisy volumetric data of-ten have small tunnels and handles: artifacts of the acqui-sition process. We present an algorithm to eliminate suchtopological “noise”, greatly improving the constructionof the simplification hierarchy and thus in turn, improv-ing the final remeshed model.

Scanned geometry can easily contain millions of datapoints, therefore the manual removal of artifacts is a te-dious and time-consuming task; we would like to auto-mate this process as much as possible. However, scannedmodels, such as mechanical parts, potentially have impor-tant non-trivial topology (holes, handles, tunnels, etc.).One therefore needs a clear criteria to discern which tun-nels can be safely removed algorithmically. The contri-bution of this paper is to introduce a simple criteria for

identifying topological noise, and a fast algorithm thatfinds small tunnels in the data, and removes them one byone. The user can control criteria to help determine whichtunnels are noise and which are inherent to the model. Inaddition, we show that the performance of the naive im-plementation of our topology filtering algorithm can besignificantly improved by a preprocessing step.

Figure 1: Scanned meshes from Stanford 3D model repos-itory [26]. All three meshes are valid 2-manifolds:the Buddha has genus 104, the dragon has genus 46,and David’s head has genus 340. Most of these tun-nels/handles are noise and can be safely removed.

To demonstrate our approach we apply our techniqueto a variety of the Stanford laser range finder datasets.For example, we consider the dataset of the David’s headfrom Stanford’s Michelangelo project [26]. The origi-nal irregular mesh has genus 340. Obviously, none ofthese 340 tiny tunnels are actually present in the original

Page 2: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

sculpture, therefore all these tunnels (or handles) can beremoved to facilitate further processing tasks. An irreg-ular mesh of David’s head containing more than a mil-lion triangles is processed by our algorithm in one hour,removing 313 (92%) of the tunnels automatically. Thealgorithm can also be run in an interactive mode leavingthe decision to remove bigger handles to a user. Completefiltering can also be made efficient using a combined fil-tering and simplification approach (see section 3 for moredetails).

1.1 SettingThe main application of our method is the processing ofmeshes coming from 3D model acquisition such as laserscanning. During acquisition, a complex model is oftenbuilt from several scans. Each scanning pass producesa grid of points in space possibly with holes. A num-ber of popular mesh reconstruction methods [9][31] [19]combine several range maps using an auxiliary volumet-ric representation: a signed distance volume constructedfrom a collection of scans. An isosurface is then extractedusing the Marching Cubes algorithm [27]. The result isan irregular mesh that is a proper manifold with bound-ary. The data coming from the scanner can be noisy andincomplete, hence the noise in the signed distance vol-ume.

While the manifold property of the extracted surfacecan be guaranteed with small modifications to the originalMarching Cubes algorithm[23], we observe that for noisydata it still produces topological artifacts such as tiny han-dles. It is often important to remove these handles so thatthey do not encumber later processing, such as simplifi-cation [20], smoothing, denoising [10], and remeshing.Figure 8 shows the result of applying a smoothing proce-dure to a mesh with handles. While most of the surfacegets smoother, the areas containing handles have visibleartifacts.

The effect of small handles on simplification algo-rithms requires a more careful explanation. One can dis-tinguish two classes of simplification procedures: the al-gorithms of the first class assume that the original mesh isa proper manifold with a boundary and preserve the genusof the surface for each simplification step. Such simpli-fication is often used as an integral part of some largermultiresolution processing procedure that may rely on thetopological equivalence of meshes on different levels ofthe hierarchy [25][8][17] [35][18]. This kind of simpli-fication algorithm will clearly benefit from topologicalnoise removal – we show several examples of such im-provements in Section 3. The simplification algorithmsof the second class (e.g. [15]) do not assume the mani-fold property and will therefore simplify the given mesh(or polygon/edge soup, or simplicial complex[30]) with-

out noticing small tunnels and handles. However, thesealgorithms are useful only for simplification per se, anddespite starting with a proper manifold they cannot guar-antee that the manifold property will be maintained forcoarser levels of the hierarchy.

1.2 Related workA variety of researchers have relied on coding or match-ing the topology of a given mesh to a new configura-tion [29][3][4]. Most recently a lot of attention has beendirected towards general simplicial complexes. Specif-ically, the problem of preserving the topology of sim-plicial complexes while applying edge contractions wasconsidered by Dey et al [34]. The recent paper by Edels-brunner et al.[11] considers topological simplification inthe context of alpha complexes. It is worth noting thattopological simplification of simplicial complexes in R3

is a much harder and less intuitive problem than the onewe consider.

El-Sana and Varshney [12][13] address a similar prob-lem of controlled topology simplification for polygonalmodels. Their approach identifies removable tunnels byrolling a sphere of small radius over the object and fill-ing the tunnels that are not accessible. The method per-forms well for mechanical CAD models. The interactionbetween mesh and topology simplification is also consid-ered. Our approach is different in that it identifies tunnelsby working within the surface, and thus can be applied toself-intersecting meshes as long as they are topologically2-manifolds. Also, the focus of our work is to identifyvery small tunnels in noisy meshes.

Work has been done by Stander et al [33] on using crit-ical points from Morse theory to guarantee the topologyof the polygonization of an implicit surface. It is diffi-cult to generalize this work to the irregular mesh settingwithout becoming computational intensive (see [6] fora potential solution). We focus on discrete methods thatcan rapidly discover the topology.

Recent work by Wood et al [37] presented an algo-rithm to quickly identify and reconstruct the topologyof a surface implicitly represented in a volume. Thiswork uses a wave front traversal in order to identify theglobal topology of the surface. The algorithm presentedhere has similarities but is generalized to the mesh settingwith optimizations to discover small local topology andwith optimizations to identify topological events. Thiswork is closely related to work done by Axen [7] whichrelates a discrete wavefront traversal and critical pointsfrom Morse theory.

It is worth noting that there is another way to poten-tially “filter” or smooth the noisy topology of scanneddata by smoothing/down-sampling the initial volumedata. Although this approach may remove many of the

Page 3: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

small tunnels present in the data, it will do so in an un-controlled manner and will potentially wipe out other fea-tures of the model (thin tubes and connected componentscould be broken apart and the finer detailed geometry willdisappear). Recent work by Gerstner and Pajarola [16]on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently this work offers no methodto distinguish important topology inherent to the model(such as a large handle) and small tunnels.

Finally, a great deal of work has been focused on sim-plifying meshes in general. Work by both Popovic andHoppe [30] and Garland and Heckbert [15] could be ap-plied to simplify “away” the small noisy tunnels presentin the scanned meshes. However, in our work we seekmore explicit topology changes that can be potentiallyadapted in a multiresolution processing algorithms suchas MAPS [25].

1.3 Overview of the algorithm

(a)

(e)(d)

(c)(b)

(f)

Figure 2: (a-e) Overview of the algorithm: (a) a smallregion is grown around a seed face; (b) the genus of thegrown region becomes non-zero; (c) a non-separating cutis found; (d) the mesh is cut; (e) both new holes aresealed. (f) The left handle is “fully inside” a ball of asmall radius; the right handle is not. Note that both han-dles could be eliminated by short cuts. Our algorithmwill only remove the left handle. (Formally, the left high-lighted region is of genus one, while the right highlightedregion is of genus zero.)

We follow an approach similar to the ones presentedin Wood et al. [37] and Axen et al.[7]. We grow anopen region by adding faces one by one, while explicitlymaintaining the active front edges. Every time a bound-ary component of the growing region touches itself alongan edge, we split this boundary into two smaller bound-ary fronts and continue propagation. This results in atree of active front components. Whenever boundaries oftwo different components touch along an edge, we claimto have found a handle. There are two stopping criteriafor our region growing procedure – we either exhaust allthe faces that are closer than some given radius from theseed face, or we actually find a handle in which case thegrowing stops and the mesh is cut along a non-separatingcurve. This operation does not change the connectedness

of the surface but does reduce its genus introducing twonew holes (boundaries), which are later triangulated us-ing methods described in [32][25], or commercial pack-ages [1][2]. (Figure 2 illustrates this process.) In thisway, we remove the small handles one by one, filteringthe local topology of the mesh.

2 Algorithm

We consider a triangular mesh M = (K,x) whereK = V ∪ E ∪ F is an abstract simplicial complex rep-resenting the connectivity of the mesh (V , E , and F aresets of vertices, edges, and faces, correspondingly), andx : V → R3 is the coordinate function that gives thecoordinates of every vertex of V . x can be extended tothe polytope |K| ofK using barycentric coordinates [28].In this paper the focus is on meshes extracted as isosur-faces of certain volumetric functions, and therefore, suchmeshes are guaranteed to be oriented manifolds. Thus,all meshes considered in this paper are presumed to beoriented manifolds with boundary. Topology of such sur-faces is easily characterized by their genus.

2.1 m-Closures

Our interest lies in finding “small” tunnels in the mesh,where the “smallness” will be defined later. Thus, weneed to characterize topological properties of local re-gions of the mesh. For example, given a collection offaces T = {t1, t2, . . . , tk}we would like to explore topo-logical properties of the surface region defined by thisset of faces. One way to approach this characterizationwould be to find the closure T inK, and look at its proper-ties. Note that the closure T for arbitrary T may not havethe manifold property anymore, see Figure 3 for example.It is in fact a subcomplex ofK and can be characterized asa general 2-complex, see [36]. However, that characteri-zation is far too general for our purposes here. We there-fore introduce a different “closure” operation that for amesh region builds a corresponding mesh that is a man-ifold with boundary, and as such can be easily describedby its genus. We call this operation manifold closure orsimply m-closure, defined as follows.

First, note that Figure 3 represents the only way that Tcan be non-manifold. Moreover, it can be fixed with thefollowing procedure (see Figure 3 for an illustration): forevery non-manifold vertex v ∈ T its star neighborhoodin T can be written as union of a number of semi-starsH(i)v : StT v =

⋃Nvi=1H

(i)v , where

⋂Nvi=1H

(i)v = {v},

and each semi-star is of the form: H(i)v =

{{v} , {v, u0} , {v, u0, u1} , . . . , {v, uk−1, uk} , {v, uk}}.We define the m-closure of T inK as the mesh obtained

from T by splitting every non-manifold vertex v withNvadjacent semi-stars into Nv vertices v(1), . . . , v(Nv), andreplacing each occurrence of v in the simplices of StT v

Page 4: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

v

v (1)

v (3) v

(2)

Figure 3: Non-manifold closure (Nv = 3) is fixed by mak-ing three copies of the vertex v.

by the appropriate new vertex depending on which semi-star they belong to. We denote the resulting mesh as mT .Note that the interiors of m-closure and usual closure co-incide: int T = int mT .

2.2 Small tunnels

It is now necessary to define which tunnels need to beremoved. For that purpose, we consider the dual graph(F , E ′) of the mesh M where a dual edge (t1, t2) be-tween two faces of the mesh is in E ′ if t1 and t2 share a(primal) edge in the triangulation. If some non-negativeweight functionw is defined on E ′, we can now define thedistance d(s, t) between any two faces s and t as the min-imal sum of weights over all the paths in the dual graph.One easy example is given by settingw(e′) = 1 for everye′ ∈ E ′. It is also possible to make weights that would ap-proximate geodesic distances on a manifold. In this paperwe use w ≡ 1.

Now we can give the general principle that we use toremove small tunnels:

ε-simple meshesMeshM is ε-simple if for every face t ∈ F the m-closureof dual ε-ball m {s : d(s, t) < ε} is of genus zero.

Our goal therefore becomes to convert a given meshinto an ε-simple mesh. This can be done by findingclosed cuts that leave the mesh connected. Each such cutwill reduce the genus of the surface by one. In the fol-lowing sections, we introduce an algorithm to find suchnon-separating closed cuts (a cut is non-separating if itleaves the surface connected [5].) These cuts will befound inside the corresponding ε-balls; note however thatsuch short non-separating cuts can exist in meshes thatare ε-simple for small ε, such as the ones containing longnarrow handles, see Figure 2(f). However, it is not clearthat such long handles should be automatically removed.In our approach, we will only find cuts corresponding tohandles that are completely contained in small regions ofthe mesh.

2.3 Region growingIn this section we describe an algorithm that looks fortunnels in the neighborhood of a seed face. Later, in Sec-tion 2.6 we explain a global search for tunnels that willuse this local procedure as an elementary operation.

The local procedure starts with a seed face tseed ∈ F .The faces from the ε-ball around tseed are considered oneby one in the order produced by using Dijkstra’s algo-rithm on the dual graph. Thus, a sequence t1, t2, . . . , tkis constructed. We define the i-th active region asAi(tseed) := m {tseed, t1, . . . , ti} for i = 1, . . . , k. Al-gorithmically, the active region is grown one face at atime, while the explicit representation of active bound-aries is maintained. Every time a new face is added, wecheck the genus of the resulting active region. The pro-cess starts with one triangle which is obviously of genuszero. We then proceed either until all the faces of theε-ball are exhausted, or until we find that after the cur-rent triangle is added, the genus of the active region hasgrown. If the latter happens, the region growing stops anda non-separating closed cut is found inside the active re-gion. We then cut the mesh (possibly locally subdividingit), seal the two resulting holes, and start with the currentseed face again. Thus, the small tunnels in the mesh areextinguished one by one.

We now describe the particulars of maintaining the ac-tive region and tracking its genus.

2.4 Evolution of the active regionSuppose the active region A is given and another face tneeds to be added to it. By construction, A ∩ t containsan edge. The change of active region is performed usingthe following three operations: add-triangle, close-crack,and merge-edge1 . We describe these operations below inmore detail.

(a) (b) (c)Figure 4: (a) add-triangle operation; (b) close-crack op-eration; (c) merge-edge operation. Current mesh regionshown in gray, with its boundary in blue.

Add-triangleWe assume that the active region and the new incomingtriangle share at least one common edge. Then the add-triangle operation adds the triangle to the active region bymerging across a common edge. The resulting mesh hasone more face, two more edges, and one more vertex than

1Note that there is no need for a merge-vertex operation (when asingle vertex is adjacent to more than two boundary edges) due to m-closure.

Page 5: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

the original one (see Figure 4(a)). The number of bound-ary components does not change. Thus, the genus of thecorresponding mesh region does not change. Indeed,

χnew = Vnew −Enew + Fnew +Hnew= (Vold + 1)− (Eold + 2) + (Fold + 1) +Hold= χold.

Since the genus of the region is g = 1 − χ/2, andχ is unchanged, the genus of the current mesh region ispreserved during the add-triangle operation.

In order to find the non-intersecting cut later, each facestores a pointer to the face to which it was added. To setup the notation, let t be the new face and t′ ∈ A be a facefrom the active region that shared a common edge with t.We call t′ the parent of t, or t′ = parent(t).

Close-crackOnce the new triangle is added to the mesh we need to re-solve possible self-adjacencies along the boundary. Onelocal inconsistency is depicted in Figure 4(b). We fixthe boundary locally by eliminating two boundary edges.The resulting mesh has one less edge, and one less vertexthan the original one. The number of faces and bound-ary components does not change. Thus, the genus of thecorresponding mesh does not change. Again,

χnew = (Vold − 1)− (Eold − 1) + Fold +Hold= χold.

Merge-edgeThe last operation required to maintain a consistent activeregion is not local, in that it requires adjacency tests be-tween different parts of the boundaries, or even betweendifferent boundary components. Indeed, the close-crackoperation cannot resolve situations such as the one shownin Figure 4(c). Here two edges lying on two separatepieces of the boundary of the current region correspondto the same edge of the original mesh. We fix this in-consistency by merging the current region(s) across thisedge. As a result the number of boundary componentswill either increase by one (when the merged edges be-long to the same boundary component), or decrease byone (when two different boundary components becomeone). Note that these two cases closely correspond to thetopological events described in [37], when the active edgefront either splits into two when a handle in the surfaceis encountered, or when it merges back into a single frontat the other side of the handle. The merge-edge opera-tion results in one less edge and two less vertices for theactive region, and the number of faces does not change.Depending on the value of the change in the number ofboundary components we will encounter two cases:

(a) (b)Figure 5: Before and after merge-edge operation: (a)A boundary component splits; (b) two boundary com-ponents merge. Current mesh region shown in gray, itsboundary in blue, the unexplored region of the mesh is inyellow.

A boundary splits. Figure 5(a).

χnew = (Vold − 2)− (Eold − 1) + Fold + (Hold + 1)= χold.

Boundaries merge. Figure 5(b).

χnew = (Vold − 2)− (Eold − 1) + Fold + (Hold − 1)= χold − 2.

In this last case the genus of the active region increasesby one. When this final case is detected, we proceed byperforming a non-separating cut, thus reducing the genusby one.

2.5 Cutting the meshIn this section, we describe how a non-separating cut isfound inside the active region after a merge-edge oper-ation has merged two boundary components. Supposethat the two boundaries merged along the edge eM ={v(1), v(2)} = t(1) ∩ t(2). We build two sequences offaces, p(1) and p(2), defined as p(j) = (t(j)1 , . . . , t

(j)Kj),

where t(j)k+1 = parent(t(j)k ), j = 1, 2. Note that both of

these face paths end at the original seed face which has noparent. After excluding a common tail of these two pathswe have a closed path in the dual graph of the active re-gion. It is then possible to subdivide the faces on thisclosed path so that there is a closed cut along the edges ofthis locally subdivided mesh which does not intersect it-self, see Figure 6. Note that this path is completely insidethe interior of the current active mesh region.

We can also prove that this cut is non-separating, thatis, it leaves the active mesh region (and hence the meshitself) connected. In order to prove that we simply noticethat the two vertices v(1) and v(2) lie on the different sidesof the cut locally but we can reach v(2) from v(1) by fol-lowing the boundary of the current active region (we cando that because the cut is fully inside the active regionand thus does not touch the boundary). We also furtherreduce the length of the cut, by using reductions similarto the one shown in Figure 6. During these reductions wedo not allow faces t(1) and t(2) to disappear, therefore the

Page 6: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

tseed

t(1)

t(2)p(2)

p(1)

Figure 6: Cutting the mesh. Left: two paths in the dualgraph from the faces t(1) and t(2) to the seed face arefound by following the parent links. Note that the closedface path in the dual graph can be reduced as shown bythe black dashed line (two adjacent faces allow a shorterconnection rather than taking the longer path through thefirst common face of the paths p(1) and p(2)). Right: thenon-separating cut with the corresponding local mesh re-finement.

argument above still holds. We then seal these two newgaps in the mesh, and thus remove the handle.

The subdivision performed during the cut computationchanges distances in the dual graph. We fix this problemby assigning zero weights to the new edges introducedduring subdivision (of course, the dual edges correspond-ing to the edges in the cut itself simply disappear from thedual graph of the modified mesh.)

2.6 Global procedure and preprocessingIn the previous section we described a procedure thatgrows a mesh region of some radius ε > 0 centered ata seed face and removes all the tunnels that are discov-ered inside this mesh region one by one. We can runthis procedure starting from all the faces in the originalmesh. This will produce a mesh that is ε-simple. How-ever, as ε grows the running times of this naive algorithmbecome unacceptable. We propose a preprocessing stepthat excludes large portions of seed faces from the con-sideration. We rely on the following fact which is true ina metric space. Let BR(t0) be the closed ball of radius Rcentered at t0 (note that we measure the distances on thesurface, so in our case, a ball is a surface region.) Thenfor any t′ ∈ BR−ε(t0) the ball centered at t′ of radius εis contained in BR(t0), in fact, Bε(t′) ⊂ BR(t0). There-fore, in the preprocessing step we will be growing ballsuntil their genus changes, without any restriction on theirradius. Suppose that we have grown a mesh regionA thatincludes the ball BR(t0) for some R > ε, and the genusofA is zero. Then we can be assured that any subset ofAwill also be of genus zero, and since the balls of radius εcentered inside the smaller region BR−ε(t0) are subsetsof A, we can exclude them from the potential seed set.These large regions are seeded in the preprocessing step

at randomly chosen faces of the original mesh (in prac-tice, taking one percent of the original number of facesproduces good results). This procedure greatly reducesthe potential seed set for a given ε. For example, withoutpreprocessing, the algorithm takes 1147 seconds to per-form filtering with radius 3 on the David’s head model;while the improved procedure takes only 136 seconds.More performance numbers can be found in Table 1.

3 Results

We have implemented the algorithm described in the pre-ceding sections and performed various experiments re-ducing the topological noise for a number of meshes fromthe Stanford Archive [26]. We have found that mostof the models reconstructed using Curless and Levoy’sVRIP method [9] have topological artifacts. We noticedthat meshes that were more convoluted in shape typicallyhave more tiny tunnels than the simple shaped models. Inaddition, the presence of topological noise is more fre-quent in the higher resolution models. We have run ouralgorithm on models of different resolution with differ-ent threshold radius settings and recorded the number oftunnels removed and the algorithm’s running time. Theseresults are illustrated in Table 1.

(a) (b)Figure 7: (a) The model of David’s head is remeshedafter topological noise has been removed. (b) The earregion can be easily parameterized onto a square afterits topology has been filtered.

We have applied various mesh processing techniquesto meshes that have been topologically filtered usingour algorithm with encouraging results. In particular,we were able to apply the multiresolution remesher ofGuskov et al. [18] to the simplified genus zero mesh ofDavid’s head. The resulting remesh is shown in Figure 7.The base mesh for this remesh contains 262 triangles. Itwould be impossible to achieve such a small number ofpatches without first applying a topology filtering opera-tion to the original data (remember that the original meshhad 340 tunnels).

Page 7: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

(a)

(b)

(c)

(d)Figure 8: Smoothed version of David’s ear (a) and closeup view of the smoothed ear after topology filtering (b)and a close up of the artifacts that occur without filtering(flipped triangles) (c) and a detailed view of the tunnelscausing the artifacts (d).

Similarly, parameterization of mesh regions is a fun-damental part of many remeshing, texturing, and othermesh processing algorithms. The Figure 7 shows theparameterized mesh region of the David’s ear. The tex-ture coordinates are assigned with the (u, v)-coordinatescomputed with the shape-preserving parameterization ofFloater [14]. The original unfiltered region of this meshcontained twelve tunnels and could not be properly pa-rameterized onto the unit square. Our algorithm removesall of these tunnels in fifteen seconds, and produces amesh that is homeomorphic to a square, allowing it tobe parameterized.

Additionally, acquired meshes often contain geometricnoise, and have to be filtered with various mesh smooth-ing/noise removal techniques. In particular, we used themethod described in Desbrun et al. [10]. If the origi-nal mesh contains unnecessary non-trivial topological ar-tifact, the smoothing procedure typically results in a meshwith artifacts that foil its appearance (such as flipped tri-angles), as shown in Figure 8. This is due to the fact thatsmoothing operators cannot modify the topology of themesh, and the presence of these small handles impairsthe smoothing process by limiting its effects. Attemptsto smooth the region around small tunnels can poten-tially result in collapsing the tunnel, creating undesirabledegeneracies. Thus first removing the topological noisegreatly improves the performance of geometric noise re-moval procedures, as illustrated by Figure 8.

Finally, we have explored iterating between removingtopological noise and applying topology preserving mesh

1,088K facesgenus 104

1,088K facesgenus 33

178K facesgenus 33

178K facesgenus 15

54K facesgenus 15

54K facesgenus 11

16K facesgenus 11

16K facesgenus 7

4K facesgenus 7

Figure 9: Using both topology and geometry simplifica-tion on the Buddha mesh (see Table 9.) Note that all themeshes shown here are valid manifolds. The geometrysimplification was performed with Raindrop GeomagicStudio [1]

.

Page 8: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

Dataset Radius Removed Timehandles

David’s 4 55 10m 18shead I 6 191 17m 22s

4000K faces 8 241 35m 34sgenus 340 10 264 1h 24m 43s

12 283 3h 13m 30s

David’s 4 193 3m 1shead II 6 259 6m 1s

1173K faces 8 291 12m 53sgenus 340 10 301 27m 37s

12 313 56m 52s

David’s 4 286 1m 2shead III 6 317 1m 58s

184K faces 8 323 4m 27sgenus 340 10 326 9m 36s

12 330 19m 6s

David (complete 6 7 27m 3sstatue) 8 12 34m 4s

8254K faces 10 13 45m 11sgenus 20 12 14 57m 43s

Buddha 6 60 4m 16s1087K faces 8 71 10m 23sgenus 104 10 82 34m 24s

12 85 2h 43m 9s

Dragon 8 21 6m 4s870K faces 10 32 16m 59sgenus 46 12 35 53m 3s

St.Matthew 6 3 21m 19s3382K faces 12 4 29m 37s

genus 5

Table 1: Timings for topological noise removal are givenfor Pentium III Xeon 550 MHz.

Size(faces) Genus before Genus after Time

1087K 104 33 623s178K 33 15 94s54K 15 11 64s8K 11 7 32s

Table 2: Multiple resolutions processing of the Buddhamesh. Mesh simplification was used to reduce the facecount of the models between the topology filtering steps(see Figure 9.) Threshold radius was set to 8 for all runs.

simplification. Running these two processes alternativelydecreases the amount of time to discover all the smalltunnels on a given mesh. The results of such an itera-tion sequence are presented in Table 2 (the correspond-ing sequence of meshes is shown in Figure 9). It is clearthat if the topology simplification is used as a part of amultiresolution technique such as remeshing, this grad-ual approach would be preferable for efficiency reasons.We leave the complete exploration of these ideas as futurework.

4 Conclusions and future work

Topological noise is a serious problem for many scannedmodels. This noise results in visible artifacts when thesemeshes are smoothed, encumbers parameterization andhinders the performance of many multiresolution tech-niques. We have presented a simple criteria for identify-ing such topological noise and a computational procedurethat removes these topological artifacts. The algorithm isvery robust and is able to process extremely large meshes.

In this paper we have focused on removing the topo-logical noise from the original resolution of the modeland did not concern ourselves with larger scale genuschanging operations. In fact most of the tunnels removedwith our algorithm are in the very crooked parts of smallregions of the mesh, and their removal does not affect thevisual appearance of the model. It would be very interest-ing to explore genus changing operations in the multires-olution setting, perhaps directly within a mesh simplifica-tion or remeshing framework. Another exciting prospectfor future work is the direct removal of topological noisefrom the original volume data.

5 Acknowledgments

This work was supported in part by DARPA and NSFthrough Caltech’s OPAAL project (DMS-9875042), NSF(ACI-9721349, ACI-9982273, DMS-9872890, ASC-8920219),Packard Fellowship, Alias|Wavefront, and Intel. We would liketo thank Mathieu Desbrun, Peter Schroder, Wim Sweldens, andAndrei Khodakovsky for many useful discussions about thiswork and we’d like to thank the Stanford Computer GraphicsGroup for sharing their wonderful models with us. Datasets ofDavid’s head, David statue, and St.Matthew are courtesy DigitalMichelangelo Project, Stanford University.

6 References[1] Geomagic studio 3.0, 2000. Raindrop Geomagic.

[2] Paraform 2.0, 2000. Paraform Inc.

[3] Ergun Akleman and Jianer Chen. Guaranteeing 2-manifold property for meshes. In Proc. of Int. Conf. onShape Modeling and Applications, 1998.

[4] Ergun Akleman, Jianer Chen, and Vinod Srinivasan. Anew paradigm for changing topology of 2-manifold polyg-onal meshes. In Pacific Graphics’2000, 2000.

Page 9: Topological Noise Removal · 2006-06-13 · on topology preserving volume simplification is one po-tential solution to try to control the effect of the down-sampling, however, presently

[5] P. Aleksandrov. Combinatorial Topology, volume 1.Graylock Press, 1956.

[6] U. Axen. Computing morse functions on triangulatedmanifolds. In Proceedings of the SIAM Symposium onDiscrete Algorithms (SODA), 1999.

[7] U. Axen and H. Edelsbrunner. Auditory morse analysisof triangulated manifolds. In H.-C. Hege and K. Polth-ier, editors, Mathematical Visualization, pages 223–236.Springer-Verlag, Berlin, Germany, 1998.

[8] Jonathan Cohen, Marc Olano, and Dinesh Manocha.Appearance-preserving simplification. In ComputerGraphics (SIGGRAPH ’98 Proceedings), pages 115–122,1998.

[9] Brian Curless and Marc Levoy. A volumetric method forbuilding complex models from range images. Proceedingsof SIGGRAPH 96, pages 303–312, 1996.

[10] Mathieu Desbrun, Mark Meyer, Peter Schroder, andAlan H. Barr. Implicit fairing of irregular meshes usingdiffusion and curvature flow. Proceedings of SIGGRAPH99, pages 317–324, 1999.

[11] Herbert Edelsbrunner, David Letscher, and Afra Zomoro-dian. Topological persistence and simplification. In The41st Ann. Symp. on Foundations of Comp. Science, 2000.

[12] J. El-Sana and A. Varshney. Controlled simplification ofgenus for polygonal models. Proceedings of the IEEE Vi-sualization ’97, pages 403–412, 1997.

[13] J. El-Sana and A. Varshney. Topology simplification forpolygonal virtual environments. IEEE Transactions on Vi-sualization and Computer Graphics, 4(2):133–144, June1998.

[14] Michael S. Floater. Parameterization and smooth approx-imation of surface triangulations. Computer Aided Geo-metric Design, 14:231–250, 1997.

[15] M. Garland and P. S. Heckbert. Surface simplification us-ing quadric error metrics. In Proceedings of SIGGRAPH96, pages 209–216, 1996.

[16] Thomas Gerstner and Renato Pajarola. Topology pre-serving and controlled topology simplifying multiresolu-tion isosurface extraction. Visualization ’00 Proceedings ,2000.

[17] Igor Guskov, Wim Sweldens, and Peter Schroder. Mul-tiresolution signal processing for meshes. Proceedings ofSIGGRAPH 99, pages 325–334, 1999.

[18] Igor Guskov, Kiril Vidimce, Wim Sweldens, and PeterSchroder. Normal meshes. Proceedings of SIGGRAPH2000, pages 95–102, 2000.

[19] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, andW. Stuetzle. Surface reconstruction from unorganizedpoints. In Computer Graphics (SIGGRAPH 1992 Pro-ceedings), pages 71–78, 1992.

[20] Hugues Hoppe. Progressive meshes. Proceedings of SIG-GRAPH 96, pages 99–108, 1996.

[21] L. Kobbelt, J. Vorsatz, U. Labsik, and H-P. Seidel. Ashrink wrapping approach to remeshing polygonal sur-faces. Computer Graphics Forum, 18:119 – 130, 1999.

[22] Venkat Krishnamurthy and Marc Levoy. Fitting smoothsurfaces to dense polygon meshes. Proceedings of SIG-GRAPH 96, pages 313–324, 1996.

[23] J.-O. Lachaud. Topologically Defined Iso-surfaces. Re-search Report 96-20, Laboratoire de l’Informatique duParallelisme, ENS Lyon, France, 1996.

[24] A. Lee, H. Moreton, and H. Hoppe. Displaced subdivi-sion surfaces. In Computer Graphics (SIGGRAPH 2000Proceedings), pages 85–94, 2000.

[25] Aaron W. F. Lee, Wim Sweldens, Peter Schroder,Lawrence Cowsar, and David Dobkin. Maps: Multireso-lution adaptive parameterization of surfaces. Proceedingsof SIGGRAPH 98, pages 95–104, 1998.

[26] Marc Levoy. The digital michelangelo project. In Pro-ceedings of the 2nd International Conference on 3D Dig-ital Imaging and Modeling, Ottawa, October 1999.

[27] W. Lorensen and H. Cline. Marching cubes: A high res-olution 3d surface reconstruction algorithm. In ComputerGraphics (SIGGRAPH 1987 Proceedings), pages 163–169, 1987.

[28] J. R. Munkres. Elements of Algebraic Topology. Addison-Wesley, Redwood City, 1984.

[29] Tamal Dey Nina Amenta, Sunghee Choi and NaveenLeekha. A simple algorithm for homeomorphic surfacereconstruction. ACM Symposium on Computational Ge-ometry, pages 213–222, 2000.

[30] Jovan Popovic and Hugues Hoppe. Progressive simplicialcomplexes. Proceedings of SIGGRAPH 97, pages 217–224, 1997.

[31] K. Pulli, T. Duchamp, H. Hoppe, J. McDonald,L. Shapiro, and W. Stuetzle. Robust meshes from multiplerange maps. In Proceedings of International Conferenceon Recent Advances in 3-D Digital Imaging and Model-ing, pages 205–211, May 1997.

[32] J. R. Shewchuk. Triangle: Engineering a 2d quality meshgenerator and delaunay triangulator. In Workshop on Ap-plied Computational Geometry (Philadelphia, Pennsylva-nia), pages 124–133. Association for Computing Machin-ery, May 1996.

[33] Barton T. Stander and John C. Hart. Guaranteeing thetopology of an implicit surface polygonization for inter-active modeling. In Computer Graphics (SIGGRAPH ’97Proceedings), pages 279–286, August 1997.

[34] S. Guha T. K. Dey, H. Edelsbrunner and D. V. Nekhayev.Topology preserving edge contraction. Publ. Inst. Math.(Beograd) (N.S.), 66:23–45, 1999.

[35] Gabriel Taubin, Andre Gueziec, William Horn, and Fran-cis Lazarus. Progressive forest split compression. Pro-ceedings of SIGGRAPH 98, pages 123–132, 1998.

[36] E. F. Whittlesey. Finite surfaces: a study of finite 2-complexes. Math. Mag., pages 11–22 and 67–80, 1960.

[37] Zoe Wood, Mathieu Desbrun, Peter Schroder, and DavidBreen. Semi-regular mesh extraction from volumes. InProceedings of Visualization 2000, 2000.