cs 523: computer graphics, spring 2011 shape modeling

Post on 12-Jun-2022

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CS 523: Computer Graphics, Spring 2011

Shape Modeling

Sketch-based Interfaces and

Algorithms for shape creation

and editing

3/29/2011Andrew Nealen, Rutgers, 2011 1

Overview

� Teddy

[Igarashi et al. 1999]

� Sketch based mesh

editing [Nealen et al 2005]

� FiberMesh

[Nealen et al. 2007]

� SilSketch

[Zimmermann et al. 2008]

Andrew Nealen, Rutgers, 2011 3/29/2011 2

Primary Goal

� Find a possible solution to the

human “video out” problem

Machine Human

Video in

Video out ?

3/29/2011 3Andrew Nealen, Rutgers, 2011

The Main Question

� How can we convey a mental model of shape

to a digital computer ?

Machine Human

Video in

Video out ?

3/29/2011 4Andrew Nealen, Rutgers, 2011

MotivationModel Creation

� Digital 3D model creation from scratch is hard

� Common workflow(s)� Create clay model

+ scan� Laser scanner

� Position tracking

� Create coarse 3D model + refine� Subdivision surfaces

� Parametric patches

� Detail maps

3/29/2011 5Andrew Nealen, Rutgers, 2011

Problem

� How to construct 3D surface from 2D sketch?

� Infer the missing depth information

� Construct a discrete surface

� What rule(s) to use?

Andrew Nealen, Rutgers, 2011 3/29/2011 6

Background

� Study on Human perception of 3D shape from

2D drawings [Hoffman 2004]

Andrew Nealen, Rutgers, 2011 3/29/2011 7

Specific Algorithms

� Level-set method [Williams 91]

� Heuristic mesh construction [Igarashi 99]

� Volumetric construction [Owada 03]

� Convolution surface [Alexe 05]

� Blob tree (Implicit surface) [Schmidt 05]

� Mass-spring system [Karpenko 06]

� Optimization [Nealen 07]

Andrew Nealen, Rutgers, 2011 3/29/2011 8

Level-set Method[Williams 91]

� Compute implicit representation of the

contour

Andrew Nealen, Rutgers, 2011 3/29/2011 9

Teddy

Andrew Nealen, Rutgers, 2011 3/29/2011 10

Heuristic Mesh ConstructionTeddy

3/29/2011 11Andrew Nealen, Rutgers, 2011

1. Find axes 2. Elevate axes

3. Wrap polygon and axes

Heuristic Mesh ConstructionTeddy

3/29/2011 12Andrew Nealen, Rutgers, 2011

Input 2D polygon

Heuristic Mesh ConstructionTeddy

3/29/2011 13Andrew Nealen, Rutgers, 2011

Constrained Delaunay Triangulation

Heuristic Mesh ConstructionTeddy

3/29/2011 14Andrew Nealen, Rutgers, 2011

Discrete chordal axis [Prasad 97]

Heuristic Mesh ConstructionTeddy

3/29/2011 15Andrew Nealen, Rutgers, 2011

Before trimming After trimming

Heuristic Mesh ConstructionTeddy

3/29/2011 16Andrew Nealen, Rutgers, 2011

Lift the axes, put quarter ovals on the

internal edges, and generate mesh.

Heuristic Mesh ConstructionTeddy

3/29/2011 17Andrew Nealen, Rutgers, 2011

Teddy

� Results

� Fast and first of its kind

� Meshes are of low quality

Andrew Nealen, Rutgers, 2011 3/29/2011 18

Sketch-based mesh editing

Andrew Nealen, Rutgers, 2011 3/29/2011 19

MotivationModel Modification

� Digital 3D model modification is nontrivial

� Multiresolution mesh editing /w subdivision

3/29/2011 20Andrew Nealen, Rutgers, 2011

MotivationModel Modification

� Digital 3D model modification is nontrivial

� Laplacian / Poisson mesh editing /w handle

Affine Handle

[Sorkine et al. 2004]

[Botsch and Kobbelt 2004]

3/29/2011 21Andrew Nealen, Rutgers, 2011

• A sketch-based interface...

– Feature modification

(object-space silhouettes)

– Feature creation

(sharp features, ridges, ravines)

• ... For detail-preserving mesh editing

– Adjust remaining geometry around the modified/created feature

such that shape characteristics are preserved

Ideas and Contributions

3/29/2011 22Andrew Nealen, Rutgers, 2011

� Silhouette sketching• Feature sketching• Sketching a shape can be interpreted as

inverse Non-Photorealistic Rendering

• A sketch-based

modeling interface

which uses silhouettes

and sketches as input,

and produces contours,

ridges and ravines

Ideas and Contributions

3/29/2011 23Andrew Nealen, Rutgers, 2011

Inspiration and Motivation

� The (affine) handle metaphor

� Used in (almost) every editing tool

� Nice, but can be unintuitive for

specific editing tasks

� Laplacian Mesh Editing

� Preserve local detail after

imposing editing constraints

[Sorkine et al. 04]

[Sorkine et al. 04] [Zhou

et al. 05]

[Botsch and Kobbelt 04]

3/29/2011 24Andrew Nealen, Rutgers, 2011

• Discrete Laplacians

=L x δδδδ

n

δδδδcotangent : wij = cot αij + cot βij

( , )

( , )

1i i ij j

i j Eij

i j E

ww ∈

= − ∑∑

δ x x

Mesh Modeling Framework

Mesh Modeling Framework

� Surface reconstruction

=L x δδδδ

L

L

y

z

x

δδδδz

δδδδy

δδδδxn

δδδδcotangent : wij = cot αij + cot βij

( , )

( , )

1i i ij j

i j Eij

i j E

ww ∈

= − ∑∑

δ x x

3/29/2011 26Andrew Nealen, Rutgers, 2011

Implicitly compute Ti

transformations by comparing 1-

rings of the deformed and non-

deformed mesh

For the details see:

Laplacian Mesh Editing

[Sorkine et al. 04]

δδδδz

δδδδy

δδδδx

0

• Implicit transformations

y

z

xn

=

Ti (Rotation/Scale)

L

L

LL/Ti

L/Ti

L/Ti

Ti

Ti

Mesh Modeling Framework

Mesh Modeling Framework

� Surface reconstruction

y

z

xn

=

c1

1

1

1

fix

L/Ti

L/Ti

L/Ti

Ti

Ti

0

3/29/2011 28Andrew Nealen, Rutgers, 2011

c1

Mesh Modeling Framework

� Editing operations

y

z

xn

=

1

1

1

fixedit

c2

1

1

1

L/Ti

L/Ti

L/Ti

Ti

Ti

0

3/29/2011 29Andrew Nealen, Rutgers, 2011

δδδδz

δδδδy

δδδδx

0

c1

• Least-Squares solution

y

z

xn

=

1

1

1

fixw

1w

1edit

c2

1

1

1w

2w

2

wLi

wLi

L

L

LL/Ti

L/Ti

L/Ti

Ti

Ti

A x = b

ATA x = bAT

(ATA)-1x = bAT

Normal Equations

Mesh Modeling Framework

• Using silhouettes as handles

– Detect object space silhouette

– Project to screen space

and parametrize [0,1]

– Parametrize sketch [0,1]

– Find correspondences

Silhouette Sketching

• Using silhouettes as handles

– Detect object space silhouette

– Project to screen space

and parametrize [0,1]

– Parametrize sketch [0,1]

– Find correspondences

– Use as positional constraints

while retaining depth value

Silhouette Sketching

Silhouette Sketching

� What is a good silhouette?

vie

we

r

3/29/2011 33Andrew Nealen, Rutgers, 2011

Silhouette Sketching

� What is a good silhouette?

vie

we

r

Illustrating Smooth Surfaces

[Hertzmann and Zorin 00]

3/29/2011 34Andrew Nealen, Rutgers, 2011

c1

Silhouette Sketching

� On edge constraints

y

z

xn

=

1

1

1

fixw

1w

1edit

c2

1

1

1w

2w

2

wLi

wLi

edit

λ xi + (1-λ) xj

c3w3

w3

λλλλ 1−λλλλ

λλλλ 1−λλλλ

λλλλ 1−λλλλ

L/Ti

L/Ti

L/Ti

Ti

Ti

0

3/29/2011 35Andrew Nealen, Rutgers, 2011

Silhouette Sketching

� Approximate sketching

� Balance weighting between detail and positional constraints

3/29/2011 36Andrew Nealen, Rutgers, 2011

Silhouette Sketching

� Approximate sketching

� Balance weighting between detail and positional constraints

3/29/2011 37Andrew Nealen, Rutgers, 2011

� We wish to influence (discrete) differential properties of

the mesh for arbitrary sketches

� Possible solution

� Cut existing polygons along the sketch and add new edges

� Our solution

� Adjust mesh geometry to lie under the sketch (as seen from the

camera), while preserving mesh topology and ensuring well

shaped triangles

Feature Sketching

3/29/2011 38Andrew Nealen, Rutgers, 2011

� First: min cost edge path (close to sketch)

� Potentially jaggy appearance

screen

v1

v2

n

Geometry Adjustment

sketch

vO

(orthographic) viewer

(schematic) cross-section

3/29/2011 39Andrew Nealen, Rutgers, 2011

tangent plane

vOC

n

Geometry Adjustment

� Second: projection onto sketch

screensketch

vSvSC

n

v1

v2

vO

(orthographic) viewer

3/29/2011 40Andrew Nealen, Rutgers, 2011

tangent plane

vOC

n

Geometry Adjustment

� Second: projection onto sketch

� Approximates the sketch very well

� Can introduce badly shaped tri‘s

screensketch

vSvSC

n

v1

v2

vO

(orthographic) viewer

3/29/2011 41Andrew Nealen, Rutgers, 2011

� Third: local mesh regularization

� Ask uniformly weighted Laplacian to become cotangent

weighted Laplacian, while fixing path vertices

vOC

n

Geometry Adjustment

v1

v2

screensketch

v´1

v´2

δδδδcotangent

δδδδumbrella

x = δδδδL

fix

=L x δδδδ

3/29/2011 42Andrew Nealen, Rutgers, 2011

� Third: local mesh regularization

� Well shaped triangles and nice piecewise linear approximation

of the users sketch

vOC

n

Geometry Adjustment

screensketch

v´1

v´2

δδδδcotangent

x = δδδδL

fix

=L x δδδδ

3/29/2011 43Andrew Nealen, Rutgers, 2011

� Edit: scale (or add to) Laplacians

vOC

n

Feature Edit

v´1

v´2

δδδδcotangent

3/29/2011 44Andrew Nealen, Rutgers, 2011

Feature Edit

� Edit: scale (or add to) Laplacians

v´1

v´2

δδδδcotangent

n

3/29/2011 45Andrew Nealen, Rutgers, 2011

Feature Edit

v´1

v´2

δδδδcotangent

n

3/29/2011 46Andrew Nealen, Rutgers, 2011

c1

Laplacian Constraints

� Scale (or add to) Laplacians

y

z

xn

=

1

1

1

fixw

1w

1

wLi

wLi

L/Ti

L/Ti

L/Ti

Ti

Ti

0

δδδδz

δδδδy

δδδδx

ATA x = bAT

(ATA)-1x = bAT

Normal Equations

δδδδ

3/29/2011 47Andrew Nealen, Rutgers, 2011

Contour Edit

n nv

nr

radial plane

nr

3/29/2011 48Andrew Nealen, Rutgers, 2011

Contour Edit

n nv

nr

radial plane

nr

3/29/2011 49Andrew Nealen, Rutgers, 2011

Contour Edit

radial curvature

Inflection line

3/29/2011 50Andrew Nealen, Rutgers, 2011

Contour Edit

3/29/2011 51Andrew Nealen, Rutgers, 2011

Editing Session Result

3/29/2011 52Andrew Nealen, Rutgers, 2011

Problem: noisy Surface Silhouette

3/29/2011 53Andrew Nealen, Rutgers, 2011

Discussion…

� The good...

� Intuitive, sketch-based User Interface for silhouette deformation

and feature creation/modification

� Fast model updates after sketch (Iterative Modeling)

� Preserves surface detail as much as possible

� ... and the not so good

� Object-Space sil‘s useless in the presence of heavy noise

� Editing differential properties can take time to learn

3/29/2011 54Andrew Nealen, Rutgers, 2011

FiberMesh

Andrew Nealen, Rutgers, 2011 3/29/2011 55

Problem Statement

� 3D modeling from scratch is difficult

• Sketching

Produces simple,

rough models

• Parametric patches

• Subdivision

surfaces

Initial patch layout

can be tedious

3/29/2011 56Andrew Nealen, Rutgers, 2011

� Curves as the user interface

� The user‘s sketches are persistent, and used as a

modeling handles

� Topologically flexible = add / remove anywhere

� Fast surface construction by (nonlinear)

functional optimization

� Incorporates curve constraints

� Runs at interactive rates

FiberMeshOverview and Contributions

3/29/2011 57Andrew Nealen, Rutgers, 2011

FiberMesh Demo

3/29/2011 58Andrew Nealen, Rutgers, 2011

Algorithm Overview

� 3D curve deformation

� Surface optimization

Handle position Curve geometry

Curve geometry

Surface geometry

Please see paper for

details...

3/29/2011 59Andrew Nealen, Rutgers, 2011

Surface Optimization ?

3/29/2011 60Andrew Nealen, Rutgers, 2011

InspirationsCurve and Surface Optimization

• Minimal energy networks

[Moreton and Sequin1991]

• Functional optimization [Moreton

and Sequin 1992]

• Variational surface modeling

[Welch and Witkin 1992]

• Shape design with triangulated

surfaces [Welch and Witkin 1994]

• What defines „smooth“ ?

0)( =xkL

Surface OptimizationDiscrete Differential Geometry

See work from

Polthier, Desbrun, Meyer, Alliez, Grinspun, Schröder, etc.

vi

vj

αβ

3/29/2011 62Andrew Nealen, Rutgers, 2011

Surface OptimizationDiscrete Differential Geometry

� Laplacian operators

� Uniform Laplacian Lu(vi)

� Cotangent Laplacian Lc(vi)

� Mean curvature normal

vi

vj

α

β

Ai

3/29/2011 63Andrew Nealen, Rutgers, 2011

Surface OptimizationTwo Important Observations !

� Laplacian operators

� Uniform Laplacian Lu(vi)

� Cotangent Laplacian Lc(vi)

� Mean curvature normal

� Cotangent Laplacian = mean curvature normal x vertex area (Ai)

� For nearly equal edge lengths

Uniform ≈ Cotangent

vi

vj

α

β

Ai

3/29/2011 64Andrew Nealen, Rutgers, 2011

Surface OptimizationTwo Important Observations !

� Laplacian operators

� Uniform Laplacian Lu(vi)

� Cotangent Laplacian Lc(vi)

� Mean curvature normal

� Cotangent Laplacian = mean curvature normal x vertex area (Ai)

� For nearly equal edge lengths

Uniform ≈ Cotangent

vi

vj

α

β

Ai

3/29/2011 65Andrew Nealen, Rutgers, 2011

Surface OptimizationLinear- or Nonlinear Optimization ?

� Linear variational methods [Botsch and Sorkine 2007]

� Instead: nonlinear optimization

� Inspired by a discrete fairing algorithm

� Geometric fairing of irregular meshes for free-form surface

design [Schneider and Kobbelt 2002]

result

3/29/2011 66Andrew Nealen, Rutgers, 2011

Ite

rate

ve

rte

x

po

siti

on

s

Surface OptimizationOverview of a Single Step

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Sca

le u

nit

no

rma

l

ve

cto

rs

Resulting geometry

Positional constraints

• Linear system

• But: matrix recomputation

• Iterative procedure not

designed for

interactive response

Unit normals

Target mean

curvature

normals

= c · n

=c 0000Lc

3/29/2011 67Andrew Nealen, Rutgers, 2011

Surface OptimizationOur Optimizations and Approximations

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Resulting geometry

Positional constraints

• Linear system

• Reuse matrix factorization

Sca

le u

nit

no

rma

l

ve

cto

rs

Ite

rate

ve

rte

x

po

siti

on

s

Target mean

curvature

normals

= c · n

=c 0000Lu

3/29/2011 68Andrew Nealen, Rutgers, 2011

Surface OptimizationOur Optimizations and Approximations

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Resulting geometry

Positional constraints

• Linear system

• Reuse matrix factorization

So

lve

lea

st

squ

are

s

Sca

le u

nit

no

rma

l

ve

cto

rs

Target mean

curvature

normals

= c · n

=Lu

x ????

=c 0000Lu

3/29/2011 69Andrew Nealen, Rutgers, 2011

Surface OptimizationOur Optimizations and Approximations

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Resulting geometry

Positional constraints

• Linear system

• Reuse matrix factorization

So

lve

lea

st

squ

are

s

Sca

le u

nit

no

rma

l

ve

cto

rs

=Lu

x δδδδc

Target mean

curvature

normals

= c · n

=c 0000Lu

3/29/2011 70Andrew Nealen, Rutgers, 2011

Surface OptimizationOur Optimizations and Approximations

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Resulting geometry

Positional constraints

• Linear system

• Reuse matrix factorization

So

lve

lea

st

squ

are

s

Sca

le u

nit

no

rma

l

ve

cto

rs

Target cotan

Laplacians = δδδδc

= c · n · A

=Lu

x δδδδc

=c 0000Lu

3/29/2011 71Andrew Nealen, Rutgers, 2011

vi

vj

α

β

Surface OptimizationRequirements for our Approximations

� We replace Lc with Lu in both steps

� This a viable approximation for:

3/29/2011 72Andrew Nealen, Rutgers, 2011

vi

vj

α

β

� We replace Lc with Lu in both steps

� This a viable approximation for:

� (A) nearly equal edge

lengths (smooth metric)

� (B) nearly equal vertex

areas

Surface OptimizationRequirements for our Approximations

3/29/2011 73Andrew Nealen, Rutgers, 2011

• Setting Lu(x) equal to δδδδc

improves inner fairness

• Smooth the edge lengths

• Constrain edge vectors

Surface OptimizationHow to Enforce (A) and (B)

=Lu

x δδδδc

[Nealen et al. 2006]

3/29/2011 74Andrew Nealen, Rutgers, 2011

Surface OptimizationAdding Edge Vector Constraints to LS

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Resulting geometry

Positional constraints

So

lve

lea

st

squ

are

s

Sca

le v

ect

ors

Target δδδδc

= c · n · A

Target edge lengths(scalar)

Current edge lengths

(scalar)

Target edge vectors

Unit edge

vectors

3/29/2011 75Andrew Nealen, Rutgers, 2011

Surface OptimizationA Single Step of the Optimization

Current geometry

Current curvatures

(scalar)

Target curvatures

(scalar)

Dif

fusi

on

(sm

oo

thin

g)

Resulting geometry

Positional constraints

So

lve

lea

st

squ

are

s

Sca

le v

ect

ors

Target δδδδc

= c · n · A

Target edge lengths(scalar)

Current edge lengths

(scalar)

Target edge vectors

3/29/2011 76Andrew Nealen, Rutgers, 2011

Results

3/29/2011 77Andrew Nealen, Rutgers, 2011

ResultsNovice User

15 min intructions + 20 minutes tryout3/29/2011 78Andrew Nealen, Rutgers, 2011

Results2D Artist

15 min intructions + 10 minutes tryout3/29/2011 79Andrew Nealen, Rutgers, 2011

Results2D Artist

... + 20 minutes tryout3/29/2011 80Andrew Nealen, Rutgers, 2011

ResultsBase Model Creation

3/29/2011 81Andrew Nealen, Rutgers, 2011

DiscussionTo be Improved...

� Takes a bit to learn the interface operations and their combinations

� Larger meshes would be nice

� Perhaps „freeze“ part of the meshIn general: entire mesh is optimized

� Multigrid / Multiresolution acceleration techniques

� Add more intuitive modeling operations:symmetry, vertex snapping, merging, etc.

3/29/2011 82Andrew Nealen, Rutgers, 2011

SilSketch

Andrew Nealen, Rutgers, 2011 3/29/2011 83

SilSketchDemo

3/29/2011 84Andrew Nealen, Rutgers, 2011

SilSketchAlgorithm Overview

3/29/2011 85Andrew Nealen, Rutgers, 2011

Sil Detection and SegmentationImage Space

3/29/2011 86Andrew Nealen, Rutgers, 2011

Which Lines to Match Against ?

Depth

Discontinuities

Normal

Discontinuities

Combined

Discontinuities

Flat

Shaded

+

We Use

3/29/2011 87Andrew Nealen, Rutgers, 2011

Some Segmentation Results

Resolve depth ambiguity3/29/2011 88Andrew Nealen, Rutgers, 2011

Partial MatchingImage Space

3/29/2011 89Andrew Nealen, Rutgers, 2011

Partial Matching

Input• Silhouette polyline(s)

• User stroke (polyline as well)

Criterions• Proximity

• Shape similarity

Shape Matching• Partial Matching of Polylines under Similarity

Transformations Cohen and Guibas [1997]

3/29/2011 90Andrew Nealen, Rutgers, 2011

Handle deformation and ROIObject Space

3/29/2011 91Andrew Nealen, Rutgers, 2011

Handle VerticesMoving from 2D to 3D

3/29/2011 92Andrew Nealen, Rutgers, 2011

Region of Interest

3/29/2011 93Andrew Nealen, Rutgers, 2011

Results

3/29/2011 94Andrew Nealen, Rutgers, 2011

Editing Sequence (1)

3/29/2011 95Andrew Nealen, Rutgers, 2011

Editing Sequence (2)

3/29/2011 96Andrew Nealen, Rutgers, 2011

Editing Sequence Result

3/29/2011 97Andrew Nealen, Rutgers, 2011

SilSketch Summary

� The human visual system uses silhouettes as the first index into its memory of shapes

� SilSketch leverages this human “shape database“

� This enables the creation of diverse shapes for non professionals

� Extends affine handle transformations to general handle warps

� Was added to the content creation pipeline at Disney Animation Studios

3/29/2011 98Andrew Nealen, Rutgers, 2011

Many other works out there...

� Some research

� SKETCH [Zeleznik et al. 1996]

� Variational implicits [Karpenko et al. 2002]

� ShapeShop [Schmidt et al. 2005]

3/29/2011 99Andrew Nealen, Rutgers, 2011

Conclusions

� Further step(s) towards a human “video out“

3/29/2011 100Andrew Nealen, Rutgers, 2011

top related