Upload
devin-harper
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
My PhD Thesis WorkMy PhD Thesis Work
With:With:Tony DeRoseTony DeRose (Computer Science)(Computer Science)Tom DuchampTom Duchamp (Mathematics)(Mathematics)John McDonaldJohn McDonald (Statistics)(Statistics)Werner StuetzleWerner Stuetzle (Statistics)(Statistics)......
(University of Washington, ‘91-’94)(University of Washington, ‘91-’94)
3D Scanning3D Scanning
digitalmodel
physicalobject
computer-aided design (CAD)
reverse engineering/3D scanning
shape color materialsurface
reconstruction
Why 3D scanning?Why 3D scanning?
Digital models for many objects don’t exist.Digital models for many objects don’t exist. reverse engineering reverse engineering (Boeing 737X)(Boeing 737X) archivingarchiving virtual environmentsvirtual environments
Traditional design Traditional design (using clay)(using clay)
car industrycar industry computer animationcomputer animation
3D faxing!3D faxing!
Surface reconstructionSurface reconstruction
pointspointsPP
surfacesurfaceSS
reverse engineeringreverse engineering traditional design (wood,clay)traditional design (wood,clay) virtual environmentsvirtual environments
smo
oth
su
rfa
ces
smo
oth
su
rfa
ces
B-splineB-spline
Previous workPrevious work
subdivisionsubdivision
implicitimplicit
meshesmeshes
simplesimplesurface topological typesurface topological type
[Schumaker93], …[Schumaker93], …
arbitraryarbitrary
[Sclaroff-Pentland91],[Sclaroff-Pentland91],......
--
[Schmitt-etal86],[Schmitt-etal86],[Forsey-Bartels95],...[Forsey-Bartels95],...
[Hoppe-etal92,93],,[Turk-Levoy94], ...[Turk-Levoy94], ...
[Moore-Warren91],[Moore-Warren91],[Bajaj-etal95][Bajaj-etal95]
[Hoppe-etal94]
[Krishnamurthy-Levoy][Krishnamurthy-Levoy][Eck-Hoppe96],……
Surface reconstruction problemSurface reconstruction problem
GivenGiven: points : points PP sampled from sampled from unknown surface unknown surface UU
GoalGoal: reconstruct a surface : reconstruct a surface SS approximating approximating UU accurate (w.r.t. accurate (w.r.t. PP, and , and UU!)!) conciseconcise
Why is this difficult?Why is this difficult?
Points Points PP unorganizedunorganized noisynoisy
Surface Surface SS arbitrary, unknown topological typearbitrary, unknown topological type sharp featuressharp features
Algorithm must infer:Algorithm must infer: topology, geometry, and sharp featurestopology, geometry, and sharp features
3-Phase reconstruction method3-Phase reconstruction method
phase 1phase 1
points
initial mesh
optimized mesh
optimizedsubdivision surface
phase 2phase 2
phase 3phase 3Find piecewise Find piecewise smoothsmooth surface. surface.
Find initial surface of correctFind initial surface of correct topological type. topological type.
Detect Detect sharpsharp features automatically features automatically
Improve its accuracy andImprove its accuracy and conciseness. conciseness.
Goals:Goals:
[SIGGRAPH9[SIGGRAPH92]2]
[SIGGRAPH9[SIGGRAPH93]3]
[SIGGRAPH9[SIGGRAPH94]4]
ExampleExample
1 2
3
13,000 points13,000 points
Phase 1: Initial surface estimationPhase 1: Initial surface estimation
If If UU were known, it would satisfy were known, it would satisfy U = Z(d) = { p | d(p)=0 }U = Z(d) = { p | d(p)=0 } , ,where where d(p)d(p) is the is the signed distancesigned distance of of pp to to UU
UUd(p)?d(p)? ++ ++ ++ ++
++++
++++
++++ ++ ++ ++ ++
++++++
++
++++
++++
++++
++
– – –––––
– – ––d(p)?d(p)?
Estimate Estimate dd from from PP Extract Extract Z(d)Z(d)
SSPP
Phase 1 (cont’d)Phase 1 (cont’d)
How to estimate How to estimate dd??
compute tangent planescompute tangent planes orient them consistentlyorient them consistently
Phase 1 (cont’d)Phase 1 (cont’d)
How to extract How to extract Z(d)Z(d)??
run “marching cubes”run “marching cubes”
Phase 2: Mesh optimizationPhase 2: Mesh optimization
InputInput: data points : data points PP, initial mesh , initial mesh MMinitialinitial
OutputOutput: optimized mesh : optimized mesh M, M, minimizingminimizing
E(M) = EE(M) = Edistancedistance + E + Ecomplexitycomplexity
2
Phase 2 (cont’d)Phase 2 (cont’d)
Optimization over:Optimization over:
the number of verticesthe number of vertices
their connectivitytheir connectivity
their positionstheir positions
consider any mesh of the same topological type as consider any mesh of the same topological type as MMinitialinitial
Phase 2 (cont’d)Phase 2 (cont’d)
Nested optimization:Nested optimization: optimize connectivityoptimize connectivity for fixed connectivity, optimize geometryfor fixed connectivity, optimize geometry
edge collapseedge collapse edge swapedge swapedge splitedge split
Greedy approach:Greedy approach: consider local perturbationsconsider local perturbations accept if accept if E(M)<0E(M)<0
Phase 2: ResultsPhase 2: Results
using 31,000 pointsusing 31,000 pointsfrom Digibotics, Inc.from Digibotics, Inc.
using 13,000 pointsusing 13,000 points using 182,000 pointsusing 182,000 pointsfrom Technical Arts Co.from Technical Arts Co.
Phase 3: Piecewise smooth surfacePhase 3: Piecewise smooth surface
piecewise piecewise planar piecewise piecewise smooth surface surface
3
Subdivision surfacesSubdivision surfaces
MM00 MM11 MM22 S=MS=M
[Loop87]
tagged control mesh
[Hoppe-etal94]
Phase 3 (cont’d)Phase 3 (cont’d)
Generalize phase 2 optimization:Generalize phase 2 optimization:
edge collapseedge collapse edge swapedge swapedge splitedge split edge tag
Again, apply perturbation if Again, apply perturbation if E(M)<0E(M)<0
Phase 3: ResultsPhase 3: Results
Related workRelated work
phase 1phase 1
initial mesh
optimized mesh
optimizedsubdivision surface
phase 2phase 2
phase 3phase 3
volumetric repr. volumetric repr. (Curless&Levoy)(Curless&Levoy)
alpha shapes alpha shapes (Edelsbrunner)(Edelsbrunner)
CAD models (Sequin)CAD models (Sequin)
NURBS surfaceNURBS surface (Krishnamurthy&Levoy) (Krishnamurthy&Levoy) (Eck&Hoppe) (Eck&Hoppe)