38
“Lie Bodies: A Manifold Representaion of 3D Human Shape” Oren Freifeld and Michael J.Black 20121216Kohta Ishikawa @_kohta

Lie Bodies 論文紹介

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Lie Bodies 論文紹介

“Lie  Bodies:  A  Manifold  Representaion  of  3D  Human  Shape”  

Oren  Freifeld  and  Michael  J.Black

2012年12月16日  Kohta  Ishikawa  

@_kohta

Page 2: Lie Bodies 論文紹介

アジェンダ

•  ECCV  2012における多様体関連の論文  •  Lie  Bodiesとは  •  群とは  •  Lie群とLie代数(preliminary)  •  Lie  Bodies(revisited)  

Page 3: Lie Bodies 論文紹介

ECCV  2012における多様体関連の論文

•  タイトルにmanifoldがつく論文:9本  –  Lie  Bodiesも多様体(曲がった空間)上の話  

–  …まとめる時間がありませんでした。すみません…。  

Page 4: Lie Bodies 論文紹介

Lie  Bodiesとは

•  三角メッシュによる人体モデルの変形問題  –  基本的には各々の三角形をどう変形するか  –  自由に変形すると…  

•  矛盾した(物理的にありえない)形ができてしまう  •  全体のメッシュの接続の辻褄合わせを行うreconstrucUon時に誤

差が大きくなる  

–  より「自然な」変形は可能か?  •  自由変換でかつ群の構造を持つ変形を定義することができる!  •  変換群をLie群として取り扱うと、色々便利な性質が分かる

Sumner,R.  Popovic,  J.  DeformaUon  transfer  for  triangle  meshes

Page 5: Lie Bodies 論文紹介

•  集合にある演算○が定義されていて、集合の要素が演算○について以下の性質を満たすとき、その集合Gと演算○の組を群と呼ぶ  

群とは

a, b, c 2 G � : G⇥G ! G

a � (b � c) = (a � b) � c①結合法則

a � e = e � a = a②単位元の存在

となる e 2 G が存在する

a � a�1 = a�1 � a = e③逆元の存在

となる a�1 2 G が

任意の a 2 Gについて存在する

Page 6: Lie Bodies 論文紹介

群の例

•  回転群(U(1))  

G = {ei✓|✓ 2 R} は、複素数の積について群となる  

ei✓1ei✓2 = ei(✓1+✓2) 結合法則は指数法則から明らか。  単位元はθ=0  (回転なし:恒等変換)、逆元は-­‐θ  

ei✓

ei✓0を掛ける

e�i✓0を掛ける

を掛けても点は移動しない(恒等変換)

ei(✓+✓0)

ei0 = 1

Page 7: Lie Bodies 論文紹介

群の例

•  回転群(SO(2))  –  (2次元の)回転を表す操作としてよく知っているものがあり

ますよね?  

–  複素数 の群と の群は全く同じ性質を持っている  •  こういう関係を(準)同型な群と呼ぶ  

–  U(1)とSO(2)は同型  

R(✓) =

✓cos ✓ � sin ✓sin ✓ cos ✓

◆:(2次元)回転行列

G = {R(✓)|✓ 2 R} は行列の積について群となる

ei✓ R(✓)

Page 8: Lie Bodies 論文紹介

群の例

•  有限(回転)群  –  例えば、6角形の頂点だけから成る集合と積

G = {ei✓|✓ 2 {0,⇡/3, 2⇡/3, · · · , 5⇡/3}}

・集合の要素同士の積は、6角形上の点を   移動する(積の結果が元の集合の元)    ・何らかの「対称性」をこのような群の構造   で記述できることが多い

Page 9: Lie Bodies 論文紹介

群の例

•  群の演算○をよく「積」と呼び、×と書いてしまうことも多いが、普通の意味での積とそれが定義されている集合が必ずしも群になっているわけではない  

•  群でない積演算の例  –  実数とその積(!)  

•  0は積について逆元が存在しないので、群にならない  •  実数(や複素数)から0を除いた集合は積について群となる  

•  積演算以外の演算で群となる例  –  実数とその和  

•  実数の和は結合法則を見たし、単位元0が存在し、逆元-­‐aが存在するので群となる  

Page 10: Lie Bodies 論文紹介

Lie群とは

•  連続群で、群であると同時に多様体の構造を持っているような集合をLie群と呼ぶ  –  最も単純なLie群のひとつ: 円周上の点の集合

ei✓・(半径1の)円周上の点をexp(iθ)と書くと   複素数の積について群となり、また点の   集合は(定義より)円周の多様体となる

Page 11: Lie Bodies 論文紹介

Lie群とLie代数

•  Lie代数(Lie環)  –  Lie群Gの単位元Iにおける接空間 をGのLie代数(Lie

環)という

TIM

単位元(θ=0)

接空間  ((1,0)で円に接する平面)

Page 12: Lie Bodies 論文紹介

Lie群とLie代数

•  Lie代数(Lie環)  –  Lie群Gの単位元Iにおける接空間 をGのLie代数(Lie

環)という

TIM

q = ei✓ i✓ = log q

・Lie群とLie代数はexp,  logで相互に移される      この関係を指数写像といい、一般のLie群で成り立つ    ・単位元からqまでのLie群(多様体)上の”距離”は、      Lie代数上の対応する点までの距離に等しい      (リーマン多様体で他にいくつかの条件を満たすとき…たぶん)    ・Lie代数は平坦な空間なので距離を測ることができる      →  Lie代数が分かればLie群の点(今は変換行列)同士の        距離を測ることができる!        

Page 13: Lie Bodies 論文紹介

Lie  Bodies

•  triangle  deformaUon  –  Euclidian  

•  最も単純な考え方  •  R^{3*3}の自由度を持つ  •  実際の自由度は6なので、ヒューリスティックに制約をつける  

–  noisy  – 負のdeterminantが発生する(物理的にあり得ない変換)  

–  Lie  Bodies  •  真のdeformaUonの多様体を記述する  •  6次元の任意のdeformaUonを記述できる  •  自然な”距離”を導入できる  

Page 14: Lie Bodies 論文紹介

Triangle  DeformaUon

•  displacementとdeformaUon

3点を自由に移動  → 3*3  =  9  DoF  

2点を自由に移動  +  全体の平行移動  → 3*2  +  3  =  9  DoF  

Page 15: Lie Bodies 論文紹介

deformaUon同士の”距離”

•  異なる2つのdeformaUonの”距離”を定量化したい  

–  “距離”(計量)が分かるとどう嬉しいか?  •  「似た変形」などを考えることができるようになる  •  各形状(=テンプレートからの各変形)について統計的に分析が

できるようになる

3点を自由に移動  → 3*3  =  9  DoF  

Page 16: Lie Bodies 論文紹介

0

@a11 a12 a13 d1a21 a22 a23 d2a31 a32 a33 d3

1

A

Lie  Bodies

•  アフィン変換との関係?  

–  アフィン変換群の部分群を考えればよいのでは?  –  それが難しい(ヒューリスティックが必要)ということかも  

アフィン変換行列(3次元)  

変形行列 並進ベクトル

Page 17: Lie Bodies 論文紹介

Triangle  DeformaUon

•  三角形の定義

(0,0,0)

v1

v2

・1点を原点に固定(変形を考える上ではそうしてよい)  ・2本の辺ベクトルで三角形を定義

v1 =

0

@x1

y1

z1

1

Av2 =

0

@x2

y2

z2

1

A

X = (v1, v2) 2 R3⇥2Triangle:

Page 18: Lie Bodies 論文紹介

Triangle  DeformaUon

•  deformaUonの定義  

–  Qを自由にとれる行列とするのがEuclidean  DeformaUon  –  実際は6自由度しかないはずだし、 Euclideanだと距離の

定義が自然でない          →  Lie  Bodiesの方法  

Y = QX

X,Y :  Triangle Q 2 R3⇥3

Page 19: Lie Bodies 論文紹介

Triangle  DeformaUon

•  deformaUonの定義  

・三角形の変換は「(等方的な)スケーリング」、「面内変形」、「3次元回転」の   組み合わせで表現できると考える(intuiUon)    ・厳密に群の構造を持ち(Euclideanはそうならない場合がある)、物理的にあり得ない   変形(行列式が負)を発生させず、妥当な距離の定義を与える変換行列を構成できる  

1辺がx軸上にあり、xy面内にある三角形をcanonicalと定義する

Page 20: Lie Bodies 論文紹介

DeformaUons

•  それぞれの変形操作  –  等方的スケーリング  

•  変換  

•  変換群  

– 行列積について群となる(単位元s=1,  逆元1/s)  

(v(Y )1 , v(Y )

2 ) =

0

@s 0 00 s 00 0 s

1

A (v(X)1 , v(X)

2 )

Gs = {sI | s > 0}

Page 21: Lie Bodies 論文紹介

DeformaUons

•  それぞれの変形操作  –  面内変形  

•  変換  

•  変換群  

– 行列積について群となる

(v(Y )1 , v(Y )

2 ) =

0

@1 U 00 V 00 0 1

1

A (v(X)1 , v(X)

2 )

GA = {A(U, V ) | U 2 R, V > 0}:=  A(U,V)

Page 22: Lie Bodies 論文紹介

DeformaUons

•  それぞれの変形操作  –  面内変形  

•   行列積  

•  三角形のcanonical性を保つ  

0

@1 U 0 00 V 0 00 0 1

1

A

0

@1 U 00 V 00 0 1

1

A =

0

@1 U + U 0V 00 V V 0 00 0 1

1

A

0

@1 U 00 V 00 0 1

1

A

0

@x1 x2

0 y2

0 0

1

A =

0

@x1 x2 + Uy2

0 V y2

0 0

1

A

Page 23: Lie Bodies 論文紹介

DeformaUons

•  それぞれの変形操作  –  回転  

•  いわゆる普通の3次元回転群(SO(3))  

– 一般線形群(n次元):  n次正方行列で正則なものの集合

SO(3) = {R 2 GL(3) | RTR = I, det(R) = 1}一般線形群(3次元)

Page 24: Lie Bodies 論文紹介

Triangle  DeformaUon

•  全変形操作  –  変形元Xと変形先Yをそれぞれcanonicalにする  

–  変形元三角形をスケール、面内変形で変形する  

–  canonicalでないYへの変形を考えるため、 の逆変換を行う  

X,Y ! RXX,RY Y

RXX ! ASRXX

RY Y

Y = RTY ASRXX = RRT

XASRXX

R ⌘ RTY RX

Page 25: Lie Bodies 論文紹介

Triangle  DeformaUon

•  変換の自由度  –  Xはgivenなので   も自動的に決まる  –  R:    3  DoF  –  A:    2  DoF  –  S:  1  DoF  

•  deformaUonは、6自由度の変換行列の集合となる  

RX

合計6  DoF

{RRTXASRX}

Page 26: Lie Bodies 論文紹介

Triangle  DeformaUon

•  上記の変換行列の集合は、行列積について群とならない  –  変換の積を考えてみても、元の形に戻らない  

•  群の構造を入れるため、変換の集合と積を以下のように定義する  –  変換集合  

–  積  

RRTXASRXR0RT

XA0S0RX

GT ⌘ {(R,A, S) | R 2 SO(3), A 2 GA, S 2 GS}

GT ⇥GT ! GT

((R1, A1, S1), (R2, A2, S2)) ! (R1R2, A1A2, S1S2)

Page 27: Lie Bodies 論文紹介

Mesh  DeformaUon

•  三角メッシュ(人体モデル)のdeformaUon  –  メッシュが 個の三角形でできているとき、メッシュの変

換群を以下で定義する  

•  個々の三角形への変換群の直積  •                   DoFの変換群  

Nt

M ⌘ GNtT

6Nt

Page 28: Lie Bodies 論文紹介

Mesh  DeformaUon

•  deformaUonのLie代数  –  スケール変換  

–  面内変形  

–  回転  

–  全体

gS ⌘ logGS = R

gA ⌘ logGA =

⇢A 2 gl(2) | g =

✓0 u0 v

◆�

gR = so(3) = {A 2 gl(3) | A = �AT }

gT = gR ⇥ gA ⇥ gS

Page 29: Lie Bodies 論文紹介

Mesh  DeformaUon

•  deformaUon間の距離

d(p, q) = || log(p�1q)||F p, q 2 M

ei✓pei✓q

・U(1)で考えてみると…

| log((ei✓p)�1ei✓q )| = | log(ei(✓q�✓p))|

= |✓q � ✓p|

Page 30: Lie Bodies 論文紹介

Mesh  DeformaUon

•  deformaUon間の距離  

•  距離が分かったので、データから主成分を求める  –  多様体上の距離を使う            → PGA(Principal  Geodesic  Analysis)  

d(p1, p2)2 =

NtX

i=1

dGT (g1,i, g2,i)2

dGT (g1, g2)2 ⌘ || log(RT

1 R2)||2F + || log(A�11 A2)||2F + | log(S2/S1)|2

Page 31: Lie Bodies 論文紹介

Principal  Geodesic  Analysis

•  主成分分析  –  平均からの差をよく説明する基底を求める  –  平均?  

–  代わりに

µ =1

N

X

i

pi・GTの要素の和ってなに?  ・平均がGTに含まれていないと困る

µ = argminµ2{pi}X

i

d(pi, µ)2

µ = exp(1/nX

i

log pi)

Page 32: Lie Bodies 論文紹介

Principal  Geodesic  Analysis

•  平均からの差データ  

•  多様体上の距離

{pi} ! {gi = µ�1pi}

{log gi} について主成分分析  

Page 33: Lie Bodies 論文紹介

実験

•  データ点(ボディ形状):  986個  •  三角メッシュ数:  16128個  

•  それぞれのデータについて、Euclidean  deformaUonとLie  deformaUon(今回の手法)を計算する  –  varianceとreconstrucUon  errorを比較  

•  variance…?  •  少数の主成分のみを使って変形した場合との誤差

(reconstrucUon  error)

Page 34: Lie Bodies 論文紹介

実験

•  variance  –  Euclideanは本手法の1.68倍のvarianceだった  

•  reconstrucUon  error  

–  小さい!  

Page 35: Lie Bodies 論文紹介

実験

•  主成分(PGA)  –  上位5個の主成分について±4σ変形したもの

Page 36: Lie Bodies 論文紹介

実験

•  自然な見え  –  Eucledeanと本手法のメッシュのどちらが真のメッシュに近

いと思うかを選択してもらう  

–  ナイーブには55.8%のケースで本手法が選択された  –  majority  was  achievedの条件付き確率で69%と言っている

が…  

Page 37: Lie Bodies 論文紹介

まとめ

•  自然かつヒューリスティックのない三角メッシュの変形を与える変換群を定義した  

•  既存手法(Euclidean)に対して優位であることを確認した  

•  より少数で自然な主成分メッシュを生成することを確認した(…?)

Page 38: Lie Bodies 論文紹介

参考文献

•  Lie群の分かりやすい本(マジで分かりやすい!)