variational space deformations1 · variational space deformationvariational space deformation with...
TRANSCRIPT
Variational Space DeformationVariational Space Deformationwith Barycentric Coordinates
Mirela Ben-ChenStanford University
Joint work withOfir Weber (NYU), Craig Gotsman (Technion)
1
The Problem: DeformationThe Problem: Deformation
2
Space Deformation
Idea:
Space Deformation
Deformation = map from input domain to some space
x g(x)x
S
g(x)
S
3
Space Deformation
Idea:
Space Deformation
Deformation = map from input domain to some space
x g(x)x
S
g(x)
Advantage:
SAdvantage:
Can be applied to any geometry representation4
Which Maps are “Good”?Which Maps are Good ?
Properties of the map Quality of the deformationProperties of the map Quality of the deformation
SourceSource
Good Bad5
Which Maps are “Good”?Which Maps are Good ?
Global Change vs. Local Detail PreservationGlobal Change vs. Local Detail Preservation
6
Which Maps are “Good”?Which Maps are Good ?
Easy to use “this point goes there”Easy to use this point goes there
7
Which Maps are “Good”?Which Maps are Good ?
Efficient!Efficient!
8
How to Find “Good” Maps?How to Find Good Maps?
• All possible maps on a domain = HUGE space
• Instead– Assume map is given on boundary– Infer map in the interior– Called: Cage Based Deformation
• Important properties– Translation invarianceTranslation invariance– Reproduction of identity
9
Deformation with a Cage
f
or: Rules of the Game
fi
xi xg(x)
F
i
S
x
S
S = {x x x } x fS = {x1,x2,...,xn} Source polygonSource polygon
xi fi
Target polygonTarget polygon
g(x) = ? Interior?10
Deformation with Barycentric CoordinatesDeformation with Barycentric Coordinates
ffi
xi xg(x)
F
i
S
x
( )iw x n
∑
S
( )i
x 1( ) ( )i i
ig x w x f
=
=∑x
xi1i
11
Which Bary Coords to Choose?Which Bary Coords to Choose?
• There’s lots of those around…Bad for deformation
• Real coords (wi (x) ∈ ) are affine invariant
Bad for deformation
• Complex coords (wi (z) ∈ ) better!If holomorphic get– If holomorphic get conformal map*
– Global change / local detail
12
An Example: Cauchy-Green CoordinatesAn Example: Cauchy Green Coordinates
w
Take: dw
z1 1
2( , )k
w zz
iw
π −=
Define g as the Cauchy Transform:
1( ) ( )1 dg z f w w= ∫
f(w)
g(z)
Define g as the Cauchy Transform:
( ) ( )2 Si
dw
gz
z f w w−∫π
( ) ( , ) ( )S
g z k w z f w dw= ∫Integrate along edges for a polygon13
Discrete Cauchy-Green CoordinatesDiscrete Cauchy Green Coordinates
• Good:– Holomorphic
– Span all holomorphic maps
Bad• Bad: – Doesn’t interpolate boundary
14
Variational Cauchy CoordinatesVariational Cauchy Coordinates
Find best u1,..,un such that
1( ) ( )
n
u j jj
g z C z u=
=∑1j=
Is optimal
Minimize energy functional of gu
Quadratic energy = linear equations in uj15
Szegö Coordinates
Goal: Best fit to target polygon
Szegö Coordinates
Goal: Best fit to target polygon zi
w
fi
g(w) f(w)
2( ) ( ) ( )E f d∫
16
Source Cauchy-Green Szegö( ) ( ) ( )
S
E g g w f w ds= −∫
17
Point-to-Point CoordinatesPoint to Point Coordinates
r1Goal: Free user from the cage 1
r2r3
Goal: Free user from the cage
f1
f2
g(r1)
ff3
18
3D Deformation3D Deformation
• Input:Input: – Model
– Cage (domain Ω)– User Constraints
• Output:– Deformation function
– Fulfills user constraints
– Detail preserving
19
3D Deformation
• For variational framework need
3D Deformation
For variational framework need
• Barycentric coordinates
• Energy functional• Energy functional
• Coordinates• Coordinates
• No complex numbers / holomorphic maps in 3Dholomorphic maps in 3D
• Use harmonic maps + additional constraints+ additional constraints
20
Finding the Harmonic MapFinding the Harmonic Map
Harmonic maps– Linear subspace of
– Subspace spanned by two maps
21
The Deformation FunctionThe Deformation Function
ϕ and ψ known, depend on the domain Ω“Generalized” barycentric coordinates“Generalized” barycentric coordinates
22
The EnergyThe Energy
• Can place constraints on deformation function andCan place constraints on deformation function and derivatives – get a linear system in a and b
• We need:– User constraints
Positional + Jacobian
– Detail preservation ( i f lit )(since no conformality)
Jacobian is rotation
– Smoothness
Not linear
Hessian on boundary
23
ResultsAs-Rigid-As-Possible (Jacobian is rotation)
24
Results As-Similar-As-Possible (Jacobian is scale + rotation)
25
ResultsffGiraffe Soup
26
Deformation Transfer
27
StrategyStrategy
• Cage source and target shapesCage source and target shapes
• Project source deformation on harmonic maps• Project source deformation on harmonic maps
• Compute deformation gradients Jacobians of• Compute deformation gradients Jacobians of deformation function
• Deform target shape to achieve Jacobians– Linear!Linear!
28
ResultsP T fPoses Transfer
29
ResultsR l i D f i T fReal-time Deformation Transfer
30
ResultsA i ti T fAnimation Transfer
Target Source
31
ResultsA i ti T fAnimation Transfer
32
ConclusionsConclusions
• Variational space deformation provides anVariational space deformation provides an easy-to-use general deformation method
• Efficient linear formulation using barycentric coordinates functions y
• Always looking for “good” maps = good “coordinates”y g g p g– Beyond harmonic and conformal?
– Quasi-conformal?
– Isometric?33
Thank YouThank You34