250 likes | 519 Views
My PhD Thesis Work. (University of Washington, ‘91-’94). With: Tony DeRose (Computer Science) Tom Duchamp (Mathematics) John McDonald (Statistics) Werner Stuetzle (Statistics) . 3D Scanning. computer-aided design (CAD). digital model. physical object. reverse engineering/
E N D
My PhD Thesis Work (University of Washington, ‘91-’94) With: Tony DeRose (Computer Science) Tom Duchamp (Mathematics) John McDonald (Statistics) Werner Stuetzle (Statistics) ...
3D Scanning computer-aided design (CAD) digital model physical object reverse engineering/ 3D scanning shape color material surface reconstruction
Why 3D scanning? • Digital models for many objects don’t exist. • reverse engineering (Boeing 737X) • archiving • virtual environments • Traditional design (using clay) • car industry • computer animation • 3D faxing!
Surface reconstruction • reverse engineering • traditional design (wood,clay) • virtual environments pointsP surface S
Previous work surface topological type simple arbitrary meshes [Schumaker93], … [Hoppe-etal92,93], [Turk-Levoy94], ... implicit [Sclaroff-Pentland91], ... [Moore-Warren91], [Bajaj-etal95] subdivision - [Hoppe-etal94] smooth surfaces B-spline [Schmitt-etal86], [Forsey-Bartels95],... [Krishnamurthy-Levoy][Eck-Hoppe96],…
Surface reconstruction problem • Given: points P sampled from unknown surface U • Goal: reconstruct a surface S approximating U • accurate (w.r.t. P, and U!) • concise
Why is this difficult? • Points P • unorganized • noisy • Surface S • arbitrary, unknown topological type • sharp features • Algorithm must infer: • topology, geometry, and sharp features
3-Phase reconstruction method points Goals: Find initial surface of correct topological type. phase 1 [SIGGRAPH92] initial mesh Improve its accuracy and conciseness. phase 2 [SIGGRAPH93] optimized mesh Find piecewise smooth surface. phase 3 [SIGGRAPH94] Detect sharp features automatically optimizedsubdivision surface
Example 1 2 13,000 points 3
Phase 1: Initial surface estimation • If U were known, it would satisfyU = Z(d) = { p | d(p)=0 } ,where d(p) is the signed distance of p to U + + + d(p)? + + + + + + + U + + + – – – – + + – – – – d(p)? – – + + – + + + + + + + +
S P Estimate d from P Extract Z(d)
Phase 1 (cont’d) • How to estimate d? compute tangent planes orient them consistently
Phase 1 (cont’d) • How to extract Z(d)? run “marching cubes”
Phase 2: Mesh optimization • Input: data points P, initial mesh Minitial • Output: optimized mesh M, minimizingE(M) = Edistance + Ecomplexity 2
Phase 2 (cont’d) • Optimization over: • the number of vertices • their connectivity • their positions Þconsider any mesh of the same topological type as Minitial
Phase 2 (cont’d) Nested optimization: • optimize connectivity • for fixed connectivity, optimize geometry • Greedy approach: • consider local perturbations • accept if DE(M)<0 edge collapse edge swap edge split
Phase 2: Results using 31,000 points from Digibotics, Inc. using 13,000 points using 182,000 points from Technical Arts Co.
Phase 3: Piecewise smooth surface piecewise planarÞ piecewise smooth surface 3
Subdivision surfaces [Loop87] M0 M1 M2 S=M¥ [Hoppe-etal94] tagged control mesh
Phase 3 (cont’d) • Generalize phase 2 optimization: edge collapse edge swap edge split edge tag • Again, apply perturbation if DE(M)<0
Related work volumetric repr. (Curless&Levoy) phase 1 alpha shapes (Edelsbrunner) initial mesh phase 2 optimized mesh NURBS surface (Krishnamurthy&Levoy) (Eck&Hoppe) phase 3 optimizedsubdivision surface CAD models (Sequin)