My PhD Thesis Work (University of Washington, ‘91-’94) With: Tony DeRose (Computer Science) Tom Duchamp (Mathematics) John McDonald (Statistics) Werner Stuetzle (Statistics) ...
Download
Report
Transcript My PhD Thesis Work (University of Washington, ‘91-’94) With: Tony DeRose (Computer Science) Tom Duchamp (Mathematics) John McDonald (Statistics) Werner Stuetzle (Statistics) ...
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
surface
reconstruction
material
Why 3D scanning?
Digital models for many objects don’t exist.
Traditional design (using clay)
reverse engineering (Boeing 737X)
archiving
virtual environments
car industry
computer animation
3D faxing!
Surface reconstruction
points
P
surface
S
reverse engineering
traditional design (wood,clay)
virtual environments
Previous work
surface topological type
simple
arbitrary
[Schumaker93], …
[Hoppe-etal92,93],
[Turk-Levoy94], ...
implicit
[Sclaroff-Pentland91],
...
[Moore-Warren91],
[Bajaj-etal95]
subdivision
-
[Hoppe-etal94]
B-spline
[Schmitt-etal86],
[Forsey-Bartels95],...
[Krishnamurthy-Levoy]
[Eck-Hoppe96],…
smooth surfaces
meshes
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
Surface S
unorganized
noisy
arbitrary, unknown topological type
sharp features
Algorithm must infer:
topology, geometry, and sharp features
3-Phase reconstruction method
points
[SIGGRAPH92]
Goals:
phase 1
Find initial surface of correct
topological type.
initial mesh
[SIGGRAPH93]
phase 2
Improve its accuracy and
conciseness.
optimized mesh
[SIGGRAPH94]
phase 3
Find piecewise smooth surface.
Detect sharp features automatically
optimized
subdivision surface
Example
1
13,000 points
3
2
Phase 1: Initial surface estimation
U
If U were known, it would satisfy
U = Z(d) = { p | d(p)=0 } ,
where d(p) is the signed distance of p to U
d(p)? + + + + +
+ + ++
+
+
– – – ++
+ –– –
+
–
–
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
2
Input: data points P, initial mesh Minitial
Output: optimized mesh M, minimizing
E(M) = Edistance + Ecomplexity
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 split
edge swap
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
3
piecewise planar piecewise smooth surface
Subdivision surfaces
[Loop87]
M0
[Hoppe-etal94]
tagged control mesh
M1
M2
S=M
Phase 3 (cont’d)
Generalize phase 2 optimization:
edge collapse
edge split
edge swap
Again, apply perturbation if DE(M)<0
edge tag
Phase 3: Results
Related work
volumetric repr. (Curless&Levoy)
phase 1
alpha shapes (Edelsbrunner)
initial mesh
phase 2
optimized mesh
phase 3
optimized
subdivision surface
NURBS surface
(Krishnamurthy&Levoy)
(Eck&Hoppe)
CAD models (Sequin)