Download presentation

Presentation is loading. Please wait.

Published byAndre Twitchell Modified over 3 years ago

1
An Application of Lie theory to Computer Graphics Applied Topology 25 th July. 2013. Będlewo Shizuo KAJI Yamaguchi University JST/CREST

2
Blend Shape - a problem in CG Mathematical setup Our solution Outline

3
Blend Shape

4
Statue of MoaiJapanese ex-prime minister Mori

5
Blend Shape – The problem Problem: From (two or more) input images, generate interpolated images input: A, B => “(1-t)A + tB”: output Input Output t=0.5

6
Michael Jackson “Black or White” Movie: Terminator 2 、 Forest Gump… Creating new industrial design Video compression, High framerate TV Adobe Photoshop/After effects Puppet Warp Where is it used ? Igarashi et al. 2005 Beier and Neely 1992

7
Construct a series of homeos indexed by t ∈ R f t : R 2 → R 2 t ∈ R Blend Shape – basic idea input: A, B => “(1-t)A + tB”: output It usually requires additional input which should be given manually. (ex. the arrows in the picture) It usually requires additional input which should be given manually. (ex. the arrows in the picture)

8
Weakness of classical method desirable

9
What is an appropriate setup for this problem ?

10
Simplicial complex In CG, the most basic representation of geometric object is (triangulated) polyhedron, i.e., simplicial complex 2D 3D3D 3D3D

11
Simplicial complex More precisely, ・ Abstract simplicial complex (= set of tetrahedra) ・ Piecewise Linear (PL) embedding (= vertex positions in R n )

12
Instead of considering objects themselves, ・ Consider embeddings from a (reference) simplicial complex ・ And find a “suitable” path in the space of embeddings Paraphrase of blend shape fAfA fAfA fBfB fBfB f A/2+B/2

13
Our algorithm Based on Joint works with K. Anjyo, S. Hirose, H. Ochiai and K. Anjyo, S. Hirose, Y. Mizoguchi, S.Sakata

14
Our strategy is divided into three steps 1.Express input shapes by PL-maps from a reference simplicial complex For each t ∈ R; 2.Construct interpolated affine maps independently for each simplex 3.Assemble those maps into a global PL-immersion Workflow Problem From given input shapes, generate interpolated shapes input: A, B => “(1-t)A + tB”: output

15
1. Isomorphic subdivision Fact: Homeo PL-isomorphic (dimension ≦ 3) There are algorithms to give an explicit isomorphism. But none of them is perfect. This is still an open problem in computational geometry. Sub problem Given homeomorphic simplicial complexes, subdivided them to make combinatorially isomorphic We simply rely on existing methods here 1-to-1

16
fAfA fAfA fBfB fBfB H 1/2 HtHt HtHt Assume we have PL-embeddings f A, f B of a reference simplicial complex to the shapes to be blended. We want to find a homotopy H t connecting f A and f B. Assume we have PL-embeddings f A, f B of a reference simplicial complex to the shapes to be blended. We want to find a homotopy H t connecting f A and f B.

17
Sub problem For each simplex, construct a time varying series of interpolated affine maps, which preserve geometry locally. First, we consider simplex-wisely 2. Local construction

18
More precisely, 2. Local construction Sub problem Given two affine maps X and Y, generate a blended affine map A t := “(1-t)X + tY” The first guess for the answer would be simply the linear combination of X and Y, but it produces bad results. undesirable desirable

19
The second guess would be using Lie correspondence 2. Local construction The above map is almost bijective and its continuous inverse ψ can be computed. Lie algebra Lie group But the problem is the group of affine transformations is not compact. Based on the Cartan decomposition, we have the following surjection, which meets our need.

20
Now we can blend affine maps linearly in the parameter space Key points: ・ is not surjective ・ There is an explicit and fast computation algorithm for φ, ψ ・ The blended map has geometric meaning: for example, the interpolated map stays as close as Euclidean motion (In the sense of Frobenius norm) 2. Local construction Nice both geometrically and computationally !

21
Sub problem Assemble the locally constructed affine maps into a global PL-map 3. Patching local maps Local to Global It is done by finding the minimum of a certain energy functional on the space of PL-immersions.

22
The energy functional Key points: * It measures the difference between the PL-map and the locally constructed maps up to PL-conformal equivalence * The minimizer is unique (modulo linear conformal equivalence) and varies smoothly with regard to t Invariant under conformal transformation Users can easily direct the result by adding some terms to it : the simplex-wisely blended affine map

23
Visual consequence Left and center: user defined constraints Right: effect of PL-conformal invariance Left and center: user defined constraints Right: effect of PL-conformal invariance Energy w/o invariance Energy w/ invariance Trajectory of a point Is specified by user

24
Applications input: A, B, C, D… => “sA + tB + uC + vD + …”: output Our algorithm directly generalizes to more than two inputs Furthermore, nice properties of our linear parametrization of the affine transformation group allow various applications ・ shape deformer (addition/scalar product) ・ Inverse kinematics (calculus/differential equation) ・ Motion analysis/compression using PCA/ICA (linear algebra)

25
Demo Three shapes are blended according to weights. Weights are specified by user through the “ball controller”

26
Target shape (dino) is deformed according to user’s operation on the yellow cage. Demo

27
Shapes are deformed according to user manipulated handles (invisible) Demo

28
There will be a conference on “Math for CG” in October Google “MEIS2013” for detail Advertisement

Similar presentations

OK

CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES

CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google