Upload
marshall-paul
View
222
Download
1
Embed Size (px)
Citation preview
Computer Graphics GroupTobias Weyand
Mesh-Based Inverse Kinematics
Sumner et al 2005
presented by Tobias Weyand
Computer Graphics GroupTobias Weyand2
What is Inverse Kinematics?
• Articulated body
• Which angles for a certain configuration?
• Forward kinematics• Specify angles
• Inverse kinematics• Specify limb position
1
2
3
1
2
3
Computer Graphics GroupTobias Weyand3
IK in Computer Graphics
© NVidia
• Modelling
• Meaningful deformations
• Animation
• Realistic movement
Problems:
• Skinning time consuming
• Not everything has bones
Computer Graphics GroupTobias Weyand4
Mesh-based Inverse Kinematics
Idea: Learn deformations from examples
Computer Graphics GroupTobias Weyand5
Overview
• Introduction• Related work
• MeshIK• Feature Vectors• Linear Feature Space• Nonlinear Feature Space• Accelerations
• Results and Conclusion
Computer Graphics GroupTobias Weyand6
Related work: Deformation Transfer
Deformation Transfer for Triangle Meshes
Transfer source deformations to target
Sumner et al 2004
Computer Graphics GroupTobias Weyand7
Related work: Deformation TransferTriangle deformations:
Least squares problem:
iii sSs ~iii tTt ~
min||||||
1
2
M
iFii TS
But: Limited to example poses
Computer Graphics GroupTobias Weyand8
Related work: Shape Interpolation
As-rigid-as-possible Shape Interpolation
• Morphing of 2D and 3D meshes• Considers mesh interior as rigid
Alexa et al. 2000
Computer Graphics GroupTobias Weyand9
Related work: Shape Interpolation
• Triangulate source and target shapes
• Find locally optimal triangle interpolations
But:• Limited to 2 meshes• Expensive:
• Compatible dissection• Computations on interior and exterior
Better:• Use only surface
Computer Graphics GroupTobias Weyand10
Mesh-based Inverse Kinematics
Goal:
• Provide a set of example meshes.
• MeshIK learns meaningful deformations.
• Directly move a subset of the mesh vertices.
• MeshIK finds a suitable deformation according to the example meshes.
Computer Graphics GroupTobias Weyand11
Feature Vectors
Given: Base mesh P0, deformed mesh P
Deformation: set of affine mappings }{ j
jjj tpTp )(
Deformation gradient: Jacobian of
Discard translation
)( pj
jjjpjp TtpTDpD )()(
Computer Graphics GroupTobias Weyand12
Feature Vectors
Feature vector: concatentaion of deformation gradients
321
321
321
zj
zj
zj
yj
yj
yj
xj
xj
xj
j
ttt
ttt
ttt
T
313131321112111f z
mzy
myx
mxxxx ttttttttt
Computer Graphics GroupTobias Weyand13
Feature Vectors
Calculation of f for mesh P
),(P pp EV T111 )),,(,),,,(( mmmp zyxzyxV
P → mesh-vector x:T
n1n1n321 )zzyyxxxx(x
Construct G such that:
Gxf
Computer Graphics GroupTobias Weyand14
Feature Vectors
Properties of G:
g
g
g
G
- Block-diagonal structure- Sparse- Only depends on P0
Computer Graphics GroupTobias Weyand15
Feature Vectors
Extracting a mesh from a feature vector:
Fix one vertex in x:
• Set corresponding rows in G to 0.
• Add product of these rows with x.
cG x~
f
Computer Graphics GroupTobias Weyand16
Multiple Vertex Constraints
Transform to least squares problem:
cG x~
f2
xfx
~minargx cG
Properties of x:• Close relation to the feature vector• Fulfills the vertex constraints
Computer Graphics GroupTobias Weyand17
Linear Feature Space
Linear combination of features:
llw www ffff 2211
Vector notation: ww Mf
l1 ffM T1 lwww
MwcGxwxwx
,
** minarg,
Least squares problem
Minimize for optimal weights and mesh
Computer Graphics GroupTobias Weyand18
Linear Feature Space: Problems
Unnatural interpolation of rotations
Goal: Correctly capture rotations
Computer Graphics GroupTobias Weyand19
Transformation Interpolation
Linear Combinations of Transformations
Scalar product:
Addition:
Combination:
T
BA
T
n
nn
nBA
11
lim
Te log
BAe loglog
nn AA 11nn AAe loglog 11
Alexa 2002
)log( Te
Computer Graphics GroupTobias Weyand20
Possible Nonlinear Feature Space
l
iiji Tw
j eT 1
log
But:• Practically produces singularities• Linear scales and shears suffice
MeshIK interpolation:• Scales and skews: linear• Rotations: above formula
Computer Graphics GroupTobias Weyand21
Extracting Rotations
Matrix Animation and Polar Decomposition
Method for factoring a transformation T
T=RS
New transformation combination
Shoemake and Duff 1992
l
iiji
Rw
j SwewT
l
iiji
1
)log(1)(
Computer Graphics GroupTobias Weyand22
Nonlinear Feature Space
)(xminarg,x,x
** wMcGww
New nonlinear least squares problem:
Properties:• Fulfills vertex constraints• Close to nonlinear feature space• Natural rotation interpolation
Efficient solver required!
Computer Graphics GroupTobias Weyand23
Gauss-Newton in MeshIK
Goal: minimize
)(xminarg,x,x
** wMcGww
Approach with Gauss-Newton:• Transform into locally linear equation • Solve linear least squares problem
Computer Graphics GroupTobias Weyand24
Gauss-Newton in MeshIK
Linearize M(w) with Taylor expansion
)()()( wMDwMwM w
||)()(||minargx,x,
cwMwMDGx kkwkk
Linear least squares problem
xAwMDG kw )(x
Reduce to one variable:
2
x,)(minargx, cwMxA kkk
)( kw wMDGA
Computer Graphics GroupTobias Weyand25
Gauss-Newton in MeshIK
Set ))((2x2x' TT cwMAAAF k
= 0!
))((x TT cwMAAA k
Iteration steps:• Solve the normal equation for• Update
x
kk ww 1
But: Far too slow! Optimization needed!
Computer Graphics GroupTobias Weyand26
Cholesky Factorization
Linear system:
))((x TT cwMAAA k
))((x TT cwMACC k
))((TT cwMAyC k
yC
x
CCAA TT
Decompose:
Method:y
x
Computer Graphics GroupTobias Weyand27
Cholesky FactorizationFurther acceleration:
Exploit structure of ATA and CTC:
3
1
TT3
T33
T
T3
T
T2
T
T1
T
T
i ii JJgJgJJg
gJgggJgggJgg
AA
3
1
TTT3
T2
T1
3TT
2TT
1TT
T
i iiS RRRRRRRRRR
RRRRRRRRRRRR
CC
Note: RTR=gTg• Precompute RTR• Only calculate R1, R2, R3, RS
Interactive speed
Computer Graphics GroupTobias Weyand28
Performance
Mesh Tris Examples Preprocess Solve
Flag 932 14 0.016 0.020
Lion 9,996 10 0.0475 0.210
Horse 16,846 4 0.610 0.160
Elephant 84,638 4 13.249 0.906
Computer Graphics GroupTobias Weyand29
Results
Computer Graphics GroupTobias Weyand30
Video
Computer Graphics GroupTobias Weyand31
Comparison: Shape Interpolation
Arap. MeshIK
2 meshes n meshes
Needs compatible dissection of meshes
→ expensive
Needs meshes with same topology
Operates on exterior and interior
Operates only on surface
Computer Graphics GroupTobias Weyand32
Comparison: Shape Interpolation
Computer Graphics GroupTobias Weyand33
Future work
• Different mesh representation• like subdivision surfaces• multiresolution hierarchies
• Different feature vectors• Capture mesh properties better• Accelerate system solving
• Better feature space for many examples
• Simulate physical effects like inertia
Computer Graphics GroupTobias Weyand34
Conclusion
MeshIK
• provides IK without skeleton• more direct and dynamic
• runs at interactive speeds
• compares well to other approaches• eg As-Rigid-As-Possible shape interpolation
Computer Graphics GroupTobias Weyand35
Thank you for your attention!