surface reconstruction from scan paths

14
Future Generation Computer Systems 20 (2004) 1285–1298 Surface reconstruction from scan paths Claus-Peter Alberts Department of Computer Science VII, University of Dortmund, D-44221 Dortmund, Germany Available online 7 July 2004 Abstract Given a finite set of points sampled from a surface, a particular important topic of surface reconstruction is to find a triangular mesh connecting the sampling points and approximating the surface. We introduce a new solution for this problem which takes into consideration hidden structural information in form of scan paths. The scan paths, which often are available in sampling data sets, allow us to cope with creases or ridges more reliably than algorithms assuming unstructured point clouds. Moreover, the consideration of scan paths leads to a better reconstruction of surface boundaries than other heuristics. © 2004 Elsevier B.V. All rights reserved. Keywords: Geometric modelling; Surface reconstruction; Boundary reconstruction; Sharp bends; Creases; Scan paths; Data reduction 1. Introduction Many applications need a computer-internal repre- sentation of physical objects of the real world. A typi- cal example is computer-aided design in manufacturing where workpieces or even complete products are han- dled virtually. A task of increasing importance for this approach is to transfer complex real objects efficiently into a virtual, computer-based representation. For this purpose, various automatic scanning devices have been developed. A scanning device usually yields a cloud of points on the surface of the treated object. The task of surface re- construction is to find an adequate representation of the object’s surface which interpolates or approximates the sampled points. For surface representation, one of the Tel.: +49 231 755 6134; fax: +49 231 755 6321. E-mail address: [email protected] (C.-P. Alberts). numerous methods developed in the field of computer- aided geometric design may be used, like polygonal meshes ?], Bezier surfaces ?], B-spline surfaces ?], or subdivision surfaces ?]. Although originally not quite suited for the representation of smooth surfaces, polyg- onal or triangular meshes are of particular importance. The reason is that they are sufficient in order to de- scribe the topology of a surface. Furthermore, they can be the starting point for the derivation not only of a smooth representation by the concepts of higher order mentioned above ?], but also of possibly more coarse finite-element meshes for numerical simulations ?]. In the following we are interested in surface reconstruc- tion by triangular meshes. Typically, during a sampling process a tactile sensor or a laser beam is moved along the surface of an ob- ject, and a sequence of points digitized from the path of the sensor is reported as output. The sensor is usually moved according to some strategy, for instance row- 0167-739X/$ – see front matter © 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.future.2004.05.022

Upload: claus-peter-alberts

Post on 15-Jul-2016

229 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Surface reconstruction from scan paths

Future Generation Computer Systems 20 (2004) 1285–1298

Surface reconstruction from scan paths

Claus-Peter Alberts∗

Department of Computer Science VII, University of Dortmund, D-44221 Dortmund, Germany

Available online 7 July 2004

Abstract

Given a finite set of points sampled from a surface, a particular important topic of surface reconstruction is to find a triangularmesh connecting the sampling points and approximating the surface. We introduce a new solution for this problem which takesinto consideration hidden structural information in form of scan paths. The scan paths, which often are available in samplingdata sets, allow us to cope with creases or ridges more reliably than algorithms assuming unstructured point clouds. Moreover,the consideration of scan paths leads to a better reconstruction of surface boundaries than other heuristics.© 2004 Elsevier B.V. All rights reserved.

Keywords:Geometric modelling; Surface reconstruction; Boundary reconstruction; Sharp bends; Creases; Scan paths; Data reduction

1. Introduction

scwdaipd

tcos

(

numerous methods developed in the field of computer-onal

lyg-nce.de-canf arderse

ruc-

sorob-

th ofually

row-

0d

Many applications need a computer-internal repre-entation of physical objects of the real world. A typi-al example is computer-aided design in manufacturinghere workpieces or even complete products are han-led virtually. A task of increasing importance for thispproach is to transfer complex real objects efficiently

nto a virtual, computer-based representation. For thisurpose, various automatic scanning devices have beeneveloped.

A scanning device usually yields a cloud of points onhe surface of the treated object. The task of surface re-onstruction is to find an adequate representation of thebject’s surface which interpolates or approximates theampled points. For surface representation, one of the

∗ Tel.: +49 231 755 6134; fax: +49 231 755 6321.E-mail address:[email protected]

C.-P. Alberts).

aided geometric design may be used, like polygmeshes?], Bezier surfaces?], B-spline surfaces?], orsubdivision surfaces?]. Although originally not quitesuited for the representation of smooth surfaces, poonal or triangular meshes are of particular importaThe reason is that they are sufficient in order toscribe the topology of a surface. Furthermore, theybe the starting point for the derivation not only osmooth representation by the concepts of higher omentioned above?], but also of possibly more coarfinite-element meshes for numerical simulations?]. Inthe following we are interested in surface reconsttion by triangular meshes.

Typically, during a sampling process a tactile senor a laser beam is moved along the surface of anject, and a sequence of points digitized from the pathe sensor is reported as output. The sensor is usmoved according to some strategy, for instance

167-739X/$ – see front matter © 2004 Elsevier B.V. All rights reserved.oi:10.1016/j.future.2004.05.022

Page 2: Surface reconstruction from scan paths

1286 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

Fig. 1. Sampling points of an object.

by-row. The latter approach leads to data sets similarto contours in cross sections acquired by tomography.Numerous algorithms have been developed in the pastwhich use the contour information beyond the samplingpoints?]. In this contribution we present an approachwhich generalizes the idea of using scan path infor-mation to arbitrary path-oriented scanning strategies.The reason is that row-wise scanning often is not op-timal. Usually, scanning strategies are preferred whichtake into consideration the shape of the surface for thedirection of the scan paths.

In the following we assume an input consisting ofa set of points implicitly arranged in scan paths whichcover a surface. A scan path is a sequence of neigh-boring points obtained by moving the scanning sensoralong a smooth curve over the surface and sampling

Fig. 2. Part of a triangulation.

Fig. 3. The Delaunay triangulation.

its location at a certain rate.Fig. 1 shows a cloud ofpoints sampled from a surface in which scan paths canbe recognized. We assume that the sampling points arelinearly arranged in the input data set according to theiroccurrence on the scan paths. However, we do not as-sume to have the information about locations at whichthe scan process is interrupted in order to move the sen-sor to a new location where scanning continues with anew scan path. Data sets of this type are typically de-livered by tactile scanners like the Cyclone?]. The taskis to create a triangular mesh which includes the pointsof the scan paths and approximates the surface.

Fig. 2 shows a part of a triangular mesh recon-structed from the 3D point data set ofFig. 1. Mostof the vertices of the mesh are points of the input sam-pling set, but some additional auxiliary points, oftencalledSteiner pointsin literature, may occur, too?].

In a general setting, the construction of a triangu-lar mesh representing the surface topologically and

phs.

Fig. 4. The path-adaptive triangulation considering feature gra
Page 3: Surface reconstruction from scan paths

C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298 1287

Fig. 5. The ABN triangulation, minimizing angles between normals.

geometrically correctly is a non-trivial task. A con-siderable number of approaches have been proposed,many of which are compiled in the survey by Mencland Muller ?]. We assume that the surface can be de-scribed by a function over a base plane, a so-calledheight field function?]. Without loss of generality wecan assume that thex–y-plane is the base plane. Forfunctional surfaces in this sense, a triangulation can beobtained by triangulating the flat set of points obtainedby orthogonally projecting the sampling points onto thebase plane. Although the problem of finding the cor-rect topology is solved by this assumption, it turns outthat such triangulations are not always geometricallysatisfactory if the height information (z-coordinate) isnot taken into account. Triangulations of this type arecalleddata-dependent triangulations. Figs. 3 and 4il-lustrate the difference between a non-favorable and afavorable triangulation. InFig. 3 aliasing effects like

F utec

jags at the rim of the cylinders can be noticed whereasin Fig. 4 the cylinders are separated from the bottomby clear creases.

Several data-dependent triangulation schemes havebeen proposed in the past. Examples are the ABN tri-angulation?] which minimizes the angles between thenormals of incident triangles (Fig. 5), and the TAC tri-angulation?] which minimizes the total absolute cur-vature over all vertices (Fig. 6).

In general, a major criterion for a smooth surface iscurvature. But a surface might also have sharp edges orridges, which need special treatment as demonstratedfor a different kind of sampling by Kobbelt et al.?].In this case a typical approach is to decompose thesurface into pieces which are free of those artifacts,find a smooth triangulation of each of these pieces, andcompose them into a complete solution?].

The advantage of the approach of taking the infor-mation about scan paths into account is that it allows usto reconstruct creases or ridges more reliably than algo-rithms developed for unstructured point clouds. For in-stance, consecutive points of a scan path should usuallybe connected by an edge of the triangulation becauseit can be expected that an edge of this type is close tothe surface. Furthermore, the relative dense points ona scan path are favorable to finding points of high cur-vature which are typical for creases and ridges. Thosepoints can be connected by edges to a polygonal pathwhich represents a ridge and which thus should be partof the triangulation, too?].

n oft lh Ex-a -p icsw entt sh.Ta ma-t sultsf -s s byr les,wa hicha miner sh.

ig. 6. The TAC triangulation, minimizing the total absol

urvature.

For surfaces with boundaries, the reconstructiohe boundaries is a further point of interest?]. Severaeuristics have been proposed for this problem.mples are the angle between two edges?] or the samling density?]. Another example might be a heuristhich eliminates long edges including their incid

riangles from an initially constructed triangular mehis is similar to the approach by Hoppe et al.?] whichlso uses the sampling density. The additional infor

ion provided by the scan paths leads to better reor surfaces with boundaries, too.Fig. 7shows an unatisfactory reconstruction which finds boundarieemoving long edges including their incident trianghereas the scan path approach used inFig. 8 yieldsgood result. In this case, parts of scan paths w

re known to be outside the sampled object deteregions which are not part of the finally resulting me

Page 4: Surface reconstruction from scan paths

1288 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

Fig. 7. Torus with cut, reconstructed with a heuristics from a TDSreduced data set (seeSection 2.2).

The rest of this paper is organized along the stepsof our approach. The first step, scan path extractionfrom the data set and determination of parts out-side the object, is outlined inSection 2. The sec-ond step is optional. Its purpose is filtering in orderto reduce noise typically appearing in scanned data(Section 3). The third step is to detect shape featuresalong a scan path (Section 4). In the fourth step an ini-tial triangulation is determined which takes the scanpaths into consideration (Section??). In the fifth step,feature graphs are calculated from the feature pointsof step 4 and then incorporated into the triangula-tion (Section??). Finally, in Section?? the bound-aries are determined and surface parts outside the con-tours are removed. Empirical evaluations of the ef-ficiency of the approach and conclusions close thepaper.

Fr

2. Path extraction

Since we assume that the start and end points ofthe scan paths are not provided explicitly, they have tobe detected. We use a heuristics which assumes somekind of fuzzy collinearity of the scan paths. This isa reasonable assumption for two reasons. First, scanpaths are often indeed linear in their projection ontothex–y-plane. Second, for samplings of high density,even on a curved path, two consecutive line segmentsare almost collinear.

Let |pipj| denote the length of the line segmentpipjin the projection onto thex–y-plane. Two consecutivepointspi andpi+1 of the input sequence are consideredto belong to the same path if either

(1) |pipi+1| is sufficiently small (see below), or(2) it is not sufficiently small but the line segment

pipi+1 is a fuzzy collinear continuation ofpi−1piwith respect to thex–y-plane.

“Sufficiently small” means that the distance is notlarger than the average over all distances between con-secutive points. The angleα between two consecutiveline segments under which they are still accepted as“collinear” depends on the length ofpipi+1. To ourexperience, the condition

(2a) sinα ≤ 1 − (sin 90◦ − sin 5◦)(l− φ)/σ,if φ < l ≤ φ + σ,

(

l ,a eenc

ed foriF sz in-t y arec ew s. Ift edgei ths.T elyt

-o

ig. 8. Torus with cut, reconstructed with∞-paths from a TDS∞educed data set (seeSection 2.2).

2b) sinα ≤ sin 5◦ · e(φ+σ−l)/4, if φ + σ < l,

eads to good results, wherel = |pipi+1|,φ the averagendσ the standard deviation over all distances betwonsecutive points.

The edges of the selected scan paths are checkntersection in the projection on thex–y-plane,Fig. 9.or every pair of intersecting edges thez-coordinateA andzB of the corresponding 3D-points of theersection point on both edges are calculated. Theompared with az-valuezt which is a weighted averagith the reciprocal of the edge lengths as weight

he difference exceeds a threshold, the correlateds removed, that is the scan path is split into two pahe background of this heuristics is that it is unlik

hat longer edges belong to a scan path.For TDS-reduced data (seeSection 2.2) the thresh

ld should be chosen according to the valueε which

Page 5: Surface reconstruction from scan paths

C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298 1289

Fig. 9. Two crossing line segments.

controls the degree of reduction, since the largest differ-ence between line segments describing the surface canbe at most 4ε. To our experience and without knowl-edge ofε, the five-fold of the estimated scanner preci-sion has led to the best results.

2.1. Paths traversing boundaries

Scans of shapes of higher genus than 0 or withconcave boundaries often comprehend sampling pointswhich do not belong to the surface of the object. Theyare caused, for instance, by a base plate onto which theobject has been fixed for scanning. For path-orientedscanning this means that there are also parts of scanpaths which traverse regions outside the object. At afirst glance they seem to be disturbing. However, itturns out that this information can be advantageouslyused for an improved reconstruction at the boundariesof a surface.

A crucial task in doing so is to find those parts ofthe scan paths which are outside the sampled object. Asimple solution in the case of a flat base plate is to usethe fact that, usually, the surface of the object is clearlyabove the plate. Assuming thez-axis of the coordinatesystem perpendicular to the plate, the relevant parts ofthe scan paths can be found using a threshold on thez-coordinate of the sampling points. In the following,we denote the points on the plate as∞-points, the pathsegments consisting of∞-points, except possibly thestart and end points, as∞-paths, and edges along thosep

tionm thec

sur-f

Fig. 10. Data set reduced with TDS∞ (see the text for details);∞-points are in bold type.

straight and do not intersect. Thus, we can replace an∞-path by its start and its end point.Fig. 10 showssimulated sampling data of a torus from which a parthas been cut off.

2.2. Data reduction

Scanning devices like the cyclone or laser scannerscan generate hundreds of thousands or even millionsof points. Often it is useful to reduce such huge datasets. A reduction method for path-oriented scanningis the tangential distance strategy(TDS) ?], whichworks as follows. The first sampling point on a path isreturned as output. Then a cylindricalε-environmentis chosen whose axis coincides with the line con-necting the first and second sampling point of thepath, Fig. 11. The last point which is within theε-environment is reported as output and also serves asstarting point for the nextε-environment. This re-duction scheme achieves high reduction rates, espe-cially in almost plane regions. Moreover, it guaranteesthat the reduced polygonal scan paths are close to thesurface.

aths as∞-edges.If a base plate does not exist, other informa

ight be used, like color or reflection properties inase of optical scanners.

For boundary detection, scan paths are split intoace paths and∞-paths. We assume that∞-paths are

Fig. 11. The TDS reduction scheme.
Page 6: Surface reconstruction from scan paths

1290 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

We propose to write the last point before and afteran∞-point which is not an∞-point itself to the out-put, too. We call this slight modification “TDS∞”. Anadvantage of TDS∞ is that it allows us to determineboundaries adequately by storing just a few additionalpoints. Typically, one or sometimes two points per in-tersection between a scan path and an outside regionare sufficient.

3. Filtering

Sampled data are usually noisy because of mechani-cal or electrical properties of the sampling device. Typ-ically, the noise is of high frequency, and hence can bediminished by application of low-pass filters. However,low-pass filters might smooth out sharp bends as well.This effect can be attenuated by using a combinationof two different filters, one for smoothing the pointsaccording to theirx- and y-coordinates, and one forsmoothing thez-coordinate.

For filtration of thex–y-coordinates we assume thescan paths to be approximately straight-line. In thiscase, a low-pass filter like the Laplacian filter?] seemsto be appropriate. However, the application of this filterin its original form smoothes out sharp bends,Fig. 12.In order to maintain the sharp bends with respect tothe profile of a path we introduce theadaptive limitedgravitation filter(Fig. 13),

s, (d filter, (c

Fig. 13. The limited gravitation filter.

andpi+1 to pi; νi is reciprocal to the length of the linesegments incident topi. A constant value would smoothout slopes, especially if the filter is applied iteratively.The attraction avoids spreading out an area with manypoints which indicate significant changes,Fig. 12. Wesetϑi = ϕdistance(min(|pi−1pi|, |pipi+1|)) with

ϕdistance(d) =

1, if d ≤ dadb − ddb − da , if da < d < db

0, otherwise.

The parametersda anddb should be chosen accord-ing to the noise that is expected because of the sam-pling process, e.g. 25 and 75�m if the expected aver-age noise is 25�m and the expected standard deviationis 50�m.

The filter for thez-values should handle two situ-ations. On the one hand it should smooth noisy parts,and on the other hand it should maintain sharp bendsand slopes. For the first purpose a low-pass filter seemsto be appropriate whereas for the second purpose a me-dian filter seems to be suitable, but not vice versa?]. Inorder to avoid the individual weaknesses and to profitfrom the individual strengths, we use the adaptive con-vex combination

filterz(zi) = ζifilterlp(zi) + (1 − ζi)filterm(zi),

–f) path profiles; (a and d) original points, (b and e) Laplacian

filteralg(pi) = ϑi

2(pi+1 + pi + νi(pi−1 − pi+1))

+ (1 − ϑi)pi,whereϑi, 0 ≤ ϑi ≤ 1, models “adaption” andνi, 0 ≤νi ≤ 1, is a measure for the attraction of the pointspi−1

Fig. 12. Application of filters in thex–y-plane: (a–c) projected pathand f) limited gravitation filter.

Page 7: Surface reconstruction from scan paths

C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298 1291

Fig. 14. Application of filters in a path profile: (a) original profile, (b) low-pass filter, (c) median filter.

Fig. 15. The starting point of filterz.

whereζi = ϕ�z(|filterlp(zi) − filterm(zi)|), 0 ≤ ζi ≤ 1.A big difference between values delivered by the low-pass and median filter indicates a slope, whereas a smalldifference indicates noise. In the first case preferenceis given to the median filter, and in the second case thelow-pass filter is preferred (Fig. 14).

To our experience,

ϕ�z(r) =

1, if r ≤ 0.1φz

1 − r − 0.1φz0.9φz

, if 0.1φz < r < φz

0, otherwise

has led to good results, whereφz denotes the aver-age over allz-differences between consecutive points.Since the points do not have to be sampled equidis-tantly along a scan path, we use weightedz-coordinatesfor the low-pass filter, with weightsωi = (|pi−1pi| +|pipi+1|)/2 for zi. For the median filter we treat theprofile like a rectangular signal, withωi the size of therectangle (Fig. 15). Based on experiments, we set thelength of the filter interval to 3φ.

4. Shape features

The shape features of the scan paths we are inter-ested in aresharp bends. In order to find sharp bends itis sufficient to investigate thez-profile of a scan path,

while the behavior of a path with respect to thex- andy-coordinates are ignored. We call the points represent-ing sharp bends within a path (sharp) feature points.

For continuous functional surfaces, like B-splinesurfaces, sharp bends can be found by using the deriva-tions of first or second order, and by selecting thosepoints for which they exceed a certain threshold. How-ever, the sampled points form a non-continuous, dis-crete space. Since we assume not to be given any con-tinuous underlying surface, like a B-spline or subdi-vision surface, and since we assume that informationabout an underlying continuous surface is hard to ob-tain from a real world object, we tread a more intuitiveway.

We represent the profile of a path by connecting con-secutive points of the path with line segments. More-over, we assume that a sharp bend is at points where theprofile shows a big angle or big curvature, respectively.For the latter case we adapt a curvature definition to dis-crete space. The profile of a path does not have to beperfectly smooth, even after filtering. Hence, in orderto level out slight unevenness we have the option to taketwo regression lines, as some kind of additional filterelement, through a number of points. One line compen-sates for unevenness before and one line compensatesfor it after the examined point.

By combination of these considerations we havefour methods for classifying a pointpi as a featurepoint: angle and curvature in pure form or combinedwith the regression lines. We use three of these meth-o threeva nuu nes.C toos

ands l-

ds to detect sharp bends properly, and thus getaluations for every pointpi: angle valuationusingngles with regression lines,compensation valuatiosing angles with regression lines, andcurvature val-ation using curvature based on the regression liurvature without filter element turned out to beensitive even to slight noise.

The three methods have different weaknessestrengths. For instance, inFig.??(a) compensation va

Page 8: Surface reconstruction from scan paths

1292 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

Fig. 16. Examples of profiles which are misleading to a single val-uation.

uation leads topa1 as feature point, inFig. ??(b) cur-vature valuation yieldspb1, and inFig.??(c) angle val-uation leads topc1 andpc2. However, according to in-tuition pa2, pb2, and, in case ofFig. ??(c), no pointshould be selected.

We resolve the problem by aggregating the threevaluations into one decision value?] which is used forselection of representative points. The combinationyields a better overall result. Moreover, it enables theuser to bring in different definitions of “sharp bends”.Examples are to use angles and reduction schemes,as for instance described by Hoppe et al.?], or touse curvature as proposed by Botsch et al.?]. Thevaluations are calculated in fuzzy logic manner?]since it is not clear, for instance, why an angle of 65◦is a big angle and possibly indicates a sharp bendwhile an angle of 64◦ does not. In order to do so,we assign the linguistic terms “big angle” and “bigcurvature” to fuzzy setsF . The linguistic terms areexpressed by functions from the universes of angleand curvature, respectively, to the real interval [0,1].Then a valuation is given asF (value).

We assume that the fuzzy sets describe the “possi-bility” of a sharp bend in a vague way. Since we cannotexpect that any fuzzy set yields a perfect result, we limitthe valuations to min(limit, F (value)). The details areas follows.

The first possibility of detecting a sharp bend at apoint pi is to use the angleα between the two linesegments incident topi (Fig.??). We calculaterangle=m

F

B thea

Fig. 17. Angles for determination of sharp bends within scanpaths.

fore, a second valuer2ndangle= min(0.9, Fbigangle(γ))is calculated based on the angleγ (Fig. ??). Thenr2ndangle is shared betweenpi andpi+1 proportionallyto α and β, respectively. If|pipi+1| exceeds a cer-tain limit, e.g. 100�m, r2ndangle is set to 0. The rea-son is that then this part can be assumed to be sam-pled properly. Theangle valuationof pi is chosen asavi = max(rangle, r2ndangle).

The regression lines for the other two valuationsare calculated by means of the least square method.The number of considered points depends on theirdistances topi and on the accumulated difference oftheirz-values. The distance should not exceed a certainlimit, e.g.φ + σ. For the sum ofz-differences, whichis an indicator for changes within the profile, a boundof φz + σz has led to suitable results. Moreover, welimit the number of points to 5. Then thecompensa-tion valuationis chosen ascvi = min(0.8, Fbigangle(δ))where δ is the angle between the regression lines(Fig. ??).

The last method of detecting a sharp bend is to usethe curvature of a path profile. The curvaturec of a

in(0.9, Fbigangle(α)) with

bigangle(α) =

0, if |α| ≤ 10◦

|α| − 10◦55◦ , if 10◦ < |α| < 65◦

1, otherwise.

ecause of improper sampling it is possible thatctual sharp bend lies betweenpi and pi+1. There-

Fig. 18. Example of lines fitted into the profile of a path.
Page 9: Surface reconstruction from scan paths

C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298 1293

pointpi is measured as

c = (�z1/�w1) − (�z2/�w2)√(�w1 +�w2)2 + (�z1 +�z2)2

wherewi =∑ik=r+1 |pk−1pk| and pr the start point

of the containing path. For the definition of the vari-ables seeFig.??. The definition ofc is a modified ver-sion of that in?] which favors special kinds of profilesin an unsuitable way?]. Then thecurvature valuationis chosen asuvi = min(0.8, Fbigcurvature(c)). Empiricalinvestigations have shown that

Fbigcurvature(c) =

0, if |c| ≤ 0.1|c| − 0.1

0.9 , if 0.1< |c| < 1

1, otherwise

is a good choice.Since the last two methods are both based on regres-

sion lines we set the bound to a value lower than forthe angle valuation.

In order to calculate a single value for each pointpi, the three valuations must be combined. We also dothis in fuzzy logic manner?] by evaluating the phrase“a sharp bend is atpi ⇐⇒ the angle valuationorthe compensation valuationor the curvature valuationgives a hint”. The value of the left side of the arrow is de-termined by aggregation of the values on the right side.W e-b ator?0

d justa ob-t Thisi e toi igh-b havecw

if-fp thiss thea

Fig. 19. Two different types of sharp bends.

The described procedure yields several points withdifferent valuations. Because a sharp bend has to berepresented by just one point, we have to select a repre-sentative. Selection is performed by choosing the pointwith the highest valuation within an interval of selec-tion. The valuation of a point as well as itsz-coordinateare considered for selection. Otherwise the lower sharpbend inFig. ?? (b) would lead to an undesired fea-ture point with a relative highz-coordinate, because ofthe curvature valuation. We set the final valuation tof -vi = ξ · nbhd-vi + (1 − ξ) · e−0.693(zi−zu)2 with puas the point with the lowest or highestz-coordinateaccording to lower or upper bend andξ = 0.9 based onexperiments.

5. Triangulation

Recalling that the surfaces we are interested in arefunctional, we might construct an approximating trian-gular surface mesh by triangulating the projected sam-pling points in thex–y-plane, and then connecting twooriginal points if their images in thex–y-plane are ad-jacent. However, under the assumption that scan pathsdescribe the surface of a scanned object properly, weare interested in triangular meshes which comprehendthe polygonal chains of the scan paths. We call a tri-angulation with this propertypath-adaptive triangu-lation. Path-adaptation makes triangulation somewhatm

tri-a heirp al

e use thealgebraic “or” for that purpose. The algraic “or” is an associative and commutative oper], which is defined as vela(r, s) = r + s− r · s where≤ r, s ≤ 1. Hence, we getvi = vela(avi, cvi, uvi).In this manner, sharp bends of type (b) inFig.??are

etected properly, but sharp bends of type (b) getsmall valuation. The reason is that many points

ain a medium valuation but none gets a big one.s compensated by giving every point the chancncrease its valuation by taking the points in its neorhood into account. Based on experiments wehosennbhd-vi = vela(vi, velaj �=ivj · 0.63 e−0.231w2

)ith w = wj − wi.As Fig. ??shows we also have to consider two d

erent kinds of feature points:upperandlower featureoints. The distinction has to be made throughoutection, but it can be easily derived from the sign ofngles and the curvature.

ore complicated.The first step of construction of a path-adaptive

ngulation is to split path edges intersecting in trojection on thex–y-plane by insertion of addition

Page 10: Surface reconstruction from scan paths

1294 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

points (Steiner points). The reason is that intersectingedges are forbidden in a triangulation. The additionalpoints are the intersection points of the projected edges.The pairs of intersecting edges are efficiently found byfirst testing the line segments of every path for intersec-tion. This test is implemented by processing the pro-jected edges in lexicographically sorted order of theirvertices. The edges of different paths are tested by pro-cessing the axes-parallel bounding boxes of the pro-jected paths in lexicographical order. The goal is tofind the pairs of possibly intersecting paths. For thesepairs, the pairs of intersecting edges are determined inthe same way as within a path. In this manner practi-cal computation times are achieved for data sets withhundred thousands of points. Moreover, the procedureis easier to implement than well-known worst-case ef-ficient algorithms of computational geometry?].

The second step is to calculate a first triangulationof the projected sampling points and the projected ad-ditional points of the first step. For∞-paths we onlyconsider their start and end points. The reason is that theothers might lead to jagged boundaries if used. We takethe classical Delaunay triangulation as initial triangu-lation ?]. The Delaunay triangulation is calculated bysorting the points lexicographically according to theirx- andy-coordinates, combining the first three pointsinto a triangle, and then successively connecting theother points to the convex hull of the already insertedpoints, in sorted order. If necessary, edges are flipped

flipp

Fig. 20. (a) Example of a dashed edge intersecting continuous edges.(b) Result of the edge flipping algorithm.

different frome in the quadrilateral defined by the twotriangles incident toe (if they exist), if the diagonal isinside the quadrilateral.

The third step is to convert the Delaunay triangu-lation into a path-adaptive triangulation by edge flip-ping. Let us denote the edges of the triangulation ascontinuousand those on scan paths and∞-paths, notbeing part of the triangulation, asdashed. The goal ofedge flipping is to make the dashed edges to continuousedges, too.Fig.??shows an example. For this purposewe process the still existing dashed edges iterativelyaccording to the edge flipping algorithm inFig. ??.

The edge flipping algorithm uses three types ofedges, which are defined as follows:

ing algorithm.

until they satisfy the empty circle condition?]. Edgeflipping means to replace an edgeewith the diagonal

Fig. 21. Edge

Page 11: Surface reconstruction from scan paths

C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298 1295

(a) flipable edges, e.g. {pa,pl} in Fig. ??(a), do notintersect the dashed edge after flipping;

(b) forceable edges, e.g.{pb,pm} in Fig. ??(a), crossthe dashed edge after flipping as well as before;

(c) unforceable edges, e.g.{pc,pm} in Fig.??(a), haveincident triangles forming a concave quadrilateral.After flipping unforceable edges would lie outsidethe quadrilateral, and so they must not be flipped.

This distinction is necessary because there are casesin which no flipable edges exist?]. The existence of aforceable edge, if there is no flipable edge in the listof continuous edgesL in the edge flipping algorithm(Fig.??), and the correctness of the edge flipping algo-rithm, meaning that the dashed edge is continuous inthe end, have been proved in?].

The worst case run time of this algorithm is limitedby O(n2) wheren is the initial number of continuousedges inL. The reason is that in this algorithm everyedge can be flipped at most three times within the steps1–4. If the triangles incident to the edges inL forma convex polygon, the run time is O(n) because everyedge is flipable.

6. Sharp feature graphs

The next step is to construct curve-like sharp ridgesor creases of the scanned surface. For this purpose, we

me

m fo

kind determined in previous steps of the algorithm. Wecall those trees(sharp) feature trees. In a second step wecalculate closed structures by testing for possible con-nections between leaves, and between leaves and theroot of the particular tree. These structures are called(sharp) feature graphs.

A feature tree is obtained by building a (minimum)spanning tree (MST) in the triangulation, starting withan arbitrary feature point and using an algorithm sim-ilar to the MST-algorithm of Prim?]. The algorithmof Prim takes one vertex as an MST and adds succes-sively the point with the smallest distance to all pointsof the MST to the present tree. Feature points need notbe adjacent in the triangulation. There might be gaps.We also calculate MSTs just on feature points. More-over, we must not cross boundaries or use∞-edges.So we have to modify the algorithm of Prim using in-termediate points and testing for outside regions and∞-edges. We also stop adding points to the MST if thedistances of all vertices not yet in the tree to the verticesof the MST are larger than a user specified threshold.The threshold should be a multiple of the distance be-tween the scan paths in case they are parallel, e.g. thethree-fold. The details are given by the algorithm inFig. ??.

After the modified MST algorithm has stopped weconnect the leafs of the tree. We do this in sorted orderaccording to the distances between them. While doingso we also test for intersection with∞-edges. A rootwith only one son is considered as leaf, too. We do not

r determination of feature trees.

first use trees which connect feature points of the sa

Fig. 22. Modified MST algorith

Page 12: Surface reconstruction from scan paths

1296 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

Fig. 23. Walk from feature pointpa to pb.

connect leafs of which at least one has been connectedor if the distance exceeds the user specified threshold.By this procedure we extend the feature trees to featuregraphs.

If feature points not belonging to an MST are left, afurther MST is established with one of those points asstart point.

Finally, the path-adaptive triangulation is adapted sothat the feature graphs become part of the triangulation.This is achieved by applying a walk,Fig.??, for findingcontinuous edges that have to be flipped and intersect-ing path edges. After the walk, the edge flipping algo-rithm ofSection??is applied. For the calculation of thez-values of the Steiner points of intersecting path andfeature edges the path edges are given preference. Thus,the connection of two feature points cannot violate thegeometry of a surface, e.g. by creating a ridge, if it isknown from the scan paths that there is no ridge at all.Before applying the walk, intersecting feature graphsof different kinds (upper and lower feature graphs) aresplit and the intersecting edges are removed. The rea-son is that upper and lower sharp bends cannot cross.The tests for intersection can be performed analogouslyto the path test.

7. Boundary extraction

The boundary of a surface is calculated by deter-m areo s arec ti intsa .T nt tos ce.

tsidetp ngu-

Fig. 24. Improperly reconstructed boundary.

lation. Moreover, all triangles incident to an∞-pointor to an∞-path are removed. Thus, the situation inFig. ??cannot occur.

8. Empirical evaluation and conclusions

The algorithm presented in this contribution is a newapproach to detecting and considering sharp features intriangular mesh-based surface reconstruction. Neitherthe Delaunay triangulation (Fig. 3) nor the ABN or TACtriangulation (Fig. 5 and 6) model sharp features asadequately as the presented triangulation (Fig. 4). Thisis not surprising since we have noticed that between33.5 and 86.7% of the edges of the investigated featuregraphs are not in the Delaunay triangulation.

Moreover, the use of scan paths in combination withthe extended reduction scheme TDS∞ yields better ap-proximations of boundaries (Fig. 8) than algorithmsbased on a heuristics (Fig. 7). However, for scan pathssubdivided into several surface- and∞-paths artifactsremain if a neighboring scan path contains just one∞-path.

Although the worst case run time of the edge flippingalgorithm ofSection??might be quadratic, a linear runtime can be observed in practice. Up to now we have noconcrete example which achieves the theoretical worst-case bound.

The algorithms have been implemented in JAVA2on a PC with a 1467 MHz Athlon XP 1700+ proces-s arec m-o n thea t in-t sterv ibles sult-i ted tob

ining the triangles of the constructed mesh whichutside the surface. For this purpose the trianglehecked for having an∞-point or an∞-edge. The tess performed by finding out whether the incident pond edges have got the tag∞ during path extractionhe edges of the remaining mesh which are incideuch “∞-triangles” define the boundary of the surfa

The described procedure grants no triangles ouhe object. The reason is that no triangle intersects∞-aths since they are part of the path-adaptive tria

or. The overall time and the memory requirementsompiled inTable??. Our solution needs more mery than the other approaches. One reason lies idditional data structures. Another reason is tha

ermediate results are kept in main memory for faisualization. If this aspect is ignored, what is feasince this is not necessary for computation of the reng mesh, the memory requirements can be expece close to the TAC approach.

Page 13: Surface reconstruction from scan paths

C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298 1297

Table 1Comparison of computation times and memory needs

Number of points Computation time (s) Memory usage in MB

Delaunay ABN TAC Our approach Delaunay ABN TAC Our approach

13,046, Fig.?? 0.5 1.6 25.2 2.5 17 18 23 2633,121, Fig. 1 1.2 4.0 67.8 5.3 25 26 37 4549,598, Fig. 10 1.5 6.5 62.4 6.2 32 34 48 59

219,556, Fig.?? 8.1 27.8 308.5 34.0 88 103 162 249

Fig. 25. (a) Example containing heavy noise and sampling errors; (b) feature graph (colored black). The rims at the half spheres cannot beexpected to be fully recognized by our approach because in parts they were sampled tangentially to the slope.

One reason for smoothing paths is to get a betterstarting point for bend detection. However, smoothingof paths has effects on the overall surface, too. Surface-oriented smoothing techniques might improve the re-sult if necessary. Regarding thez-filter, the choice ofthe length of the filter interval according to a (local)noise analysis can also improve the results.

A disadvantage of our approach to finding featuregraphs is that just the distance between feature pointsis considered. This can lead to undesired connections,Fig.??(b). The application of a “crease test” to the ed-ges of the feature graphs should eliminate the problem.

Fig. 26. (a) Part of a milled object; (b) close up of an undesiredconnection in the feature graph.

Although most of the used functions are based onstatistical values of the data set or on the sampling pre-cision, the algorithm has several control parameters.Experience shows that there are reasonable default val-ues. Sometimes an improvement can be achieved by adata-adaptive choice. Up to now the values are choseninteractively based on a visualization of the mesh andthe path profiles, respectively. Automatic approachesto parameter optimization can be an interesting topicof future research.

Acknowledgements

The author would like to thank Prof. HeinrichMuller for scientific discussions, and the editor and theanonymous referees for numerous comments and hintshelping to improve the paper.

References

C.-P. Alberts, Triangulation of Sample Points ConsideringShape Features (German), Masters Thesis, Department ofComputer Science VII, University of Dortmund, Germany,2001.

Page 14: Surface reconstruction from scan paths

1298 C.-P. Alberts / Future Generation Computer Systems 20 (2004) 1285–1298

C.-P. Alberts, Reconstruction of surfaces from scan paths,in: P.M.A. Sloot, C.J.K. Tan, J.J. Dongarra, A.G. Hoek-stra (Eds.), Computational Science—ICCS 2002 Proceedings,LNCS 2330, Springer, Berlin, 2002, pp. 295–304.M. Bern, Triangulations, in: J.E. Goodman, J. O’Rourke (Eds.),Handbook of Discrete and Computational Geometry, CRCPress, New York, 1997, pp. 413–428.M. Bern, D. Eppstein, J. Gilbert, Provably good mesh genera-tion, J. Comput. Syst. Sci. 48 (1994) 384–409.M. Botsch, Chr. Rossl, L.P. Kobbelt, Feature sensitive samplingfor interactive remeshing, in: Proceedings of Vision, Model-ing and Visualization, Akademische Verlagsgesellschaft Aka,Berlin, 2000, pp. 129–136.J. Chai, T. Miyoshi, E. Nakamae, Contour interpolation andsurface reconstruction of smooth terrain models, in: Visualiza-tion’98 Proceedings, IEEE Computer Society Press, Los Alami-tos, 1998, pp. 27–33.S.-J. Chen, C.-L. Hwang, Fuzzy Multiple Attribute DecisionMaking: Methods and Applications, Lecture Notes in Eco-nomics and Mathematical Systems, 375, Springer, Berlin, 1992.R. Van Damme, L. Alboul, Tight triangulations, in: M. Dæhlen,T. Lyche, L.L. Schumaker (Eds.), Mathematical Methods forCurves and Surfaces, Vanderbilt University Press, Oxford,1995, pp. 185–192.T. DeRose, M. Kass, T. Truong, Subdivision surfaces in char-acter animation, in: SIGGRAPH’98 Conference Proceedings,ACM Press, New York, 1998, pp. 85–94.N. Dyn, D. Levin, S. Rippa, Data dependent triangulations forpiecewise linear interpolation, IMA J. Num. Anal. 10 (1990)137–154.G. Echevarrıa, A. Iglesias, A. Galvez, Extending neural net-works for B-spline surface reconstruction, in: P.M.A. Sloot,C.J.K. Tan, J.J. Dongarra, A.G. Hoekstra (Eds.), ComputationalScience—ICCS 2002 Proceedings, LNCS 2330, Springer,Berlin, 2002, pp. 305–314.

ing,

s ofal

uet-IG-

ork,

n, J.sur-

eed-

Geo-

A. Iglesias, A. Galvez, A new artificial intelligence paradigmfor computer-aided geometric design, in: J.A. Campbell, E.Roanes-Lozano (Eds.), Artificial Intelligence and SymbolicComputation, LNAI 1930, Springer, Berlin, 2001, pp. 200–213.L.P. Kobbelt, M. Botsch, U. Schwanecke, H.-P. Seidel, Featuresensitive surface extraction from volume data, in: SIGGRAPH2001 Conference Proceedings, ACM Press, New York, 2001,pp. 57–66.R. Mencl, H. Muller, Graph-based surface reconstruction usingstructures in scattered point sets, in: Proceedings CGI’98, IEEEComputer Society Press, 1998, pp. 298–311.R. Mencl, H. Muller, Interpolation and approximation of sur-faces from three-dimensional scattered data points, in: Scien-tific Visualization Proceedings, Dagstuhl’97, IEEE ComputerSociety Press, Los Alamitos, 2000, pp. 223–232.H. Muller, A. Klingert, Surface interpolation from cross-sections, in: H. Hagen, H. Muller, G.M. Nielson (Eds.), Focuson Scientific Visualization, Springer, Berlin, 1993, pp. 139–189.F.P. Preparata, M.I. Shamos, Computational Geometry—An In-troduction, Springer, New York, 1985.R.C. Prim, Shortest connection networks and some generaliza-tions, Bell Syst. Tech. J. 36 (1957) 1389–1401.http://www.renishaw.com/client/ProdCat/prodcatlevelthree.asp?ID=1229.P.M.A. Sloot, C.J.K. Tan, J.J. Dongarra, A.G. Hoekstra (Eds.),Computational Science—ICCS 2002 Proceedings, LNCS2330, Springer, Berlin (2002).G. Taubin, A signal processing approach to fair surface design,in: SIGGRAPH’95 Conference Proceedings, ACM Press, NewYork, 1995, pp. 351–358.K. Weinert, J. Mehnen, Comparison of selection schemes fordiscrete point data for evolutionary optimized triangulationsand NURBS surface reconstructions, in: F. Nagdy, F. Kurfess

ver-

/fheci-ni-stsd

R.C. Gonzalez, R.E. Woods, Digital Image ProcessAddison-Wesley, Reading, MA, 1992.S. Gottwald, Fuzzy Sets and Fuzzy Logic. FoundationApplication—From a Mathematical Point of View, ArtificiIntelligence Series, Vieweg, Braunschweig, 1993.H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, W. Stzle, Surface reconstruction from unorganized points, in: SGRAPH’92 Conference Proceedings, ACM Press, New Y1992, pp. 71–78.H. Hoppe, T. DeRose, T. Duchamp, M. Halstead, H. JiMcDonald, J. Schweitzer, W. Stuetzle, Piecewise smoothface reconstruction, in: SIGGRAPH’94 Conference Procings, ACM Press, New York, 1994, pp. 295–302.J. Hoschek, D. Lasser, Fundamentals of Computer Aidedmetric Design, A.K. Peters, Wellesley, MA, 1993.

(Eds.), Intelligent Systems and Applications, CI’2000, Unisity of Wollongong, Australia, 2000, pp. 104–110.L.A. Zadeh, Fuzzy sets, Inf. Control 8 (1965) 338–353.

Claus-Peter Albertsreceived his DiplomaMSc with Honors from the University oDortmund, Germany in 2001. Currentlyworks at the Department of Computer Sence VII, Computer Graphics, at the Uversity of Dortmund. His research interelie in geometric modeling, fuzzy logic, anmultiple criteria decision making.