Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

34
Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin

Transcript of Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Page 1: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Interactive Inverse 3D Modeling

James Andrews

Hailin Jin

Carlo Séquin

Page 2: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Inspiration

One object generative concept Parameterized sculpture generator (1995)

Extend concept to general parts

Page 3: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Interactive Inverse 3D Modeling

Goal: Let users impose any high level structure on model, to immediately use for redesign.

Initial artifact Redesigns enabled by different imposed structure

Page 4: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Editing Rotational Symmetry

3 fold 4 fold 20 fold

Extract one sector; collapse/expand in polar coordinates.

Page 5: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Editing as Surface of Revolution

Page 6: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Sweep

Page 7: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Our goals:

1. User-guided reverse engineering for broad applications- Including mechanical parts, household appliances,

and freeform artistic shapes.

2. User imposes high-level structure on representation- Not error focused; user can impose conceptual model

with desired degrees of freedom and parameters.

3. Fast data fitting + shape editing in same tool - Enable immediate, interactive re-design.

4. Freely allow interactive model re-interpretation- As re-design goals change, best structure changes

Page 8: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Reverse EngineeringObtaining a robust and versatile CAD modelfrom a physical artifact or from images.

Typically focus on a single best / versatile reconstruction

Related work:

Page 9: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

“Creating Generative Models from Range Images”Ravi Ramamoorthi and James Arvo

Related Work:Optimize to find high level parameters for re-design

Page 10: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Pipeline

Unstructured mesh

Photos

3D scans

Input Data

Editable Model

ModelHierarchy& Re-fitting

Clean

User-guided fitting

modules

Nice rendering

STL for RP

OBJ for CAD

Redesigned output

Page 11: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Input Sources• 3D meshes• 3D Point clouds from scanner• Photographs

Page 12: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

User-Guided Fitting Modules• Stationary sweeps:

(Surfaces of revolution, helices, etc)

• Progressive sweeps:

• Quadrics:

• Freeform surfaces:

Page 13: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

… then assume point is from sweep.

If normal perp. to velocity field:

(simple motion) (simple velocity field)

Defined by a simple sweep motion (eg. Revolution, Helix, Spiral)Stationary Sweeps

Page 14: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Algorithm:

1. Find velocity field that fits marked data points:

2. Grow region to add more points

3. Repeat (typically converges in 2-3 iterations)

Minimize (subject to constraint):

[Pottmann, Lee, and Randrup, 98]

User stroke

Page 15: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Interactive Surface Editing

• No explicit sweep profile curve is needed!Rotate all mesh vertices to a shared plane

• Can just grab all surface mesh points that fall into selected (pink) region.

Page 16: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

• [Video demo of stationary sweep edits]

Page 17: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Progressive Sweeps• More parameters: incremental local adjustments• Allow more complex cross-section moves

(translation, rotation, scaling)• User stroke provides initial guess• Fit by iteratively extending and optimizing

Page 18: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Progressive Fitting1. Starting from user stroke, optimize cross section

2. Iteratively extend and re-optimize

3. Stop when best further extension would have high error

[Andrews, Joshi, Sequin 2011]

Page 19: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Diverse Sweeps from User Strokes

Page 20: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Progressive Sweep Edits

• Changing the (red) cross section…

…globally (shape) - or locally (scale)

Page 21: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Progressive Sweep Edits• Modifying the sweep path & scaling,• while preserving surface details:

Page 22: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

• [Video demo of progressive sweep edits]

Page 23: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Quadric Fitting

- Use same region-growing strategy as stationary sweeps- Using Taubin’s method to fit

Spheres, Ellipsoids, Paraboloids, etc

Red = Quadric surfaceGreen = Original surface

Page 24: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Taubin’s method:minimize algebraic distance with gradient normalized to an average squared value of 1.

A small generalized Eigenvalue problem.

[Taubin, 91]

Page 25: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

• [Video demo of quadric fitting]

Page 26: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Freeform Surfaces

Workhorse to handle “everything else” - For meshes, use Laplacian surface editing

Page 27: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Laplacian surface editing

[Sorkine et al. 2004]

= Smooth surface

= Detail preserving

(A standard large, symmetric linear least squares problem)

Smooth/preserve Laplacian

Approx. interpolate control points tc

(solve w/ cholmod)

Page 28: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

• [Video demo of Laplacian surface edits]

Page 29: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Pipeline

Unstructured mesh

Photos

3D scans

Input Data

Editable Model

ModelHierarchy& Re-fitting

CleanUser-guided fitting

modules

Nice rendering

STL for RP

OBJ for CAD

Redesigned output

Page 30: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

CleanupSelf-intersection

Page 31: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Hierarchical Fitting

1. Sweep is fit to sculpture, 2. Quadric is fit to the points of a sweep path, 3. Sweep path is projected to quadric during editing.

1 2 3

Page 32: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Revolve around major axis

Ellipse cross- section; scaled by profile curve

(revolution may be elliptical!)

Quadric Surface ofRevolution

Sweep

Model Re-Fitting

Page 33: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Future Work

Page 34: Interactive Inverse 3D Modeling James Andrews Hailin Jin Carlo Séquin.

Acknowledgements

This work was supported in part by the National Science Foundation (NSF award #CMMI-1029662 (EDI))

and by Adobe Systems.

Thanks to:

The Image-based 3D Models Archive, Tlcom Paris,

and to the Stanford Computer Graphics Laboratory

for some of the test data used.