algorithms and interfaces for real-time deformation of 2d ...jacobson/images/alec... · of 2d and...

177
Algorithms and Interfaces for Real-Time Deformation of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013

Upload: others

Post on 21-Apr-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

Algorithms and Interfaces for Real-Time Deformation of 2D and 3D Shapes

Alec Jacobson ETH Zurich

June 9, 2013

Page 2: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 2

skinning deformation modeling in Maya 3d printing

analysis and manipulation creation consumption

Deformation is an important phase in the life of a shape

Image courtesy Romain Prévost

Page 3: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 3

skinning deformation modeling in Maya 3d printing

analysis and manipulation creation consumption

Deformation is an important phase in the life of a shape

Image courtesy Romain Prévost

Page 4: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 4

procedural constraints

User constraints drive deformation toward goal

explicit constraints

Page 5: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 5

procedural constraints

User constraints drive deformation toward goal

explicit constraints

Page 6: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 6

procedural constraints

User constraints drive deformation toward goal

explicit constraints

Page 7: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Deformation applies to images as planar shapes

June 9, 2013 Alec Jacobson 7

non-convex “cut-out” cartoons

entire image rectangle

Page 8: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Deformation applies to images as planar shapes

June 9, 2013 Alec Jacobson 8

non-convex “cut-out” cartoons

entire image rectangle

Page 9: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 9

2D 3D

Real-time performance critical for interactive design and animation

Page 10: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 10

2D 3D

Real-time performance critical for interactive design and animation

Page 11: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Real-time performance critical for interactive design and animation

June 9, 2013 Alec Jacobson 11

Page 12: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Many previous techniques provide quality, but not speed

June 9, 2013 Alec Jacobson 12

high-quality solutions to nonlinear elasticity energy minimizations: ~seconds e.g. [Botsch et al. 2006]

physically accurate muscle systems require off-line simulation e.g. [Teran et al. 2005]

Image courtesy Joseph Teran

Page 13: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Other techniques limit user interface

June 9, 2013 Alec Jacobson 13

Page 14: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Other techniques limit user interface

June 9, 2013 Alec Jacobson 14

e.g. [Ju et al. 2005]

Page 15: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Other techniques limit user interface

June 9, 2013 Alec Jacobson 15

Page 16: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Other techniques limit user interface

June 9, 2013 Alec Jacobson 16

Page 17: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Other techniques limit user interface

June 9, 2013 Alec Jacobson 17

Page 18: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Each handle type has a specific task, more than just different modeling metaphor

June 9, 2013 Alec Jacobson 18

Page 19: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Each handle type has a specific task, more than just different modeling metaphor

June 9, 2013 Alec Jacobson 19

Page 20: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Each handle type has a specific task, more than just different modeling metaphor

June 9, 2013 Alec Jacobson 20

Page 21: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 21

Real-time applications deserve ample interfaces and high-quality deformations

SGP 2010 SIGGRAPH 2011 SGP 2012

Page 22: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 22

Real-time applications deserve ample interfaces and high-quality deformations

SIGGRAPH Asia 2011

SGP 2010 SIGGRAPH 2011 SGP 2012

Page 23: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 23

Real-time applications deserve ample interfaces and high-quality deformations

SIGGRAPH Asia 2011

SGP 2010 SIGGRAPH 2011 SGP 2012

SIGGRAPH 2012

Page 24: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 24

Real-time applications deserve ample interfaces and high-quality deformations

SIGGRAPH Asia 2011

SGP 2010 SIGGRAPH 2011 SGP 2012

SIGGRAPH 2012 SIGGRAPH 2013

Page 25: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 25

Real-time applications deserve ample interfaces and high-quality deformations

SIGGRAPH Asia 2011

SGP 2010 SIGGRAPH 2011 SGP 2012

SIGGRAPH 2012 SIGGRAPH 2013

Page 26: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson

load shape

Linear Blend Skinning has known artifacts but makes up in real-time performance

26

Page 27: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Linear Blend Skinning has known artifacts but makes up in real-time performance

June 9, 2013 Alec Jacobson

load shape place handles

27

Page 28: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson

load shape place handles

Linear Blend Skinning has known artifacts but makes up in real-time performance

define weights (bind time)

28

Page 29: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson

load shape place handles define weights

(bind time) deform shape (pose time)

Linear Blend Skinning has known artifacts but makes up in real-time performance

29

Page 30: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson

load shape place handles

Linear Blend Skinning has known artifacts but makes up in real-time performance

define weights (bind time)

30

Tjwj

Page 31: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Warping and deformation tasks require different user interactions

Alec Jacobson

points skeletons cages

June 9, 2013 31

Page 32: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights should be smooth, shape-aware, positive and intuitive

June 9, 2013 Alec Jacobson 32

Page 33: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights should be smooth, shape-aware, positive and intuitive

June 9, 2013 Alec Jacobson 33

Page 34: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights must be smooth everywhere, especially at handles

June 9, 2013 Alec Jacobson 34

our method [SIGGRAPH 2011]

extension of Harmonic Coordinates [Joshi et al. 2005]

Page 35: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights must be smooth everywhere, especially at handles

June 9, 2013 Alec Jacobson 35

our method [SIGGRAPH 2011]

extension of Harmonic Coordinates [Joshi et al. 2005]

Page 36: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 36

Weights must be smooth everywhere, especially at handles

our method [SIGGRAPH 2011]

extension of Harmonic Coordinates [Joshi et al. 2005]

Page 37: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Shape-awareness ensures respect of domain’s features

June 9, 2013 Alec Jacobson 37

our method non-shape-aware methods e.g. [Schaefer et al. 2006]

Page 38: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 38

our method non-shape-aware methods e.g. [Schaefer et al. 2006]

Shape-awareness ensures respect of domain’s features

Page 39: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Non-negative weights are mandatory

June 9, 2013 Alec Jacobson 39

our method

unconstrained biharmonic [Botsch & Kobbelt 2004]

Page 40: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Non-negative weights are mandatory

June 9, 2013 Alec Jacobson 40

our method

unconstrained biharmonic [Botsch & Kobbelt 2004]

Page 41: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

unconstrained ext. of [Botsch & Kobbelt 2004]

June 9, 2013 Alec Jacobson 41

local max

local min

Spurious extrema cause distracting artifacts

Page 42: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

bounded [SIGGRAPH 2011]

June 9, 2013 Alec Jacobson 42

local max

local min

Spurious extrema cause distracting artifacts

Page 43: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 43

local max

local min

We explicitly prohibit spurious extrema our improved [SGP 2012]

Page 44: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Constrained optimization ensures satisfaction of all properties

June 9, 2013 Alec Jacobson 44

+ shape-aware

ext. of [Botsch & Kobbelt 2004]

argminwj , j=1,...,m

mX

j=1

kLwjk2

Page 45: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Constrained optimization ensures satisfaction of all properties

June 9, 2013 Alec Jacobson 45

+ shape-aware + smoothness + mesh independence

[SGP 2010]

argminwj , j=1,...,m

mX

j=1

Z

⌦(�wj)

2 dV

Page 46: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Constrained optimization ensures satisfaction of all properties

June 9, 2013 Alec Jacobson 46

+ shape-aware + smoothness + mesh independence+ non-negativity + locality + arbitrary handles

0 wj 1, j = 1, . . . ,m[SIGGRAPH 2011]

argminwj , j=1,...,m

mX

j=1

Z

⌦(�wj)

2 dV

Page 47: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Constrained optimization ensures satisfaction of all properties

June 9, 2013 Alec Jacobson 47

+ shape-aware + smoothness + mesh independence+ non-negativity + locality + arbitrary handles + monotonicity

[SGP 2012]

argminwj , j=1,...,m

mX

j=1

Z

⌦(�wj)

2 dV

rwj ·ruj > 0, j = 1, . . . ,m

Page 48: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 48

Weights in 3D retain nice properties

Demo

Page 49: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 49

Weights in 3D retain nice properties

Demo

Page 50: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Variational formulation allows additional, problem-specific constraints

June 9, 2013 Alec Jacobson 50

Page 51: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Variational formulation allows additional, problem-specific constraints

June 9, 2013 Alec Jacobson 51

Page 52: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 52

Linear blending subspace is still too small

Page 53: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 53

Linear blend skinning etc. are not rich enough to stretch and twist along bones

LBS our extension [SIGGRAPH Asia 2011]

Page 54: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 54

Linear blend skinning etc. are not rich enough to stretch and twist along bones

LBS our extension [SIGGRAPH Asia 2011]

Page 55: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Second set of our weights expands skinning subspace

June 9, 2013 Alec Jacobson 55

Page 56: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Stretching facilitates exaggeration, a basic principle of life-like animation

June 9, 2013 Alec Jacobson 56

Page 57: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Stretching facilitates exaggeration, a basic principle of life-like animation

June 9, 2013 Alec Jacobson 57

Page 58: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Good weights alone aren’t enough to guarantee intuitive results

June 9, 2013 Alec Jacobson 58 pseudo-edges [SIGGRAPH 2011] our improved method [SIGGRAPH 2012]

Page 59: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Good weights alone aren’t enough to guarantee intuitive results

June 9, 2013 Alec Jacobson 59 pseudo-edges [SIGGRAPH 2011] our improved method [SIGGRAPH 2012]

Page 60: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Good weights alone aren’t enough to guarantee intuitive results

June 9, 2013 Alec Jacobson 60 pseudo-edges [SIGGRAPH 2011] our improved method [SIGGRAPH 2012]

Page 61: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Many previous techniques provide quality, but not speed

June 9, 2013 Alec Jacobson 61

high-quality solutions to nonlinear elasticity energy minimizations: ~seconds e.g. [Botsch et al. 2006]

physically accurate muscle systems require off-line simulation e.g. [Teran et al. 2005]

Image courtesy Joseph Teran

Page 62: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Other reduced models employ skinning, but still too slow

June 9, 2013 Alec Jacobson 62

significant performance tuning, but grid determines complexity ~milliseconds e.g. [McAdams et al. 2011]

needs examples, choice of energy complicates per-frame computation ~milliseconds e.g. [Der et al. 2006]

Page 63: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 63

We achieve speeds measured in microseconds

80k triangles 20µs per iteration

Page 64: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 64

We achieve speeds measured in microseconds

80k triangles 20µs per iteration

Page 65: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 65

We achieve speeds measured in microseconds

80k triangles 20µs per iteration

Page 66: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 66

We achieve speeds measured in microseconds

80k triangles 20µs per iteration

Page 67: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

This means speed comparable to rendering

June 9, 2013 Alec Jacobson 67 30fps

Page 68: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

This means speed comparable to rendering

June 9, 2013 Alec Jacobson 68 30fps

Page 69: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

User specifies subset of parameters, optimize to find remaining ones

June 9, 2013 Alec Jacobson 69

full optimization

mesh vertex positions

Page 70: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

User specifies subset of parameters, optimize to find remaining ones

June 9, 2013 Alec Jacobson 70

full optimization

reduced model

skinning degrees of freedom

Page 71: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

User specifies subset of parameters, optimize to find remaining ones

June 9, 2013 Alec Jacobson 71

full optimization

reduced model

matrix form

Page 72: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

User specifies subset of parameters, optimize to find remaining ones

June 9, 2013 Alec Jacobson 72

full optimization

reduced model

matrix form

reduced optimization

Page 73: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Enforce user constraints as linear equalities

June 9, 2013 Alec Jacobson 73

user constraints

reduced optimization

full

position only

unconstrained

Page 74: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Enforce user constraints as linear equalities

June 9, 2013 Alec Jacobson 74

user constraints

reduced optimization

full

position only

unconstrained

Page 75: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 75

full energies

Page 76: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 76

full energies

triangles [Liu et al. 2008]

“spokes” [Sorkine & Alexa 2007]

“spokes and rims” [Chao et al. 2010]

tetrahedra [Chao et al. 2010]

Page 77: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

global step: fix , minimize with respect to

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 77

full energies

V0R

local step: fix , minimize with respect to RV0

local/global optimization

Page 78: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

global step: large, sparse linear solve

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 78

full energies

local step: fix , minimize with respect to RV0

local/global optimization

V0 = A�1b

precompute

Page 79: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 79

full energies

local step: 3x3 SVD for each rotation in R

local/global optimization

global step: large, sparse linear solve V0 = A�1b

Page 80: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

global step: small, dense linear solve

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 80

full energies

local step: 3x3 SVD for each rotation in R

local/global optimization precompute

similar to: [Huang et al. 06] [Der et al. 06] [Au et al. 07] [Hildebrandt et al. 12]

substitute

T = A�1b

Page 81: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Direct reduction of elastic energies brings speed up and regularization…

June 9, 2013 Alec Jacobson 81

Page 82: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Direct reduction of elastic energies brings speed up and regularization…

June 9, 2013 Alec Jacobson 82

full ARAP solution

Page 83: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Direct reduction of elastic energies brings speed up and regularization…

June 9, 2013 Alec Jacobson 83

full ARAP solution

our smooth subspace solution

Page 84: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

local step: 3x3 SVD for each rotation in

global step: small, dense linear solve

We reduce any as-rigid-as-possible energy

June 9, 2013

but #rotations ~ full mesh discretization

Alec Jacobson 84

full energies

local/global optimization

substitute

R

T = A�1b

Page 85: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

local step: 3x3 SVD for each rotation in

global step: small, dense linear solve

local/global optimization

substitute

R

T = A�1b

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 85

full energies

Cluster

Ek

Page 86: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Rotation evaluations may be reduced by clustering in weight space

June 9, 2013 Alec Jacobson 86

full energies

triangles [Liu et al. 2008]

“spokes” [Sorkine & Alexa 2007]

“spokes and rims” [Chao et al. 2010]

tetrahedra [Chao et al. 2010]

Page 87: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Rotation evaluations may be reduced by k-means clustering in weight space

June 9, 2013 Alec Jacobson 87

full energies

xj =

2

6664

w1(vj)w2(vj)

...wm(vj)

3

7775

weight space

Page 88: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Rotation evaluations may be reduced by clustering in weight space

June 9, 2013 Alec Jacobson 88

full energies

Page 89: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Rotation evaluations may be reduced by clustering in weight space

June 9, 2013 Alec Jacobson 89

full energies

r = 2 r = 4 r = 64

Page 90: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

#rotations ~ #T, independent of full mesh resolution

local step: 3x3 SVD for each rotation in

global step: small, dense linear solve

local/global optimization

substitute

R

T = A�1b

We reduce any as-rigid-as-possible energy

June 9, 2013 Alec Jacobson 90

full energies

Cluster

Ek

Page 91: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

With more and more user constraints we fall back to standard skinning

June 9, 2013 Alec Jacobson 91

Page 92: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

With more and more user constraints we fall back to standard skinning

June 9, 2013 Alec Jacobson 92

Page 93: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

With more and more user constraints we fall back to standard skinning

June 9, 2013 Alec Jacobson 93

Page 94: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

no extra weights

Extra weights expand deformation subspace

June 9, 2013 Alec Jacobson 94

15 extra weights

Page 95: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

no extra weights

Extra weights expand deformation subspace

June 9, 2013 Alec Jacobson 95

15 extra weights

Page 96: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Subspace now rich enough for fast variational modeling

June 9, 2013 Alec Jacobson 96 full non-linear optimization

[Botsch et al. 2006]

our reduced method

Page 97: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Subspace now rich enough for fast variational modeling

June 9, 2013 Alec Jacobson 97 full non-linear optimization

[Botsch et al. 2006]

our reduced method

Page 98: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Subspace now rich enough for fast variational modeling

June 9, 2013 Alec Jacobson 98 full non-linear optimization

[Botsch et al. 2006]

our reduced method

Page 99: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Subspace now rich enough for fast variational modeling

June 9, 2013 Alec Jacobson 99 full non-linear optimization

[Botsch et al. 2006]

our reduced method

Page 100: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Subspace now rich enough for fast variational modeling

June 9, 2013 Alec Jacobson 100 full non-linear optimization

[Botsch et al. 2006]

our reduced method

Page 101: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Subspace now rich enough for fast variational modeling

June 9, 2013 Alec Jacobson 101 full non-linear optimization

[Botsch et al. 2006]

our reduced method

Page 102: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Extra weights and disjoint skeletons make flexible control easy

June 9, 2013 Alec Jacobson 102

From Cartoon Animation by Preston Blair

Page 103: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 103

Extra weights and disjoint skeletons make flexible control easy

Page 104: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 104

Extra weights and disjoint skeletons make flexible control easy

Page 105: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 105

Demo

Physical dynamics also benefit from our reduction

Page 106: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 106

Demo

Physical dynamics also benefit from our reduction

Page 107: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Our reduction preserves nature of different energies, at no extra cost

June 9, 2013 Alec Jacobson 107

Surface ARAP Volumetric ARAP

V0surf = MsurfT V0

vol

= Mvol

T

Page 108: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Our reduction preserves nature of different energies, at no extra cost

June 9, 2013 Alec Jacobson 108

Surface ARAP Volumetric ARAP

V0surf = MsurfT V0

vol

= Mvol

T

Page 109: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 109

Volumetric deformation differs drastically from surface-based

Page 110: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 110

Volumetric deformation differs drastically from surface-based

Page 111: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Surface artifacts prevent volume meshing, prevent volumetric processing

June 9, 2013 Alec Jacobson 111

Page 112: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Continuous winding number for watertight surfaces generalizes to unclean triangle meshes

June 9, 2013 Alec Jacobson 112

w(p) =1

4⇡

ZZ

S

sin(�)d✓d�

w(p) =1

4⇡

mX

f=1

⌦f

[SIGGRAPH 2013]

Page 113: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Generalized winding number is ideal indicator for graphcut segmentation of convex hull

June 9, 2013 Alec Jacobson 113

w(p) =1

4⇡

ZZ

S

sin(�)d✓d�

w(p) =1

4⇡

mX

f=1

⌦f

[SIGGRAPH 2013]

Page 114: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 114

Each advance inspires new improvements, new interfaces

SIGGRAPH Asia 2011

SGP 2010 SIGGRAPH 2011 SGP 2012

SIGGRAPH 2012 SIGGRAPH 2013

Page 115: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

We derive a powerful subspace via input shape and handle descriptions

●  Intrinsics from shape’s geometry ●  Semantics from handles ●  Fully automatic ●  New interfaces ●  Real-time as an invariant

June 9, 2013 Alec Jacobson 115

Page 116: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Future outlook

●  More semantics: large data, collisions, etc.

June 9, 2013 Alec Jacobson 116

Page 117: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Future outlook

●  More semantics: large data, collisions, etc. ●  Physical interfaces

June 9, 2013 Alec Jacobson 117

Page 118: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Acknowledgements Coauthors: Ladislav Kavan, Ilya Baran, Jovan Popović, Kaan Yücer, Alex Sorkine-Hornung, Tino Weinkauf, Denis Zorin, Olga Sorkine-Hornung Colleagues at NYU and ETH Friends and family This thesis was supported in part by NSF award IIS-0905502, ERC grant iModel (StG-2012-306877), SNF award 200021_137879, the Intel Doctoral Fellowship and a gift from Adobe Systems.

June 9, 2013 Alec Jacobson 118

Page 119: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

Algorithms and Interfaces for Real-Time Deformation of 2D and 3D Shapes

Alec Jacobson [email protected]

June 9, 2013

Papers, videos, code: people.inf.ethz.ch/~jalec/

Page 120: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2
Page 121: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights should be smooth everywhere, especially at handles

June 9, 2013 Alec Jacobson #121

Our method Extension of Harmonic Coordinates [Joshi et al. 2005]

Page 122: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Open cages allow arbitrary line constraints

June 9, 2013 Alec Jacobson 122

Page 123: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sparsity helps maintain local influence

June 9, 2013 Alec Jacobson #123

Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]

Our method

Page 124: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sparsity helps maintain local influence

June 9, 2013 Alec Jacobson #124

Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]

Our method

Page 125: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sparsity helps maintain local influence

June 9, 2013 Alec Jacobson #125

Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]

Our method

Page 126: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sparsity helps maintain local influence

June 9, 2013 Alec Jacobson #126

Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]

Our method

Page 127: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sparsity helps maintain local influence

June 9, 2013 Alec Jacobson #127

Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]

Our method

Page 128: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sparsity helps maintain local influence

June 9, 2013 Alec Jacobson #128

Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]

Our method

Page 129: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Boundedness also helps maintain local influence

June 9, 2013 Alec Jacobson #129

Unconstrained biharmonic [Botsch and Kobbelt 2004]

Page 130: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Boundedness also helps maintain local influence

June 9, 2013 Alec Jacobson #130

Unconstrained biharmonic [Botsch and Kobbelt 2004]

Our method

Page 131: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Spurious local maxima also cause unintuitive response

June 9, 2013 Alec Jacobson #131

Our method

Extension of unconstrained biharmonic [Botsch and Kobbelt 2004]

Page 132: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights propagate transformations at handles to shape in real-time

June 9, 2013 Alec Jacobson #132

Translate Rotate Scale

Page 133: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Dropping partition of unity as explicit constraint does not effect quality

June 9, 2013 Alec Jacobson #133

0.015

0.000

0.010

0.005

original weights faster weights

Page 134: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights may also define an intuitive, shape-aware depth ordering in 2D

June 9, 2013 Alec Jacobson #134

z z

Page 135: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Weights may also define an intuitive, shape-aware depth ordering in 2D

June 9, 2013 Alec Jacobson #135

Page 136: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Rotations at point handles may be computed automatically based on translations

June 9, 2013 Alec Jacobson #136

Page 137: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Alternative skinning methods may also take advantage of bounded biharmonic weights

June 9, 2013 Alec Jacobson #137

Linear blend skinning Dual quaternion skinning

Page 138: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 138

Same weights can interpolate colors

x

0 =HX

j=1

wj(xi)Tjxi

Page 139: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 139

Same weights can interpolate colors

ci =HX

j=1

wj(xi)cj

Page 140: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 140

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

Image courtesy Mark Finch

ci =HX

j=1

wj(xi)cj

Page 141: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 141

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

ci =HX

j=1

wj(xi)cj

Page 142: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 142

unconstrained [Finch et al. 2011]

Same functions used for color interpolation Our [SGP 2012]

ci =HX

j=1

wj(xi)cj

Page 143: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

# June 9, 2013 Alec Jacobson 143

Without constraints, biharmonic unintuitively interpolates colors

Unconstrained Δ2 [Finch et al. 2011]

Our extended method [SGP 2012]

Page 144: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Skinning weights tether optimization over multiple-component meshes

June 9, 2013 Alec Jacobson 144

Page 145: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Skinning weights tether optimization over multiple-component meshes

June 9, 2013 Alec Jacobson 145

Our skinning-based method Mesh-energy methods e.g. Igarashi et al. 2004, Sumner et al. 2005, Botsch et al. 2006, Sorkine and Alexa 2007, Shi et al. 2007, Solomon et al. 2011

Page 146: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Extrema distort small features

June 9, 2013 Alec Jacobson 146

Unconstrained [Botsch & Kobbelt 2004]

weight of middle point

Page 147: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Deformation applies to images as planar shapes

June 9, 2013 Alec Jacobson 147

non-convex “cut-out” cartoons

entire image rectangle

Page 148: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Extra weights would expand subspace…

June 9, 2013 Alec Jacobson 148

Page 149: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Extra weights would expand subspace…

June 9, 2013 Alec Jacobson 149

Page 150: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Extra weights would expand subspace…

June 9, 2013 Alec Jacobson 150

Page 151: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Real-time automatic degrees of freedom

June 9, 2013 Alec Jacobson 151

Page 152: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Overlapping b-spline “bumps” in weight space

June 9, 2013 Alec Jacobson 152

farthest point sampling

xj =

2

6664

w1(vj)w2(vj)

...wm(vj)

3

7775

weight space

Page 153: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Overlapping b-spline “bumps” in weight space

June 9, 2013 Alec Jacobson 153

b-spline basis parameterized by distance in weight space

in weight space

xj =

2

6664

w1(vj)w2(vj)

...wm(vj)

3

7775

weight space

Page 154: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Overlapping b-spline “bumps” in weight space

June 9, 2013 Alec Jacobson 154

b-spline basis parameterized by distance in weight space

in weight space

xj =

2

6664

w1(vj)w2(vj)

...wm(vj)

3

7775

weight space

Page 155: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Final algorithm is simple and FAST

June 9, 2013 Alec Jacobson 155

Precomputation per shape+rig - Compute any additional weights - Construct, prefactor system matrices

For a 50K triangle mesh: 12 seconds

2.7 seconds

Page 156: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Final algorithm is simple and FAST

June 9, 2013 Alec Jacobson 156

Precomputation per shape+rig - Compute any additional weights - Construct, prefactor system matrices

Precomputation when switching constraint type - Re-factor global step system

For a 50K triangle mesh: 12 seconds

2.7 seconds

6 milliseconds

Page 157: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Final algorithm is simple and FAST

June 9, 2013 Alec Jacobson 157

Precomputation per shape+rig - Compute any additional weights - Construct, prefactor system matrices

Precomputation when switching constraint type - Re-factor global step system

~30 iterations global: #weights by #weights linear solve local: #rotations SVDs

For a 50K triangle mesh: 12 seconds

2.7 seconds

6 milliseconds

22 microseconds

[McAdams et al. 2011]

Page 158: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Simple drag-only interface for point handles

June 9, 2013 Alec Jacobson 158

Page 159: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Extrema distort small features

June 9, 2013 Alec Jacobson 159

Bounded [Jacobson et al. 2011]

weight of middle point

Page 160: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

“Monotonicity” helps preserve small features

June 9, 2013 Alec Jacobson 160

Bounded [Jacobson et al. 2011]

Our

Page 161: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Spurious extrema are unstable, may “flip”

June 9, 2013 Alec Jacobson 161

slightly larger region

Page 162: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Spurious extrema are unstable, may “flip”

June 9, 2013 Alec Jacobson 162

slightly larger region

Page 163: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

Page 164: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Spurious extrema are unstable, may “flip”

Bounded

Page 165: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Lack of extrema leads to more stability

Our

Page 166: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

In 2D, stretching manipulates foreshortening

June 9, 2013 Alec Jacobson 166

LBS with rigid bones STBS with stretchable bones

Page 167: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Behavior depends heavily on parameterization and boundary conditions

June 9, 2013 Alec Jacobson 167

!x = 0 !2x = 0 !3x = 0

Page 168: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Behavior depends heavily on parameterization and boundary conditions

June 9, 2013 Alec Jacobson 168

!x = 0 !2x = 0 !3x = 0Straight Tube Boundary Conditions

Torus Boundary Conditions (but connected to straight tubes)

Parameter Domain

Page 169: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Behavior depends heavily on parameterization and boundary conditions

June 9, 2013 Alec Jacobson 169

!x = 0 !2x = 0 !3x = 0Straight Tube Boundary Conditions

Torus Boundary Conditions (but connected to straight tubes)

Parameter Domain

Page 170: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Traditional winding number determines amount of insideness

June 9, 2013 Alec Jacobson 170

0

1

Page 171: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Traditional winding number determines amount of insideness

June 9, 2013 Alec Jacobson 171

1

0

0

0

1

-1

0

0

1 2

1

0

Page 172: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Winding number jumps across boundaries, harmonic otherwise

June 9, 2013 Alec Jacobson 172

1

0

½

2

Page 173: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Winding number jumps across boundaries, harmonic otherwise

June 9, 2013 Alec Jacobson 173

1

0

½

2

Page 174: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Sum of harmonic functions is harmonic

June 9, 2013 Alec Jacobson 174

+ +=+ =+1

Page 175: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Winding number gracefully tends toward indicator function

June 9, 2013 Alec Jacobson 175

1

0

½

Page 176: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Hierarchical evaluation performs asymptotically better

June 9, 2013 Alec Jacobson 176

ï�

ï�

ï�

0

Winding number computation time (subdivided Dino)

Seconds

Naive

Hierarchical

Number of input facets, m

1e0

1e-3

1e-2

1e-2

1e3 1e61e51e4 1e7

Page 177: Algorithms and Interfaces for Real-Time Deformation of 2D ...jacobson/images/alec... · of 2D and 3D Shapes Alec Jacobson ETH Zurich June 9, 2013 . June 9, 2013 Alec Jacobson # 2

#

Hierarchical evaluation performs asymptotically better

June 9, 2013 Alec Jacobson 177

Winding number computation time (SHREC Dataset)

Seconds

1e-2

1e-4

1e-3

Naive

Hierarchical

Number of input facets, m1e2 1e51e41e3