ebook img

DTIC ADA277644: Mesh Optimization PDF

35 Pages·1.6 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview DTIC ADA277644: Mesh Optimization

644 AD-A277 AR!:A ' I Mesh Optimization Technical Report # 93-01-01 Hughes Hoppe, Tony DeRose, Tom Duchamp, John McDonald and Werner Stuetzle DTIC ,iii... (cid:127) ELECTE 1 D F 94-09779 Thi ,-.i,. has b.e a,,=., - DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Uniwitriy of Washington Seattle 98195 r(cid:1)cuY SrECT3D I 94 i 31 108 Mesh Optimization Technical Report # 93-01-01 Hughes Hoppe, Tony DeRose, Tom Duchamp, John McDonald and Werner Stuetzle Department of Computer Science and Engineering, FR-35 University of Washington, Seattle, WA 98195 USA NTIS Cp"I, I -- DoIe T,; By Av pii ,.:1i!7... ......... .... 0:t Dist Tb de"o- t a r tL e : '*- AIp1 M\esh Optimization Hu11gues H~opple- Tony DeRose' Tomn Duchampt John \lcDonald \Veincr Sttuetzle* Uniiive-si iv of'W'asl iington Abstract We p~resent a muetlhioo ii o solving t he lol lowing p roblniti Givyen at set of* dIata p)i itis ~('a ttered in three dimensions anid ani initial t 6a ngilaj mie sh .1h). pimod uce a inesh .11. of' I hie ~anie topological typ~e a~s .110. that. fit~s the dat a well a iid has a small nn itil her of vent ices. ()m-i a l)liroach i., to ninimize an energy function thiat explicitll v miodfels thle ('0111 pet iig (esi res of .onlci seness of' 1(1) resent ation and fidelity to thle (lata. We show that. inesli op~ti lizat.ion can be effect i el 'v used in at least two applications: si ilace r-ecouistirn ct ion [m-iii ii norga inzedl I int s. anid mneshI siin pifica tion ( thle r-eduction of the nunin her of ver-tices inl ani in itially (dens mCiveoshf I i a ngles') CR Categories and Subject Descriptors: 1.3.5 [(Giuier(aplticsl: ( ¼uniplitational Geomnet ry aind Ob ject Model1(1inig. Additional Keywords: ( ieoiiiii-k( Nodohinlg. Sn fcelit? i.I'l ' iee- fiiinellsioullt Shapev He- 1 Introduction 'rhe nzcsh oI)Iimiz-alim p-ohieni coiisidol-of ill this paecanl be i-olighhv sIa~tet(, i asollows: ( iveiu at Collection of data p~oints N il R: aiid anl iiiit ial t riaiiguiilar mlesih.1( livnar tilie ifata. finid at mesh .1l of the same top~olog-icali IY~t -,pa .! , la fiat, lsit d~(at a volf anld mas ;I Small iiluinfbeer (of vi c 11 * Departmreli of (omwitel r Scien~ce ano (t Vgillvering". FR1 ?- tDepartment of Matiihemaiit ics. (;N5 *Departmnent. of Statimics. ( ;N-22 FTuis wvork was sInppor~te t, pat 1by) tvttccorc. Itic Xerox ( ortorli on. I liM. ti-ewlet -lakard. A I K-I Betl Lab,. the Digital Eqniipmeiu C orporationl. I tic fDepiiIllelil1 ot tuieurgy minter gr ant l-( i5-tlYtil(i. tI Nmijoina * ~~Librar% of Mecdiciine moofei gidili N1l1 I.M-1mi I7 1. and ill( Naitiatlf S, tine fnulnfatioi((Iiemt& it- 1l -s.157.tQ and t)I S-9In v i.ti' | V__L" Figure 1: Examples of mesh optimization. The meshes in the top row are the initial meshes M ; 0 the meshes in the bottom row are the corresponding optimized meshes. The first 3 columns are reconstructions; the last 2 columns are simplifications. As an example, Figure llb shows a set of 4102 data points sampled from the object shown in Figure 11a. The input to the mesh optimization algorithm consists of the points together with the initial mesh shown in Figure 11c. The optimized mesh is shown in Figure 12c. Notice that the sharp edges and corners indicated by the data have been faithfully recovered and that the number of vertices has been significantly reduced (from 1572 to 163). To solve the mesh optimi,;ation problem we minimize an energy function that captures the com- peting desires of tight geometric fit and compact representation. 'The tradeoff between geometric fit and compact representation is controlled via a user-selectable parameter C,.(cid:127). A large value of Crep indicates that a sparse representation is to be strongly preferred over a dense one. usually at the expense of degrading thc fit. We use the input mesh MI as a starting point for a non-linear optimization process. During the optimization we vary the number of vertices, their positions. and their connectivity. Although we can give no guarantee of finding a global minimum, we have run the method on a wide variety of data sets; the method has produced good results in all cases (see Figure 1 ). We see at least two applications of mesh optimization: surface reconstruction and mesh simpli- fication. The problem of surface reconstruction from sampled data occurs in many scientific and engi- neering applications. In [2], we outlined a two phase procedure for reconstructing a surface from a set of unorganized data points. The goal of phase one is to determine the topological typo of the unknown surface and to obtain a crude estimate of its geometry. An algorithm for phase one was described in [5]. The goal of phase two is to improve the fit and reduce the niumber of faces. Mesh optimization can be used for this purpose. Although we were originally led to consider the mesh optimization problem by our research 2 onl surface reconstruction. the algori thIn we have dieveloped(- ani also be aplplied to the piroblem of mesh simplification. Mesh siimplificatioin. as, consideredl 1) Turk [16] and Schroeder et al. [11], refers to the problem of redlucin tigle nu mber of faces in at dense niesh while mninimially pert urbing the shape. Mesh optimization can be used to solve Ithis problem as, follows: sample dlata. points X from the initial mesh an(l use thle inmitial mnesh as the starting p)oint .1Io of the optimization procedure. For instance. Figure 14a. shows a. triangular approximation of a. minimiial surface with 2032 vertices. Application of our tnesh optimization algorithmn to a. sample of 6752 points (Figure 141)) from this mesh produces the meshes shown iii Figures 14c (41871 vertices) and 14d (239 vertices). The mesh of Figure 14c correspond~s to a relatively small value of c,.~,, and therefore has more vertices than the mesh of Figure 1-ld wvhichm corresponds t~o a somewha~t larger value of c r~ Time principal contributions of' this piaper are: "* It presents anl algoritIi in for fit 1,iu g at mnesh of a rbi trar 'v topological t 'ype to a set. of (data points ais op~posedl to volmi te data. etc. ). Dutring tilie fittingy process. the nuinber anid connectivity of the vertices. ats well ats their posit ions, are allowed to vary. "* It casts miesh simpi ficationi as ali oiptimtinzat ion p~roblelm i with aui energy fuiict ion that directly measures deviation of te lefinal mnesh from tihe originial . As a coinsequtence. tilie final mesh nzAturallY adapts to curvta tu re variiations in thle original niesh. "* It demonstrates how het(a Igorit hut's ahi lit v to recover sharp edges and1( cortners can be ex- ploitedl to a utoinat ica llv segmnent the fi nal ineshi i mit o smnoothI connected componients (see Figure 12e). 2 Mesh Representation h~it itivelv. a nirsh is a piecewise linear surfa ce. cotisist iiig of, 16i angitar faces pastei d togehraln hleir edges. For out l)Iirl)05Q it is iniiport antl to ilainit am tilie (listiiict ion bet weenl thle coliimectivit ,v of thle vertices and tlc~i r geomietric posit ions. Formiall ,v. a miesh .\ I is a p~ai r ( It. V). \.v here: It'is a .s;i nplicial comnpI( . representitnm g t lie ci mnec t ivii v of thle vert ices, edges. a nd faces. fhI s determining 1. the topological t.v pe of' Ihte( imeshi: V = v.......v711 vi E R~i is at set oh' vent ex posit ioiis defininig hie shape of the mnesh in R` (Its geconiet nc realization) A si mplicial comnplex It cotisist s if a set (if vent ices { I ... i }/ 1to get her wit It a set of mion-emiptv sitbsets of thIe vertices. cal led tHie sinii p1ices of' A'. sticli that a ii' v stcowsisjt i ii,, of exact l~v one vertex is a simplex in A'. amid ever ' iio ii-etini) tv stiliset oif a siniiplex ini A' is agaili a siniplex ini It ( cf. spa then [.1]). Trhe 0-siin iti(Ces {II} E IA ate( called vertices. tlie( 1-siniplJ~ices i.jj }EE It are called edlges. and thle 2-simuplices j. j. kj E It are called faces. A geometrtic realization (ifa niesh as at sti rface in~ R:' calii he obtained ats follows. For a given sinm- lplicial complex I'. hotiiii its-l,o)oIoOi(a' U r(a/iZ(Illo jOIIAin i R... by (idet ifyinug tilie vertices J11 .....In)} with the staitdardl basis vectors jet. ... e ) )'4 R'. VOr each -tmmplux .1 C- It lot '! denote tie conivex ihull of, it,, vent ceý lit R.''. and fet A11= UE1/. 1"1- Let o : R"' - R.3 he 1tl i linear mnap thfat "seids thle i-ihIi sta da md basis vector e, 4- R... toi v, E Rt' (.-we l'igtm e 2). Simplicial complex K vertices:{ 1}, {2}, {3} edges: {1,2}, {2,3}, {1,3} faces: {1,2,3} Topological realization AIl Geometric realization (V) ze20 y v2 Il e e3 Rf / 3Y V RR3 Figure 2: Example of mesh representation: a mesh consisting of a single face. The geometric ,'cali-ation of .1 is the image ov( II C). where we write the map as o. to emphasize that it is fully specified by the set of vertex positions 1V = {v ..... v...}. The map ov is called 1 an Enmbedding if it is 1-1. tlhat is if otv(I K ) is not self-intersecting. Only a restricted set of vertex positions V, result in o01 being an embeddinig. If ov is an embedding. any point p E ov(]KI) can be parameterized by finding its unique I1i' pre-irnage on AKJ. [ie vector b E with p = ol.(b) is called the barycentric .oordinat( cector of p (with respect to the simplicial complex K). Nole that barvcentric coordinate vectors are convex combinations of standard basis vectors e, E R.. corresl)oi(ing to the vertices of a face of K. Any baarvcentric coordinate vector has at most I hi'e lnon-zero entrlies: it has Oil lV two nlonI-Zcro entries if it lies on an edge of' 14I. and oil[. one if it is a verteX. 3 Definition of the Energy Function Recall that the goal of miesh optimizat ion is to obtain i a mesh that provides a good fit to the point set X and has a sinall tiimber of vertices. \\'e find a simnplicial complex A' and a set of vertex positions V" defininig a imesh .11 A' . V ) thati minimizes the etler-v function E( A'. V') = Ah''.- ,IV, ( ) + Er,( I" ) + EI-,9i, q( A'. I ). The first two terms correspond to the two st ated goals: the thbird term is motivatedl below. The distance energy l.','t is equal to the sumi of squared dislances from the points X = {x! . .. x } to the imesh. .. The represent ationi energy LE,p penalizes mieshies withi a Ia rgc number of' vertices. It is set to be proportional to tile tnunber of vert ices Ini o, A'- /_, ( A-) =~ 1 The optimization allows vertices to be both adldedl to anol removed from the mnesh. When a vre is added. the distance energy E~i~ is likelyiN to be reduced. thle term Er F, makes this operation inicuir a penalty so that vertices are not added indefinitely. Shimilarl~y, one wants to remove vertices from a dense mesh even if E~i~ increases slightly: in this case Err acts to encourage the vertex removal. 1 The user-specified p~arameter Cr~p p~rovidles a controllable trade-off lbetween fidelity of geometric fit antd parsimony of represent at~ion. kWe discovered. a~s ot hers have before uts [7]. that minimiizi ng E,11s + ErrPj does not produce the dlesired results.. As anl illulst ration of, whlat. call go wr.[ong. Vigure I1(1 shows t lie result of' iiiiiniizing Fj,tj alone. The esti mat ed su rface glas severall Spikes ill regioins whiere t htere is 110 dati a. These spikes are a manifest at ion ol' t he lii ida ineiiia I p rob~lein Ihat aini niiiinn ini of' E.1ist + iria1p~ 1io t exist,. Po guarantee t lie exist eice of a niiii iiini inn (see A ppenii~ix A\. I ). we add t lie t ldird termi. I lie spring energy Ep2I! It Iplaces onl each edge of ftl(i e esh a sprin g of' reMI lengt Ii zero anid spriniq- constant {j,klEK It is worthwi~vfle eni pliasizinig thlat I lie sprin g energy is not -a smoot.hness penal ty. Our intent is not to penalize sli arp dihiedral anigles iii tlie iiieshi sin ce s iicli features nay he presenit in the uinderlying surface and slioiildl be recoveredl. We vie I&[II;asaOglila rizilgý teriii t hat Ilellps guidle lie op~timizationi to a desirable local iiiiii11ii1iiii A.s I lie( opt imizat ion coniverges, to Ilie solution. tHie magnitude of Esrijcall be graduially reduiced. \We ret i ni to t his issule ill Sectionl II. For some applicat ions we want t lie hprocedliire to be sca le-i iv Illit. whiichi keqmiivaleiit to defining a minitless energy funct ioni E. To achlieve invarianice unlder E~uclidean uiiotiou and uniformi scalinig. tHie poinits X and lie initial miesh l I/are lvt'e-scak'd it Iliformii[Y to lit iii a uiiit cube.. . fter opt1imiizationi. a post.-processiiig step cai muiido t his iiiit ial t ransforniationl. 4 Minimization of the Energy Function Our goal is to mninimiize t ie eiiergv Imimict ioni V( It' I ) = 18 ( It. I + 1"0,)( K ) + /..lllm ( K. I over thle set A: of' sininplicial coniiillexes A' lionieoinorphiic to lie iniitialI sinmplicial compll ex A'(. and lie vertex p~ositions V dlefinling tilie em beddinig. WVe now preseiit ani onutIinie of on r opt imizationi algorithm. a pseudo-code versioni of w Iii c I a ppearms inl Figimri 3:. 'Fl ie (eletaiIs aird (eferredl to tilie next * tIwo) subsections. To mninimiize E( It. V ) over bothi At awl~ 1'. we part it ion tie problemi iiito twko niestedl subproblemns: * anl iinner mninimnizat ion over V for lixed sinipliCialI coiiilleX k . anld a1 011101cI liminiinzat~ioi over A'. In Section 4.1 we describe an algorithu tfat solkes like inler minimization problemn. It finds E(K) = mini E(K.1 ). tie energy of the best possible embedding of the fixed sinmplicial complex IC. and the corresponding vertex positions 1'. given an initial guess for V. This corresp,,ids to the procedure OptimizeVertexPositions in Figure 3. Whereas the inner minimizatioln is a continuous optimization prof em. the owuer minimization of E(K) over the simplicial complexes A' E K: (procedure OptimizeMesh) is a discrete optimization problem. An algorithm for its solution is presented in Section -4.2. The energy function E(K'. V:) depends on two parameters C,.P and KC. The parameter Crep controls the tradeoff between conciseness and fidelity to the data and should be set by the user. The parameter K. on the other hand. is a regularizing parameter that, ideally. would be chosen automatically. Our method of setting t, is described in Section .1.4. 4.1 Optimization for Fixed Simplicial Complex (Procedure OptimizeVertexPositions) In this section. we consider the problem of finding a set of vertex positions I' Ihat minimizes the energy function E(/I'. IV) for a given sitlplicial complex A'. As E,.,p(K) does not depend on IV. this amounts to minimizing lJ',ls,Ktf. 1V) + E.p,.tn( I'. -V) To evaluate the dislance energy l'. ist(l. V ). it is necessary to compute the distance of each 8 data point xi to .11 = 'l'. Lach of these distances is itself' the solution to the minimization problem l2(xi,. .'v(lh')) = a i x, - '.)o' (bj)11 2. h,ElIKI in which the unknown is the har~vcei tric coordinate vector b, E IIC' C R" of the projection of x, onto JI (Figure 1). Titus. uinimizitt /-.'(lK.V) for fixed A' is equivalent to inininlizing the new objective fu nct ion Kh.( 1'. B) =Z lix - oj,(b,)l12 + h. IU4),.,.( i=I = jxj - ot'(Ib,)lI2 + HIflv, - vA.II ,=1 L..ktEIl over the vertex posit iotts I = { ..... V v, E R.' a nd I Iti ha rYcewti c coord i nat (' = { b, . b, }. bi E AI c R". To solve this optiinizationt problem (procedure OptimizeVertexPositions). our method alternates between two subproblenms: 1. For fixed vertex positions I'. fintd opittial Ihar'centric coordinate vectors 13 b) proj Ection (procedure ProjectPoints). 2. For fixed barvcentwric coordinate vectors I8. fimld optl lial vertex posiliolns I bY solvitig a linear least squares problem ( proced(u(re IrmproveVertexPositions). 6i OptimizeMesh( K .1i ) 0 A' K V' OptimizeVertexPositions(AK,Ij)) 0 - .5olve the outer ,nininzization 1IobbI(mf. repeat I (K',I ' Genera te~egalM ove( K.VA V'= OptimizeVertexPositions( A".1' if E(IC'. I'I) < /.( It'.V) Itlieni endif }until convergence returni ( KV.) thec innzer op)limtitair. /)Ioh( mn -S'olve E(K) = intlj I,( It. V) fixed sim~picial conpIlrx A-. -for OptimizeVertex Positions( NA'A' repeat f :3= ProjectPoints( K.V) 3il inimiz1 L( A*. I '.1 8) VJ' /aS- )f Un jol.,ifi'/Uf !ld(Ii :'= ImproveVertexPositions( IC.!) } ititil CO IiVCI"er II'ce ret ur Vi GenerateLegaI Move( A'.VI) i Select a legal mjove It => A". Locallt, mO1lilv V to out aiii V' a ppropriaf fo'r N"'. returin (A"A"-) Figure 3: .\ it Nidelized p)(m'I io-(c(I versioll of' te0 mininimizal ion algorit liii V (b \ \V 3> Iicatr *11: vD stia If(e( of, i poi fit X, Irtonil I lie Iioesl. Because we fi ndI0o)p inma soluittions to hoth1 of 1 lise sit I obliets. Ft A. 13) can iinever incitcease. and since it is bo11unded fr-om b~elow. it muls t coltver-ge. Iii pit inci ple. one conuld it er-ae tinlt i somle fo-ma~l convergence cr-it erion is met. Inslstead . ats is comnmon. we per-formi a Fixed tn niber- of it erations. As a~n example. Figurev I Iv showvs thle r-esult of optimnizinig thle niesh of Figurev 1 lc over the vertex positions while holding the si mIpicial comll)ex fixed. It is conceivable t hiat pr-oced iirev OptimizeVertexPositions reti unrs af set V of' ve-t ices for1 which thle mnesh is self-inter-secti ng. i.e. ov is not ain emblleddl ing. hietispsblto(e'k(Iot rI- ori whether oly is anl emiibedding. (onsti-atining thle opt imiizat1ion to alIways pr-oduce an em bedding appears to be difficult . Thlis has niot plresehitedh at lrohlelll ill thle exampiles We hilvv 1-1111. 4.1.1 Projection Subproblem (Pr-ocedm-ie Project Points) 'lite pr-oblem of' opt~imuizihg, /"( 1. 1'. 13) over. lie bair vcvit t-ic (oor~i id Ite vectors 11.....i..... b, 1 whbile hioldling tilie ver-tex p)osit ions V = JV1 ... V11} ani (I lie si lii lic li1 (complex It constanit. (de- composes into n separ-ate opt imizatioOh )lXehnits: 1 lix, b,= aniuruIil - .-(Hb)JJ fit other wor-ds. b, is filie luarvcelitliti coor~dillttic vector, ctorrespolidilg to Itle point1 p E eGt'( 1(1) closest to xi. A naive approach to compuin~1Iitg b, is to liro~iect xi onito all of' tlie faces of .1!. an1 t1lhe n find the projection wvith minnii mtal d(ist anrce. To s peed itj ) tilie pr-oJect joti. we fit-st enteit lite f'i ces of tlie inesl into a spatial part~i tioning data. str-i~cttille (si nuilar. to the onie tlsed in [1 7]). Thle n fot. each poinlt X, only' a liea.rb *v sulbset of' thle faces needs to be (onsideired. and1( t he pr-oJect ion step taikes expected time O(na). l'or add~itionial speedup11 we eXlloit (olieel-ece bI weeln Iletat ioils. hInsteadl of' pr-o ectilig each p)oint globally onto. thle Iinesh. we assiumie t hat at poinit's piro~c~t ion lies ill at Itighiboiltood of its pro Jectiol1 ill lhe pireviotls it et-atioti. Sp eci ficall v. we pr-oject tilie p~oint onuto all faces t ha~t share

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.