Lie Bodies 論文紹介

5,006 views
4,887 views

Published on

Published in: Business

Lie Bodies 論文紹介

  1. 1. “Lie  Bodies:  A  Manifold  Representaion  of  3D   Human  Shape”   Oren  Freifeld  and  Michael  J.Black 2012年12月16日   Kohta  Ishikawa   @_kohta
  2. 2. アジェンダ •  ECCV  2012における多様体関連の論文  •  Lie  Bodiesとは  •  群とは  •  Lie群とLie代数(preliminary)  •  Lie  Bodies(revisited)  
  3. 3. ECCV  2012における多様体関連の論文 •  タイトルにmanifoldがつく論文:9本   –  Lie  Bodiesも多様体(曲がった空間)上の話   –  …まとめる時間がありませんでした。すみません…。  
  4. 4. Lie  Bodiesとは •  三角メッシュによる人体モデルの変形問題   –  基本的には各々の三角形をどう変形するか   –  自由に変形すると…   •  矛盾した(物理的にありえない)形ができてしまう   •  全体のメッシュの接続の辻褄合わせを行うreconstrucUon時に誤 差が大きくなる   –  より「自然な」変形は可能か?   •  自由変換でかつ群の構造を持つ変形を定義することができる!   •  変換群をLie群として取り扱うと、色々便利な性質が分かる Sumner,R.  Popovic,  J.   DeformaUon  transfer  for  triangle  meshes
  5. 5. 群とは •  集合にある演算○が定義されていて、集合の要素が 演算○について以下の性質を満たすとき、その集合 Gと演算○の組を群と呼ぶ   a, b, c 2 G :G⇥G!G①結合法則 a (b c) = (a b) c②単位元の存在 a e=e a=a となる e 2 G が存在する ③逆元の存在 1 1 1 a a =a a=e a となる 2 G が 任意の a 2 G について存在する
  6. 6. 群の例 •  回転群(U(1))   i✓ G = {e |✓ 2 R} は、複素数の積について群となる   i✓1 i✓2 i(✓1 +✓2 ) 結合法則は指数法則から明らか。   e e =e 単位元はθ=0  (回転なし:恒等変換)、逆元は-­‐θ   i✓ 0 e を掛ける i(✓+✓ 0 ) e ei✓ ei0 = 1 を掛けても点は移動しない(恒等変換) i✓ 0 e を掛ける
  7. 7. 群の例 •  回転群(SO(2))   –  (2次元の)回転を表す操作としてよく知っているものがあり ますよね?   ✓ ◆ cos ✓ sin ✓ R(✓) = :(2次元)回転行列 sin ✓ cos ✓ G = {R(✓)|✓ 2 R} は行列の積について群となる i✓ –  複素数 e の群とR(✓) の群は全く同じ性質を持っている   •  こういう関係を(準)同型な群と呼ぶ   –  U(1)とSO(2)は同型  
  8. 8. 群の例 •  有限(回転)群   –  例えば、6角形の頂点だけから成る集合と積 G = {ei✓ |✓ 2 {0, ⇡/3, 2⇡/3, · · · , 5⇡/3}} ・集合の要素同士の積は、6角形上の点を    移動する(積の結果が元の集合の元)     ・何らかの「対称性」をこのような群の構造    で記述できることが多い
  9. 9. 群の例 •  群の演算○をよく「積」と呼び、×と書いてしまうことも 多いが、普通の意味での積とそれが定義されている 集合が必ずしも群になっているわけではない  •  群でない積演算の例   –  実数とその積(!)   •  0は積について逆元が存在しないので、群にならない   •  実数(や複素数)から0を除いた集合は積について群となる  •  積演算以外の演算で群となる例   –  実数とその和   •  実数の和は結合法則を見たし、単位元0が存在し、逆元-­‐aが存在 するので群となる  
  10. 10. Lie群とは •  連続群で、群であると同時に多様体の構造を持って いるような集合をLie群と呼ぶ   –  最も単純なLie群のひとつ: 円周上の点の集合 i✓ ・(半径1の)円周上の点をexp(iθ)と書くと   e  複素数の積について群となり、また点の    集合は(定義より)円周の多様体となる
  11. 11. Lie群とLie代数 •  Lie代数(Lie環)   –  Lie群Gの単位元Iにおける接空間 TI M をGのLie代数(Lie 環)という 単位元(θ=0) 接空間   ((1,0)で円に接する平面)
  12. 12. Lie群とLie代数 •  Lie代数(Lie環)   –  Lie群Gの単位元Iにおける接空間 TI M をGのLie代数(Lie 環)という q = ei✓ i✓ = log q ・Lie群とLie代数はexp,  logで相互に移される      この関係を指数写像といい、一般のLie群で成り立つ     ・単位元からqまでのLie群(多様体)上の”距離”は、      Lie代数上の対応する点までの距離に等しい      (リーマン多様体で他にいくつかの条件を満たすとき…たぶん)     ・Lie代数は平坦な空間なので距離を測ることができる      →  Lie代数が分かればLie群の点(今は変換行列)同士の        距離を測ることができる!        
  13. 13. Lie  Bodies •  triangle  deformaUon   –  Euclidian   •  最も単純な考え方   •  R^{3*3}の自由度を持つ   •  実際の自由度は6なので、ヒューリスティックに制約をつける   –  noisy   –  負のdeterminantが発生する(物理的にあり得ない変換)   –  Lie  Bodies   •  真のdeformaUonの多様体を記述する   •  6次元の任意のdeformaUonを記述できる   •  自然な”距離”を導入できる  
  14. 14. Triangle  DeformaUon •  displacementとdeformaUon 3点を自由に移動   → 3*3  =  9  DoF   2点を自由に移動   +  全体の平行移動   → 3*2  +  3  =  9  DoF  
  15. 15. deformaUon同士の”距離” •  異なる2つのdeformaUonの”距離”を定量化したい   3点を自由に移動   → 3*3  =  9  DoF   –  “距離”(計量)が分かるとどう嬉しいか?   •  「似た変形」などを考えることができるようになる   •  各形状(=テンプレートからの各変形)について統計的に分析が できるようになる
  16. 16. Lie  Bodies •  アフィン変換との関係?   アフィン変換行列(3次元)  0 1 a11 a12 a13 d1@a21 a22 a23 d2 A a31 a32 a33 d3 変形行列 並進ベクトル –  アフィン変換群の部分群を考えればよいのでは?   –  それが難しい(ヒューリスティックが必要)ということかも  
  17. 17. Triangle  DeformaUon •  三角形の定義 ・1点を原点に固定(変形を考える上ではそうしてよい)   ・2本の辺ベクトルで三角形を定義 v1 0 1 0 1 (0,0,0) x1 x2 v 1 = @ y1 A v 2 = @ y2 A v2 z1 z2 Triangle: X = (v1 , v2 ) 2 R3⇥2
  18. 18. Triangle  DeformaUon •  deformaUonの定義   Y = QX X, Y :  Triangle Q 2 R3⇥3 –  Qを自由にとれる行列とするのがEuclidean  DeformaUon   –  実際は6自由度しかないはずだし、 Euclideanだと距離の 定義が自然でない          →  Lie  Bodiesの方法  
  19. 19. Triangle  DeformaUon •  deformaUonの定義  1辺がx軸上にあり、xy面内にある三角形をcanonicalと定義する ・三角形の変換は「(等方的な)スケーリング」、「面内変形」、「3次元回転」の   組み合わせで表現できると考える(intuiUon)    ・厳密に群の構造を持ち(Euclideanはそうならない場合がある)、物理的にあり得ない   変形(行列式が負)を発生させず、妥当な距離の定義を与える変換行列を構成できる  
  20. 20. DeformaUons •  それぞれの変形操作   –  等方的スケーリング   •  変換   0 1 s 0 0 (Y ) (Y ) (X) (X) (v1 , v2 ) = @0 s 0A (v1 , v2 ) 0 0 s •  変換群   Gs = {sI | s > 0} –  行列積について群となる(単位元s=1,  逆元1/s)  
  21. 21. DeformaUons •  それぞれの変形操作   –  面内変形   •  変換   0 1 1 U 0 (Y ) (Y ) (X) (X) (v1 , v2 ) = @0 V 0A (v1 , v2 ) 0 0 1 :=  A(U,V) •  変換群   GA = {A(U, V ) | U 2 R, V > 0} –  行列積について群となる
  22. 22. DeformaUons •  それぞれの変形操作   –  面内変形   •   行列積   0 0 10 1 0 0 1 1 U 0 1 U 0 1 U +U V 0 @0 V0 0A @0 V 0A = @0 VV0 0A 0 0 1 0 0 1 0 0 1 •  三角形のcanonical性を保つ   0 10 1 0 1 1 U 0 x1 x2 x1 x 2 + U y2 @0 V 0A @ 0 y2 A = @ 0 V y2 A 0 0 1 0 0 0 0
  23. 23. DeformaUons •  それぞれの変形操作   –  回転   •  いわゆる普通の3次元回転群(SO(3))   SO(3) = {R 2 GL(3) | RT R = I, det(R) = 1} 一般線形群(3次元) –  一般線形群(n次元):  n次正方行列で正則なものの集合
  24. 24. Triangle  DeformaUon •  全変形操作   –  変形元Xと変形先Yをそれぞれcanonicalにする   X, Y ! RX X, RY Y –  変形元三角形をスケール、面内変形で変形する   RX X ! ASRX X –  canonicalでないYへの変形を考えるため、RY Y の逆変 換を行う   T T Y = RY ASRX X = RRX ASRX X T R ⌘ RY RX
  25. 25. Triangle  DeformaUon •  変換の自由度   –  Xはgivenなので   も自動的に決まる   RX –  R:    3  DoF   –  A:    2  DoF   合計6  DoF –  S:  1  DoF  •  deformaUonは、6自由度の変換行列の集合となる   T {RRX ASRX }
  26. 26. Triangle  DeformaUon •  上記の変換行列の集合は、行列積について群とな らない   –  変換の積を考えてみても、元の形に戻らない   RRX ASRX R0 RX A0 S 0 RX T T•  群の構造を入れるため、変換の集合と積を以下の ように定義する   –  変換集合   GT ⌘ {(R, A, S) | R 2 SO(3), A 2 GA , S 2 GS } –  積   GT ⇥ GT ! GT ((R1 , A1 , S1 ), (R2 , A2 , S2 )) ! (R1 R2 , A1 A2 , S1 S2 )
  27. 27. Mesh  DeformaUon •  三角メッシュ(人体モデル)のdeformaUon   –  メッシュが Nt 個の三角形でできているとき、メッシュの変 換群を以下で定義する   M ⌘ GN t T •  個々の三角形への変換群の直積   •   6Nt  DoFの変換群                
  28. 28. Mesh  DeformaUon •  deformaUonのLie代数   –  スケール変換   gS ⌘ log GS = R –  面内変形   ⇢ ✓ ◆ 0 u gA ⌘ log GA = A 2 gl(2) | g = 0 v –  回転   gR = so(3) = {A 2 gl(3) | A = AT } –  全体 gT = gR ⇥ gA ⇥ gS
  29. 29. Mesh  DeformaUon •  deformaUon間の距離 1 d(p, q) = || log(p q)||F p, q 2 M ・U(1)で考えてみると… ei✓q i✓p | log((ei✓p ) 1 i✓q e )| = | log(ei(✓q ✓p ) )| e = |✓q ✓p |
  30. 30. Mesh  DeformaUon •  deformaUon間の距離   Nt X d(p1 , p2 )2 = dGT (g1,i , g2,i )2 i=1dGT (g1 , g2 )2 ⌘ || log(R1 R2 )||2 + || log(A1 1 A2 )||2 + | log(S2 /S1 )|2 T F F•  距離が分かったので、データから主成分を求める   –  多様体上の距離を使う            → PGA(Principal  Geodesic  Analysis)  
  31. 31. Principal  Geodesic  Analysis •  主成分分析   –  平均からの差をよく説明する基底を求める   –  平均?   1 X ・GTの要素の和ってなに?   µ= pi ・平均がGTに含まれていないと困る N i –  代わりに X µ = argminµ2{pi } d(pi , µ)2 i X µ = exp(1/n log pi ) i
  32. 32. Principal  Geodesic  Analysis •  平均からの差データ   1 {pi } ! {gi = µ pi }•  多様体上の距離 {log gi } について主成分分析  
  33. 33. 実験 •  データ点(ボディ形状):  986個  •  三角メッシュ数:  16128個  •  それぞれのデータについて、Euclidean  deformaUon とLie  deformaUon(今回の手法)を計算する   –  varianceとreconstrucUon  errorを比較   •  variance…?   •  少数の主成分のみを使って変形した場合との誤差 (reconstrucUon  error)
  34. 34. 実験 •  variance   –  Euclideanは本手法の1.68倍のvarianceだった  •  reconstrucUon  error   –  小さい!  
  35. 35. 実験 •  主成分(PGA)   –  上位5個の主成分について±4σ変形したもの
  36. 36. 実験 •  自然な見え   –  Eucledeanと本手法のメッシュのどちらが真のメッシュに近 いと思うかを選択してもらう   –  ナイーブには55.8%のケースで本手法が選択された   –  majority  was  achievedの条件付き確率で69%と言っている が…  
  37. 37. まとめ •  自然かつヒューリスティックのない三角メッシュの変 形を与える変換群を定義した  •  既存手法(Euclidean)に対して優位であることを確認 した  •  より少数で自然な主成分メッシュを生成することを確 認した(…?)
  38. 38. 参考文献 •  Lie群の分かりやすい本(マジで分かりやすい!)

×