Upgrade to Pro — share decks privately, control downloads, hide ads and more …

3次元レジストレーション

 3次元レジストレーション

3次元画像センシング技術 2016/4/6

Toru Tamaki

April 06, 2021
Tweet

More Decks by Toru Tamaki

Other Decks in Technology

Transcript

  1. 3࣍ݩը૾ηϯγϯάٕज़ 2016/4/6 10:0ʙ12:00 (120෼) ۄ໦పʢ޿ౡେֶʣ @ttttamaki ۄ໦ ప [email protected] ࣍ݩϨδετϨʔγϣϯ

    ̏࣍ݩ఺܈ʹର͢ΔϨδετϨʔγϣϯʢҐஔ߹Θͤʣख๏ʹ͍ͭͯղઆ͢Δɻ ໨ඪɿ࣍ݩϨδετϨʔγϣϯख๏ͷ֓ཁͷ೺Ѳɻ *$1ఔ౓ͷख๏Λ࣮૷Ͱ͖ΔεΩϧͷऔಘɻ ಺༰ɿ  ϨδετϨʔγϣϯͱ͸ɿ࣍ݩͷϨδετϨʔγϣϯͷྫ͔Β࢝Ίͯɺ࣍ݩϨδετϨʔγϣ ϯͷجૅΛֶͿɻ  ࠷খೋ৐๏ɼ ࠷దԽɼ 1SPDSVTUFTBOBMZTJT  *$1ͱͦͷมछɿجຊతͳΞϧΰϦζϜͰ͋Δ*$1ʢ*UFSBUJWF $MPTFTU1PJOUʣͱɺͦͷ֦ுΛֶ Ϳɻ  *$1ɼ 4PGUBTTJHOɼ &.*$1ɼ 4QBSTF*$1  1$-ͳͲΛ༻͍࣮ͨ૷ख๏ΛֶͿɿ࣍ݩͷϨδετϨʔγϣϯͷྫ͔Β࢝Ίͯɺ࣍ݩϨδετ ϨʔγϣϯͷجૅΛֶͿɻ  *$1ͱͦͷ֦ுख๏ɼ ಛ௃఺Λ༻͍ͨϨδετϨʔγϣϯ εϥΠυ1%'ʢΧϥʔɼ.#ʣ IUUQCJUMZUBNBLJ
  2. ෼ྨɿ2Dͱ3D %ը૾ͷҐஔ߹Θͤ %ϘϦϡʔϜͷҐஔ߹Θͤ %఺܈ͷҐஔ߹Θͤ ը૾1 ը૾2 ύϊϥϚը૾ ϘϦϡʔϜ1 ϘϦϡʔϜ2 ϘϦϡʔϜ

    ఺ू߹1 ఺ू߹2 ఺ू߹ 2D-2DϨδετϨʔγϣϯ 3D-3DϨδετϨʔγϣϯ 3D-3DϨδετϨʔγϣϯ 
  3. ෼ྨɿར༻͢Δ৘ใ ಛ௃఺ϕʔε ً౓ࠩͷ࠷খԽ ԾͷରԠΛ༩͑Δ ఺ू߹1 ఺ू߹2 ఺ू߹ ֤఺͸Ґஔ৘ใͷΈ ԾͷରԠΛ༩͑ͯਪఆɼ൓෮ ը૾͔Βநग़͞ΕΔಛ௃఺

    ରԠ͸ಛ௃఺Ϛονϯά ը૾ͷً౓஋ ϘϦϡʔϜͷϘΫηϧ஋ ఺ରԠ͸ະ஌ ಛ௃఺ ରԠΛݟ͚ͭΔ ֤఺ͷ஋ ஋͕͍ۙ ॴΛ୳͢ ରԠΛ༩͑ΔʢԾʣ 2D-2D఺ 3D-3D఺ 3D-3DϘ 2D-2D 3D-3DϘ 2D-2D఺ 3D-3D఺ 
  4. ϨδετϨʔγϣϯͷҰൠతͳܗࣜ 1st Image Template Fixed image model 2nd Image Observation

    Moving image measurements I1 I2 p ӡಈύϥϝʔλ มܗύϥϝʔλ ࣅ͍ͯΔ͔ʁʢྨࣅ౓ʣ ͍͔ۙʁʢڑ཭ʣ I0 2 The Robotics Institute, Mellon University, AAM Fitting Algorithms, http://www.ri.cmu.edu/research_project_detail.html?project_id=448&menu_id=261 ӡಈύϥϝʔλp͸ࢥ͍ͬͯΔΑΓ΋ෳࡶʂ 
  5. ϨδετϨʔγϣϯΛߏ੒͢Δ3ͭͷཁૉ 1st Image Template Fixed image model 2nd Image Observation

    Moving image measurements I1 I2 p ӡಈύϥϝʔλ มܗύϥϝʔλ ࣅ͍ͯΔ͔ʁʢྨࣅ౓ʣ ͍͔ۙʁʢڑ཭ʣ I0 2 I1 I2 p I0 2 p ఺ͷ࠲ඪ ըૉ஋ϘΫηϧ஋ ϢʔΫϦουڑ཭ʢL2 ʣ ϩόετؔ਺ SSD, NCC ૬ޓ৘ใྔ(MI) ߶ମม׵ʢฒਐɾճసʣ ΞϑΟϯม׵ ඇ߶ମมܗ min ͱͷڑ཭ { } ͱ Ͱ Λม׵ͨ͠ ʢ ʣ ʣ ʢ 
  6. ิ଍ɿ̏ຕҎ্ͷը૾ͷҐஔ߹Θͤ I1 I2 In . . . min { (

    )ͱ( )ͱͷڑ཭} I0 j I0 i i, j όϯυϧௐ੔ 
  7. ϨδετϨʔγϣϯΛߏ੒͢Δ3ͭͷཁૉ I1 I2 p ӡಈύϥϝʔλ มܗύϥϝʔλ ࣅ͍ͯΔ͔ʁʢྨࣅ౓ʣ ͍͔ۙʁʢڑ཭ʣ I0 2

    I1 I2 p I0 2 p ఺ͷ࠲ඪ ըૉ஋ϘΫηϧ஋ ϢʔΫϦουڑ཭ʢL2 ʣ ϩόετؔ਺ SSD, NCC ૬ޓ৘ใྔ(MI) ߶ମม׵ʢฒਐɾճసʣ ΞϑΟϯม׵ ඇ߶ମมܗ min ͱͷڑ཭ { } ͱ Ͱ Λม׵ͨ͠ ʢ ʣ ʣ ʢ 
  8. ϨδετϨʔγϣϯΛߏ੒͢Δ3ͭͷཁૉ I1 I2 p I0 2 min p dist(I1, I0

    2 (p)) ΋͏গ͠਺ֶతʹɽɽɽ I1 I2 p I0 2 p ఺ͷ࠲ඪ ըૉ஋ϘΫηϧ஋ ϢʔΫϦουڑ཭ʢL2 ʣ ϩόετؔ਺ SSD, NCC ૬ޓ৘ใྔ(MI) ߶ମม׵ʢฒਐɾճసʣ ΞϑΟϯม׵ ඇ߶ମมܗ min ͱͷڑ཭ { } ͱ Ͱ Λม׵ͨ͠ ʢ ʣ ʣ ʢ 
  9. min p X i || x1i ( x2i p )||2

    ಛ௃఺ϕʔεͷϨδετϨʔγϣϯɿྫ I1 I2 p min p dist(I1, I0 2 (p)) ಛ௃఺ͷ৔߹Λ۩ମతʹ min p X i dist( x1i, W( x2i, p )) x11 x12 x13 ύϥϝʔλ͸ฒਐ͚ͩ x21 x22 x23 W 1 
  10. ಛ௃఺ϕʔεͷϨδετϨʔγϣϯɿྫ I1 I2 min p dist(I1, I0 2 (p)) ಛ௃఺ͷ৔߹Λ۩ମతʹ

    min p X i dist( x1i, W( x2i, p )) x11 x12 x13 ύϥϝʔλ͸ฒਐ͚ͩ t x21 x22 x23 min t X i ||( x1i + t ) x2i ||2 
  11. || x11 + t x21 ||2 = 0 || x12

    + t x22 ||2 = 0 || x13 + t x23 ||2 = 0 ಛ௃఺ϕʔεͷϨδετϨʔγϣϯɿྫ I1 I2 x11 x12 x13 t x21 x22 x23 x11 + t = x21 x12 + t = x22 x13 + t = x23 . . . . . . min t X i ||( x1i + t ) x2i ||2 ϢʔΫϦουڑ཭ʢL2 ϊϧϜʣ ͷ2৐ 
  12. min t X i ||( x1i + t ) x2i

    ||2 ಛ௃఺ϕʔεͷϨδετϨʔγϣϯɿྫ I1 I2 x11 x12 x13 t x21 x22 x23 || x11 + t x21 ||2 ' 0 || x12 + t x22 ||2 ' 0 || x13 + t x23 ||2 ' 0 x11 + t = x21 x12 + t = x22 x13 + t = x23 . . . . . . ࠩͷೋ৐࿨ ೋ৐ޡࠩ࿨ SSD (sum of squared differences) ϢʔΫϦουڑ཭ʢL2 ϊϧϜʣ ͷ2৐ 
  13. ໨తؔ਺ͷ࠷దԽʢ1࣍ݩʣ ໨తؔ਺ (objective function) ίετؔ਺ (cost function) ʢΤωϧΪʔؔ਺ʣ ʢେҬతʣ࠷దղ (global

    minimum) ໨తؔ਺Eͷ஋ ࠷దղ ہॴ࠷దղɼہॴղ (local minimum) ۃ஋ɼۃখ஋ ہॴղ ฒਐҠಈྔ t = t x 0 t x ͷ৔߹ E = X i ||( x1i + t ) x2i ||2 
  14. ໨తؔ਺ͷ࠷దԽʢ2࣍ݩʣ ໨తؔ਺ (objective function) ίετؔ਺ (cost function) ʢΤωϧΪʔؔ਺ʣ ʢେҬతʣ࠷దղ (global

    minimum) ໨తؔ਺Eͷ஋ t x ͷ৔߹ E = X i ||( x1i + t ) x2i ||2 t = ⇣ t x t y ⌘ t y ฒਐҠಈྔ t x ty ฒਐҠಈྔ 
  15. ໨తؔ਺ͷ࠷దԽʹඍ෼ͯ͠0 ▪ ࠷దղͰ͸… n Eͷ઀ઢͷ܏͖͕0 n EΛඍ෼ͯ͠0 ▪ ඍ෼ n

    1࣍ݩɿtx Ͱඍ෼ n 2࣍ݩɿt Ͱඍ෼ ▪ Let’s ඍ෼ʂ ໨తؔ਺ (objective function) ίετؔ਺ (cost function) ʢΤωϧΪʔؔ਺ʣ t = t x 0 ͷ৔߹ E = X i ||( x1i + t ) x2i ||2 @E @t = 0 @E @t 6= 0 ઀ઢͷ܏͖ ઀ઢͷ܏͖ ໨తؔ਺Eͷ஋ ฒਐҠಈྔ t x
  16. Let’s ࣜల։ˍϕΫτϧඍ෼ E = X i ||( x1i + t

    ) x2i ||2 = X i (( x1i + t ) x2i)T (( x1i + t ) x2i) = X i (( x1i x2i) + t )T (( x1i x2i) + t ) = X i ( x1i x2i)T ( x1i x2i) + ( x1i x2i)T t + t T ( x1i x2i) + t T t = X i ( x1i x2i)T ( x1i x2i) + 2( x1i x2i)T t + t T t = X i || x1i x2i ||2 + 2( x1i x2i)T t + || t ||2 @E @ t = X i (2( x1i x2i) + 2 t ) = 0 ( N X i 2( x1i x2i)) + 2N t = 0  ରԠ఺ͷҠಈྔͷฏۉ ղੳղ ʢ਺ࣜͰද͞ΕΔʣ N:఺ͷݸ਺ ||a||2 = aT a @aT a @a = 2a @bT a @a = b ඍ෼ͯ͠0ͱ͓͍ͯղ͘ ฏۉಉ࢜ͷࠩ ͷ৔߹ t = ⇣ t x t y ⌘ 
  17. ϙΠϯτ1ɿ͔ͩΒϢʔΫϦουڑ཭ I1 I2 x11 x12 x13 t x21 x22 x23

    || x11 + t x21 ||2 ' 0 || x12 + t x22 ||2 ' 0 || x13 + t x23 ||2 ' 0 x11 + t = x21 x12 + t = x22 x13 + t = x23 ϢʔΫϦουڑ཭ʢL2 ϊϧϜʣ ͷ2৐ ໨తؔ਺͕2࣍ؔ਺ ࠷খ஋͸ղੳతʹٻ·Δ ໨తؔ਺Eͷ஋ ฒਐҠಈྔ t x 
  18. t = ¯ x1 ¯ x2 ϙΠϯτ2ɿ֎Ε஋ʹؾΛ͚ͭΑ͏ I1 I2 x11

    x12 x13 t x21 x22 x23 || x11 + t x21 ||2 ' 0 || x12 + t x22 ||2 ' 0 || x13 + t x23 ||2 ' 0 ฒਐͷਪఆ஋ ϢʔΫϦουڑ཭ʢL2 ϊϧϜʣ ʢͷ2৐ʣ ʮϊΠζ͕ਖ਼ن෼෍ʯΛԾఆ ʢ࠷໬ਪఆʣ 
  19. ϙΠϯτ2ɿ֎Ε஋ʹؾΛ͚ͭΑ͏ I1 I2 x11 x12 x13 t x21 x22 x23

    || x11 + t x21 ||2 ' 0 || x12 + t x22 ||2 ' 0 || x13 + t x23 ||2 ' 0 ϢʔΫϦουڑ཭ʢL2 ϊϧϜʣ ʢͷ2৐ʣ ฒਐͷਪఆ஋ ʮϊΠζ͕ਖ਼ن෼෍ʯΛԾఆ ʢ࠷໬ਪఆʣ ֎Ε஋ʹऑ͍ʂ ֎Ε஋ ▪ ରࡦ n L1 ϊϧϜΛ༻͍Δ n ϩόετڑ཭ؔ਺Λ༻͍Δ n RANSACΛར༻ t = ¯ x1 ¯ x2
  20. p W ( x1i, p ) = x2i || W

    ( x1i, p ) x2i ||2 ' 0 ิ଍ɿҰൠԽ I1 I2 x11 x12 x13 x21 x22 x23 ໨తؔ਺͸Ұൠʹඇ2࣍ؔ਺ ࠷খ஋͸ղੳతʹٻ·Βͳ͍ ໨తؔ਺Eͷ஋ ύϥϝʔλ ▪ ղੳతʹղ͚Δ n ฒਐɼճసɼ૬ࣅม׵ n ΞϑΟϯม׵ ▪ ൓෮๏͕ඞཁ n ඇઢܗؔ਺ n ʢεϓϥΠϯɼFFDɼͳͲʣ ม׵ؔ਺ʢϫʔϓؔ਺ʣ 
  21. ൓෮ޯ഑๏ͷྫɿ࠷ٸ߱Լ๏ ໨తؔ਺&ͷ஋ ύϥϝʔλ p0 p1 p2 · · · ԼΔํ޲ʹਐΉ

    ʢ͜ͷ৔߹͸ӈํ޲ʣ ύϥϝʔλߋ৽ࣜ εςοϓαΠζ ߱Լํ޲ Ұͭલͷ ਪఆ஋ ৽͍͠ ਪఆ஋ ࠷దղ ہॴղ pn = pn 1 + ↵ pn 1 pn
  22. *$1

  23. ෼ྨɿར༻͢Δ৘ใ ಛ௃఺ϕʔε ً౓ࠩͷ࠷খԽ ԾͷରԠΛ༩͑Δ ఺ू߹1 ఺ू߹2 ఺ू߹ ֤఺͸Ґஔ৘ใͷΈ ԾͷରԠΛ༩͑ͯਪఆɼ൓෮ ը૾͔Βநग़͞ΕΔಛ௃఺

    ରԠ͸ಛ௃఺Ϛονϯά ը૾ͷً౓஋ ϘϦϡʔϜͷϘΫηϧ஋ ఺ରԠ͸ະ஌ ಛ௃఺ ରԠΛݟ͚ͭΔ ֤఺ͷ஋ ஋͕͍ۙ ॴΛ୳͢ ରԠΛ༩͑ΔʢԾʣ 2D-2D఺ 3D-3D఺ 3D-3DϘ 2D-2D 3D-3DϘ 2D-2D఺ 3D-3D఺ 
  24. ICPɿ఺ू߹Ϛονϯά ▪ Iterative Closest Point (ICP) n ఺ू߹Ϛονϯάͷ୅දతͳख๏ n ଟ਺ͷ೿ੜख๏͕ొ৔

    ▪ Ϛονϯά n ʹ߶ମϨδετϨʔγϣϯ n ճసߦྻRͱฒਐϕΫτϧtΛਪఆ ͢Δ ఺ू߹X ఺ू߹Y ʁ ରԠ͕༩͑ΒΕ͍ͯͳ͍఺ू߹ େੴַ࢙,૿ాஐਔ,૔௺྄,஑಺ࠀ࢙,૑ݐظಸྑେ෹ٴͼେ෹఼ͷσδλϧ෮ݩ,೔ຊ όʔνϟϧϦΞϦςΟֶձ࿦จࢽ, Vol. 10, No. 3, pp.429-436, 2005.10. Chen, Y. and Medioni, G. “Object Modeling by Registration of Multiple Range Images,” Proc. IEEE Conf. on Robotics and Automation, 1991. Besl, P. and McKay, N. “A Method for Registration of 3-D Shapes,” Trans. PAMI, Vol. 14, No. 2, 1992. ఺ू߹Y
  25. ରԠ͕༩͑ΒΕ͍ͯͳ͍఺ू߹Ϛονϯά ▪ ໰୊ n ରԠ͸༩͑ΒΕ͍ͯͳ͍ n ఺ͷ࠲ඪ͔͠৘ใ͕ͳ͍ ▪ ICPͷجຊΞϧΰϦζϜ 1.

    ԾͷରԠɿXͷ֤఺ʹ࠷΋͍ۙY ͷ఺ΛٻΊΔ (closest point) 2. ύϥϝʔλΛٻΊΔɿXΛYʹม ׵͢ΔύϥϝʔλʢճసRͱฒਐ tʣΛਪఆ͢Δ 3. ԾͷରԠɿRX+tͷ֤఺ʹ࠷΋ۙ ͍Yͷ఺ΛٻΊΔ (closest point) 4. εςοϓ2ͱ3Λ൓෮(iterate) ▪ ICPͷίϯηϓτ n ʮରԠ͕ͳ͍໰୊ʯΛʮରԠͷ͋ Δ໰୊ʯʹஔ͖׵͑Δ n ͜ΕΛ൓෮͢Δ ఺ू߹X ఺ू߹Y ʁ ରԠ͕༩͑ΒΕ͍ͯͳ͍఺ू߹ ఺ू߹X ఺ू߹Y ରԠ͕༩͑ΒΕ͍ͯΔ఺ू߹ ۄ໦ ప ɿ ʮ࢟੎ਪఆͱճసߦྻʯ, ిࢠ৘ใ௨৴ֶձ εϚʔτΠϯϑΥϝ σΟΞγεςϜݚڀձʢSISʣ৴߸ॲཧݚڀձʢSIPʣΦʔσΟΦϏδϡΞϧ ෳ߹৘ใॲཧݚڀձʢIPSJ-AVMʣ, ిࢠ৘ใ௨৴ֶձٕज़ใࠂ SIP2009-48, SIS2009-23, Vol.109, No.202, pp.59-64, ޿ౡେֶ, ޿ౡʢ2009 09ʣ.
  26. ఺ू߹X ఺ू߹Y ఺ू߹Y ൓෮ 1ճ໨ ൓෮ 2ճ໨ ൓෮ 3ճ໨ ൓෮

    4ճ໨ ֤఺xiʹ࠷΋͍ۙ yiΛରԠͤ͞Δ ֤఺Rxi+tʹ࠷΋͍ۙ yiΛରԠͤ͞Δ RͱtΛਪఆ RͱtΛਪఆ RͱtΛਪఆ RͱtΛਪఆ ֤఺Rxi+tʹ࠷΋͍ۙ yiΛରԠͤ͞Δ ֤఺Rxi+tʹ࠷΋͍ۙ yiΛରԠͤ͞Δ ऴྃʂ
  27. ʢԾͷʣରԠ͕༩͑ΒΕ͍ͯΔ໰୊Λղ͘ ▪ ໰୊ n ରԠ͸༩͑ΒΕ͍ͯͳ͍ n ఺ͷ࠲ඪ͔͠৘ใ͕ͳ͍ ▪ ICPͷجຊΞϧΰϦζϜ 1.

    ԾͷରԠɿXͷ֤఺ʹ࠷΋͍ۙY ͷ఺ΛٻΊΔ (closest point) 2. ύϥϝʔλΛٻΊΔɿXΛYʹม ׵͢ΔύϥϝʔλʢճసRͱฒਐ tʣΛਪఆ͢Δ 3. ԾͷରԠɿRX+tͷ֤఺ʹ࠷΋ۙ ͍Yͷ఺ΛٻΊΔ (closest point) 4. εςοϓ2ͱ3Λ൓෮ ▪ ICPͷίϯηϓτ n ʮରԠ͕ͳ͍໰୊ʯΛʮରԠͷ͋ Δ໰୊ʯʹஔ͖׵͑Δ n ͜ΕΛ൓෮͢Δ ఺ू߹X ఺ू߹Y ʁ ରԠ͕༩͑ΒΕ͍ͯͳ͍఺ू߹ ఺ू߹X ఺ू߹Y ରԠ͕༩͑ΒΕ͍ͯΔ఺ू߹ ۄ໦ ప ɿ ʮ࢟੎ਪఆͱճసߦྻʯ, ిࢠ৘ใ௨৴ֶձ εϚʔτΠϯϑΥϝ σΟΞγεςϜݚڀձʢSISʣ৴߸ॲཧݚڀձʢSIPʣΦʔσΟΦϏδϡΞϧ ෳ߹৘ใॲཧݚڀձʢIPSJ-AVMʣ, ిࢠ৘ใ௨৴ֶձٕज़ใࠂ SIP2009-48, SIS2009-23, Vol.109, No.202, pp.59-64, ޿ౡେֶ, ޿ౡʢ2009 09ʣ.
  28. RͷΈͷਪఆ໰୊΁มܗʢߦྻܗࣜʣ 3xn 1xn 3xn ϑϩϕχ΢εϊϧϜ ղ͘΂͖໰୊ʢ֤఺ͷޡࠩͷ2৐࿨ʣ ղ͘΂͖໰୊ʢߦྻϊϧϜ࠷খԽʣ ͜͜Ͱ ॏ৺ҐஔΛҾ͘ ͱɿ

    ղ͘΂͖໰୊ʢճసͷΈʣ ͜͜Ͱ 3xn 3xn ▪ ୅දతͳղ๏ n ࢛ݩ਺Λ༻͍Δํ๏ n SVDΛ༻͍Δํ๏ ॏ৺ΛҾ͍ͨσʔλ ʢηϯλϦϯάࡁΈʣ 
  29. ࢛ݩ਺Λ༻͍ͨղ๏ ̍ ̎ ̏ S Kͷୈ̍ݻ༗ϕΫτϧΛܭࢉɿq ͜ΕΛ࢛ݩ਺qͱΈͳ͢ ճసߦྻR΁ม׵ Berthold K.

    P. Horn, Hugh M. Hilden, and Shahriar Negahdaripour. Closed-form solutions of absolute orientation using orthonormal matrices. Journal of the Optical Society of America, Vol. 5, pp. 1127–1135, 1988. Berthold K. P. Horn. Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America, Vol. 4, pp. 629–642, 1987. ߦྻSΛܭࢉ ߦྻKΛܭࢉ nx3 3xn 3x3  
  30. Lagrange৐਺Λ༻͍ͨղ๏ ࠷খԽ͢Δ߲ ੍໿৚݅ Lagrange৐਺ 6ͭͷҟͳΔLagrange৐਺Λ ཁૉʹ࣋ͭ3x3ରশߦྻ Shinji Umeyama. Least-squares estimation

    of transformation parameters between two point patterns. IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol. 13, No. 4, pp. 376–380, 1991. ௚ަߦྻ ߦྻ͕ࣜʴ1 &JHFOVNFZBNB ͱ͍͏໊લͰ&JHFOʹ࣮૷͞Ε͍ͯΔ 
  31. SVDΛ༻͍ͨղ๏ ▪ τϨʔεͷੑ࣭ ▪ Frobenius norm$%( ,-'(tr) #&"!.)+* / #&"!.(,-'

    / K. S. Arun, T. S. Huang, and S. D. Blostein. Least-squares fitting of two 3-D point sets. PAMI, Vol. 9, No. 5, pp. 698–700, 1987. Peter H. Schönemman. A generalized solution of the orthogonal procrustes problem. Psychometrika, Vol. 31, No. 1, pp. 1–10, 1966.
  32. SVDΛ༻͍ͨղ๏ τϨʔεͷ্քΛܭࢉ ಛҟ஋෼ղ (Singular Value Decomposition, SVD) ͔ͩΒ࠷େ஋Λ༩͑Δͷ͸ ௚ަߦྻ ର֯ߦྻ

    Schwarzͷෆ౳ࣜͰࣔͤΔ K. S. Arun, T. S. Huang, and S. D. Blostein. Least-squares fitting of two 3-D point sets. PAMI, Vol. 9, No. 5, pp. 698–700, 1987. Peter H. Schönemman. A generalized solution of the orthogonal procrustes problem. Psychometrika, Vol. 31, No. 1, pp. 1–10, 1966. ٻΊͨճసߦྻ ͖ͬ͞ͷࣜ ͢ΔͱRͷߦྻࣜ͸+1 Ͱ΋Rͷߦྻࣜ͸+1͔-1 Kenichi Kanatani. Analysis of 3-D rotation fitting. PAMI, Vol. 16, No. 5, pp. 543–549, 1994. Shinji Umeyama. Least-squares estimation of transformation parameters between two point patterns. PAMI, Vol. 13, No. 4, pp. 376–380, 1991. ۚ୩݈Ұ, ը૾ཧղ—̏࣍ݩೝࣝͷ਺ཧ—, 3.4અ, ৿๺ग़൛, 1990. S
  33. Orthogonal Procrustes Problem Procrustes. "Now then, you fellows; I mean

    to fit you all to my little bed!” The Modern Bed of Procrustes - Cartoon from the Project Gutenberg eBook of Punch, Volume 101, September 19, 1891, by John Tenniel. http://commons.wikimedia.org/wiki/File:The_Modern_Bed_of_Procustes_-_Punch_cartoon_-_Project_Gutenberg_eText_13961.png Orthogonal Procrustes Extended Orthogonal Procrustes Generalized Orthogonal Procrustes Peter H. Schönemmanand Robert M. Carroll. Fitting one matrix to another under choice of a central dilation and a rigid motion. Psychometrika, Vol. 35, No. 2, pp. 245–255, 1970. Devrim Akca. Generalized procrustes analysis and its applications in photogrammetry. Technical report, ETH, Swiss Federal Institute of Technology Zurich, Institute of Geodesy and Photogrammetry, 2003. Peter H. Schönemman. A generalized solution of the orthogonal procrustes problem. Psychometrika, Vol. 31, No. 1, pp. 1–10, 1966. John R. Hurley, Raymond B. Cattell, The procrustes program: Producing direct rotation to test a hypothesized factor structure, Behavioral Science, Volume 7, Issue 2, pages 258–262, April 1962. ճసͷΈ ฒਐ΋ ͨ͘͞Μ 
  34. ઈରඪఆɿAbsolute Orientation Berthold K. P. Horn, Hugh M. Hilden, and

    Shahriar Negahdaripour. Closed-form solutions of absolute orientation using orthonormal matrices. Journal of the Optical Society of America, Vol. 5, pp. 1127–1135, 1988. Berthold K. P. Horn. Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America, Vol. 4, pp. 629–642, 1987. E. H. Thompson. An exact linear solution of the problem of absolute orientation. Photogrammetria, Vol. 15, pp. 163-179, 1958-1959. G.H. Schut, On exact linear equations for the computation of the rotational elements of absolute orientation, Photogrammetria, Volume 17, pp. 34-37, 1960–1961. E. H. Thompson, 1958-1959 0 @ X Y Z 1 A = R 0 @ X0 Y 0 Z0 1 A ͜ΕΛٻΊΔ 
  35. DERiVE ίϯϐϡʔλϏδϣϯϒϩά, ʲγϦʔζʳʮPCLΛ৮ͬͯΈΑ͏!ʯ ୈ3ճɿPoint CloudσʔλͷಡΈࠐΈͱՄࢹԽ, 2011/10/29, http://derivecv.tumblr.com/post/1 2067 6672 02

    ෇࿥ɿϊΠζ͕ඇ౳ํΨ΢εͷ৔߹ ఺ू߹X ఺ू߹Y Leo Dorst, "First Order Error Propagation of the Procrustes Method for 3D Attitude Estimation," PAMI, vol. 27, no. 2, pp. 221-229, 2005. ݪ༟وɼ৽࠺߂ਸɼۚ୩݈Ұɼ ෆۉҰͳޡࠩ෼෍Λ΋ۭͭؒσʔλ͔Βͷ 3࣍ݩճసͷ࠷దܭࢉ, 2011-CVIM-175-20, 2011.1 দӬྗ, 2࣍ݩ/3࣍ݩزԿֶม׵ͷ౷Ұతͳ࠷దܭࢉ, SSII2012. ඇ౳ํΨ΢εϊΠζ Ұํ޲ʹϊΠζ͕޿͕͍ͬͯΔ ྫɿεςϨΦ෮ݩͳͲ ෆۉҰϊΠζ෼෍ ֤఺ͷϊΠζ෼෍͕ҟͳΔ ྫɿKinectͰऔಘͨ͠఺܈ͳͲ ౳ํΨ΢εϊΠζ ϊΠζ෼෍Λද͢ପԁ ͢΂ͯͷ఺ͷϊΠζ͕ಉҰ෼෍ ௨ৗԾఆ͞ΕΔϊΠζ Ұൠతɼඇݱ࣮త खલ ਫ਼౓ߴ͍ Ԟ ਫ਼౓௿͍ Kinect఺܈ Tsukuba D. Scharstein and R. Szeliski. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. IJCV 2002. http://vision.middlebury.edu/stereo/eval/newEval/tsukuba/alg12t 100.html
  36. ఺܈ͷେ͖͕͞ҟͳΔ৔߹ɿ૬ࣅม׵ R, tʹՃ͑ͯεέʔϧsΛਪఆ͠ͳ͚Ε͹ͳΒͳ͍ n ୯७ղ๏ n ࠷దܭࢉ • ຊా୎࢜, ৽࠺߂ਸ,

    ۚ୩ ݈Ұ, 3࣍ݩ૬ࣅม׵ͷ࠷దԽܭࢉɿ Ψ΢εɾχϡʔτϯ๏vs.Ψ΢εɾϔϧϚʔτ๏, 2011- CG145CVIM179-12, 2011.11. • ݪ༟وɼ৽࠺߂ਸɼۚ୩݈Ұɼ ෆۉҰͳޡࠩ෼෍Λ΋ۭͭؒ σʔλ͔Βͷ3࣍ݩ૬ࣅม׵ͷ࠷దܭࢉ, 2010-CVIM-176-15, 2011.3 • L. Dryden, K. V. Mardia, Statistical shape analysis, Wiley, 1998. • Berthold K. P. Horn. Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America, Vol. 4, pp. 629–642, 1987. • Shinji Umeyama. Least-squares estimation of transformation parameters between two point patterns. IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol. 13, No. 4, pp. 376–380, 1991. Toru Tamaki, Shunsuke Tanigawa, Yuji Ueno, Bisser Raytchev, Kazufumi Kaneda: "Scale matching of 3D point clouds by finding keyscales with spin images,” ICPR2010. Baowei Lin, Toru Tamaki, Fangda Zhao, Bisser Raytchev, Kazufumi Kaneda, Koji Ichii, "Scale alignment of 3D point clouds with different scales," Machine Vision and Applications, November 2014, Volume 25, Issue 8, pp 1989-2002 (2014 11). DOI: 10.1007/s00138-014-0633-2 n Keyscale n ̏࣍ݩ఺܈ͷେ͖͞ಛ௃ྔΛද͢εέʔϧΛ ݟ͚ͭͯͦΖ͑Δʢkeypointͷεέʔϧ൛ʣ ߶ମม׵ͷ৔߹ ૬ࣅม׵ͷ৔߹ &JHFOVNFZBNB pcl::registration::Transformation EstimationSVDScale 
  37. 2࣍ݩͷ૬ࣅม׵ɿෳૉฏ໘Ͱͷղੳղ ɿڞ໾ෳૉ )ɿڞ໾సஔ ࣮࣠ ڏ࣠ ෳૉฏ໘্ͷ఺ Ծఆɿ ʢͭ·Γฒਐ͸ʣ • L.

    Dryden, K. V. Mardia, Statistical shape analysis, Wiley, 1998. ෳૉฏ໘Ͱ͸ɼෳૉ਺BΛֻ͚Δ͜ͱʹ૬ࣅม׵ ɾεέʔϧɿBͷઈର஋ ɾճస֯ɿBͷภ֯ 
  38. ղੳղ εέʔϧ ճస • L. Dryden, K. V. Mardia, Statistical

    shape analysis, Wiley, 1998. ར఺ɿ47%ͱ͍͏਺஋ܭࢉ͕ෆཁ  pcl::registration::TransformationEstimation2D
  39. RͱTͷਪఆʢ௨ৗ൛ɿpoint-to-pointʣ ߶ମม׵ͷਪఆ • ग़ྗ • ճసߦྻRɼฒਐϕΫτϧT • ʢεέʔϧsʣ • ೖྗ

    • ఺ͷରԠؔ܎ • ఺਺͕ಉ͡2ͭͷ఺܈ • ιʔεɼλʔήοτ ఺ू߹X ఺ू߹Y ରԠ͕༩͑ΒΕ͍ͯΔ఺ू߹ • SVDΛ༻͍Δํ๏ • pcl::registration::TransformationEstimationSVD • pcl::registration::TransformationEstimationSVDScale • Dual Quaternionʢ૒ର࢛ݩ਺ʣΛ༻͍Δํ๏ • pcl::registration::TransformationEstimationDualQuaternion • pcl::registration::TransformationEstimationDQʢίʔυಉҰʣ • ඇઢܗ࠷దԽΛ༻͍Δํ๏ʢਫ਼౓ѱ͍ɾܭࢉ࣌ؒ௕͍ʣ • pcl::registration::TransformationEstimationLM • ̎࣍ݩ༻ʢ༩͑Δ3࣍ݩ఺܈ͷz࠲ඪΛશ෦0ʹ͓ͯ͘͠ʣ • pcl::registration::TransformationEstimation2D  εέʔϧ͸ਪఆ͠ͳ͍
  40. RͱTͷਪఆʢpoint-to-plane൛ʣ ߶ମม׵ͷਪఆ • ग़ྗ • ճసߦྻRɼฒਐϕΫτϧT • ೖྗ • ఺ͷରԠؔ܎

    • ఺਺͕ಉ͡2ͭͷ఺܈ • ιʔεɼλʔήοτ • ֤λʔήοτ఺ͷ๏ઢϕΫτϧ • ʢΦϓγϣϯʣରԠͷॏΈ ରԠʴ๏ઢ͕༩͑ΒΕ͍ͯΔ఺ू߹ • pcl::registration::TransformationEstimationPointToPlane • ϨʔϕϯόʔάɾϚʔΧʔτ๏ʹΑΔඇઢܗ࠷దԽ • pcl::registration::TransformationEstimationPointToPlaneLLS • ઢܗ࠷খೋ৐๏ʹΑΔۙࣅઢܗ࠷దԽ • pcl::registration::TransformationEstimationPointToPlaneLLSWeighted • ॏΈ෇͖ઢܗ࠷খೋ৐๏ʹΑΔۙࣅઢܗ࠷దԽ point-to-plane distance point-to-point distance ԕ͍ ͍ۙ ฏ໘ʹ ͍ۙ ฏ໘͔Β ԕ͍  ʢ5SBOTGPSNBUJPO&TUJNBUJPO-.͔Βͷ೿ੜΫϥεʣ
  41. point-to-point distance ԕ͍ ͍ۙ point-to-plane distance ฏ໘ʹ ͍ۙ ฏ໘͔Β ԕ͍

    point-to-point point-to-plane point-to-point vs point-to-plane Szymon Rusinkiewicz, Marc Levoy, Efficient Variants of the ICP Algorithm, 3DIM, 2001. http://www.cs.princeton.edu/~smr/papers/fasticp/ Szymon Rusinkiewicz, Derivation of point to plane minimization, 2013. http://www.cs.princeton.edu/~smr/papers/icpstability.pdf Kok-Lim Low, Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration, Technical Report TR04-004, Department of Computer Science, University of North Carolina at Chapel Hill, February 2004. https://www.comp.nus.edu.sg/~lowkl/publications/lowk_point-to-plane_icp_techrep.pdf point-to-planeͷICPͷํ͕ऩଋ͕Α͍ ͨͩ͠๏ઢ৘ใ͕ඞཁɼܭࢉίετ͸૿͑Δ 
  42. RͱTͷਪఆɿ࣮ࡍ ϝΠϯύʔτ Lorusso, D. W. Eggert, and R. B. Fisher.

    A comparison of four algorithms for estimating 3-D rigid transformations. Prof. of BMVC95, pp. 237–246, 1995. D. W. Eggert, A. Lorusso, and R. B. Fisher. Estimating 3-D rigid body transformations: a comparison of four major algorithms. Machine Vision and Applications, Vol. 9, pp. 272–290, 1997. ͲΕΛ࢖͑͹Α͍ʁ • QPJOUUPQPJOUͳΒͲΕ΋ਫ਼౓͸มΘΒͳ͍ • 47%ɼRVBUFSOJPOɼEVBMRVBUFSOJPOͳͲͷղੳղΛಘΔख๏ͳΒ • ͨͩ͠-.ʢඇઢܗ࠷దԽʣ͸μϝʢQPJOUUPQMBOF༻ʣ • TDBMFΛਪఆ͢ΔͳΒ47% • ࣍ݩσʔλͳΒ%༻ • *$1ʹ࢖͏ͳΒQPJOUUPQMBOF
  43. ICPɿpoint-to-planeͷ৔߹ ▪ ໰୊ n ରԠ͸༩͑ΒΕ͍ͯͳ͍ n ఺ͷ࠲ඪ͔͠৘ใ͕ͳ͍ ▪ ICPͷجຊΞϧΰϦζϜ 1.

    ԾͷରԠɿXͷ֤఺ʹ࠷΋͍ۙY ͷ఺ΛٻΊΔ (closest point) 2. ύϥϝʔλΛٻΊΔɿXΛYʹม ׵͢ΔύϥϝʔλʢճసRͱฒਐ tʣΛਪఆ͢Δ 3. ԾͷରԠɿRX+tͷ֤఺ʹ࠷΋ۙ ͍Yͷ఺ΛٻΊΔ (closest point) 4. εςοϓ2ͱ3Λ൓෮ ▪ ICPͷίϯηϓτ n ʮରԠ͕ͳ͍໰୊ʯΛʮରԠͷ͋ Δ໰୊ʯʹஔ͖׵͑Δ n ͜ΕΛ൓෮͢Δ ఺ू߹X ఺ू߹Y ʁ ରԠ͕༩͑ΒΕ͍ͯͳ͍఺ू߹ ఺ू߹X ఺ू߹Y ରԠ͕༩͑ΒΕ͍ͯΔ఺ू߹ ۄ໦ ప ɿ ʮ࢟੎ਪఆͱճసߦྻʯ, ిࢠ৘ใ௨৴ֶձ εϚʔτΠϯϑΥϝ σΟΞγεςϜݚڀձʢSISʣ৴߸ॲཧݚڀձʢSIPʣΦʔσΟΦϏδϡΞϧ ෳ߹৘ใॲཧݚڀձʢIPSJ-AVMʣ, ిࢠ৘ใ௨৴ֶձٕज़ใࠂ SIP2009-48, SIS2009-23, Vol.109, No.202, pp.59-64, ޿ౡେֶ, ޿ౡʢ2009 09ʣ. ͕͜͜point-to-planeʹͳΔ
  44. ICPͷPCL࣮૷ ߶ମม׵ͷਪఆ • ग़ྗ • ճసߦྻRɼฒਐϕΫτϧT • ʢεέʔϧsʣ • ೖྗ

    • 2ͭͷ఺܈ • ιʔεɼλʔήοτ • ʢλʔήοτͷ๏ઢϕΫτϧʣ • ICP࣮૷ • pcl::IterativeClosestPoint • σϑΥϧτͰ • ม׵ਪఆʹpoint-to-point • ڑ཭͸point-to-point • pcl::IterativeClosestPointWithNormals • σϑΥϧτͰ • ม׵ਪఆʹpoint-to-plane • ڑ཭͸point-to-point ! • ͲͪΒ΋ϝϯόؔ਺Ͱಈ࡞มߋՄೳ • pcl::Registration::setTransformationEstimation() • ม׵ͷਪఆํ๏ʢRTͷΈɼεέʔϧؚΉɼpoint-to-planeʣ • pcl::Registration::setCorrespondenceEstimation • ڑ཭ܭࢉͷํ๏ʢpoint-to-point, point-to-plane, ͦͷଞʣ ఺ू߹X ఺ू߹Y ʁ ରԠ͕༩͑ΒΕ͍ͯͳ͍఺ू߹ 
  45. ICP͸͔ͳΓΞυϗοΫ ▪ ICP on PCL1.7.1 n ύϥϝʔλଟ਺ɽɽɽ n setMaximumIterations n

    ࠷େ൓෮ճ਺ n setRANSACIterations n RANSACճ਺ n setRANSACOutlierRejectio nThrethold n RANSACͷ͖͍͠஋ n setMaxCorrespondenceDist ance n ରԠΛআ֎͢Δڑ཭ͷ͖͍͠ ஋ n ʢඞਢͷΞυϗοΫʣ n setTransformationEpsilon n ऩଋ൑ఆ n setEuclideanFitnessEpsilon n ऩଋ൑ఆ ▪ ߟ͑Δ΂͖͜ͱଟ਺ ▪ ڑ཭͖͍͠஋͕ෆཁͳख๏ n softassign n EM-ICP n sparse ICP
  46. arg min yj 2Y || yj xi || ICPɿԾͷରԠΛ༩͑Δ y1

    y2 x2 x1 X Y Y ⇤ y21 y43 y43 XͱY*Λ༻͍ͯRͱtΛਪఆ Xதͷ֤఺xiʹ͍ͭͯ Ұ൪͍ۙYதͷ఺Λ୳͢ Ұൠʹ఺ू߹XͱYͷ఺ͷ਺͸ҟͳΔ Xͱಉ͡఺ͷ਺ͷू߹Y*Λ࡞੒ y⇤ i = 
  47. arg min yj 2Y || yj xi || arg min

    yj 2Y || yj (R xi + t )|| ICPɿԾͷରԠΛ༩͑Δ y1 y2 x2 x1 X Y Y ⇤ y21 y43 y43 y21 XͱY*Λ༻͍ͯRͱtΛਪఆ Xதͷ֤఺xiʹ͍ͭͯ Ұ൪͍ۙYதͷ఺Λ୳͢ Ұൠʹ఺ू߹XͱYͷ఺ͷ਺͸ҟͳΔ Xͱಉ͡఺ͷ਺ͷू߹Y*Λ࡞੒ y⇤ i = 
  48. arg min yj 2Y || yj xi || arg min

    yj 2Y || yj (R xi + t )|| ICPɿԾͷରԠΛ༩͑Δ y1 y2 x2 x1 X Y Y ⇤ y21 y43 y43 y21 XͱY*Λ༻͍ͯRͱtΛਪఆ Xதͷ֤఺xiʹ͍ͭͯ Ұ൪͍ۙYதͷ఺Λ୳͢ Ұൠʹ఺ू߹XͱYͷ఺ͷ਺͸ҟͳΔ Xͱಉ͡఺ͷ਺ͷू߹Y*Λ࡞੒ y⇤ i = 
  49. ICPɿԾͷରԠ͸Hard assignment y1 y2 x2 x1 X Y Y ⇤

    y21 y43 y43 y21 1 1 0 0 0 0 0 0 Ұൠʹ఺ू߹XͱYͷ఺ͷ਺͸ҟͳΔ Xͱಉ͡఺ͷ਺ͷू߹Y*Λ࡞੒ arg min yj 2Y || yj (R xi + t )|| y⇤ i = XͱY*Λ༻͍ͯRͱtΛਪఆ 
  50. SoftassignɿԾͷରԠ͸soft assignment y1 y2 x2 x1 X Y y21 y43

    0.6 0.1 0.02 0.3 0.5 0.1 0.1 0.2 Ұൠʹ఺ू߹XͱYͷ఺ͷ਺͸ҟͳΔ XͱYΛॏΈ෇͖Ͱॲཧ XͱYΛ༻͍ͯॏΈ෇͖ͰRͱtΛਪఆ mij xi yj Steven Gold, Anand Rangarajan, Chien-Ping Lu, Suguna Pappu, Eric Mjolsness, "New algorithms for 2D and 3D point matching: pose estimation and correspondence," Pattern Recognition, Vol. 31, No. 8, pp. 1019-1031, 1998. ֎Ε஋ରࡦ ֎Ε஋ରࡦ 
  51. mij Shinkhorn iterationsɿߦͱྻͷਖ਼نԽ ֤ߦͱྻ͸ ࿨͕1ʹͳΔΑ͏ʹਖ਼نԽ ʢShinkhorn iterationsʣ sum up to

    1 sum up to 1 sum up to 1 sum up to 1 ߦͱྻͷਖ਼نԽΛަޓʹ൓෮ ʢऩଋ͢Δ·Ͱʣ 
  52. mij ֤ߦͱྻ͸ ࿨͕1ʹͳΔΑ͏ʹਖ਼نԽ ʢShinkhorn iterationsʣ Shinkhorn iterationsɿߦͱྻͷਖ਼نԽ sum up to

    1 sum up to 1 sum up to 1 sum up to 1 ߦͱྻͷਖ਼نԽΛަޓʹ൓෮ ʢऩଋ͢Δ·Ͱʣ 
  53. mij ֤ߦͱྻ͸ ࿨͕1ʹͳΔΑ͏ʹਖ਼نԽ ʢShinkhorn iterationsʣ Shinkhorn iterationsɿߦͱྻͷਖ਼نԽ sum up to

    1 sum up to 1 sum up to 1 sum up to 1 ߦͱྻͷਖ਼نԽΛަޓʹ൓෮ ʢऩଋ͢Δ·Ͱʣ sum up to 1 sum up to 1 sum up to 1 sum up to 1 
  54. ॏΈ෇͖ͷ࢛ݩ਺Λ༻͍ͨํ๏ ! = ! = # 3 3 /PSNBMWFSTJPO ॏΈ෇͖WFSTJPO

    ஫ɿฏۉ΋ॏΈ෇͖Ͱܭࢉ͓ͯ͘͠ Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda: "Softassignand EM-ICP on GPU", Proc. of UPDAS2010; The 2nd Workshop on Ultra Performance and Dependable Acceleration Systems, In Proc. of ICNC'10, pp.179-183 (2010 11), Higashi Hiroshima, Japan, November 17-19, 2010. 
  55. Pipeline of Softassing.GPU Compute with CUDA kernel Shinkhorn.GPU Centering.GPU Weighted

    Horn’s method Solve Eigenvalue problem Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda, Marcos Slomp: "CUDA-based implementations of Softassign and EM-ICP,” CVPR2010 demo. Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda: "Softassignand EM-ICP on GPU", Proc. of UPDAS2010.   R and t
  56. EM-ICPɿԾͷରԠ͸soft assignment y1 y2 x2 x1 X Y y21 y43

    0.5 0.6 0.1 0.02 0.3 0.1 0.1 0.2 Ұൠʹ఺ू߹XͱYͷ఺ͷ਺͸ҟͳΔ Xͱಉ͡఺ͷ਺ͷू߹Y*Λ࡞੒ ʢॏΈ෇͖ʣ XͱY*Λ༻͍ͯRͱtΛਪఆ mij xi yj Sebastien Granger, Xavier Pennec, "Multi-scale EM-ICP: A Fast and Robust Approach for Surface Registration,” ECCV2002, Vol. 4, pp. 69-73, 2002 Y ⇤ ֎Ε஋ରࡦ Shinkhornෆཁ 
  57. Pipeline of EM-ICP.GPU Compute with CUDA kernel Row normalization on

    GPU Centering.GPU 2 step weighted Horn’s method R and t Solve Eigenvalue problem Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda, Marcos Slomp: "CUDA-based implementations of Softassign and EM-ICP,” CVPR2010 demo. Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda: "Softassignand EM-ICP on GPU", Proc. of UPDAS2010.  
  58. GPU࣮૷ɿίʔυʴσϞө૾ (CVPR2010 demo) 12/04/13 14:28 CUDA-based implementations of Softassign and

    EM-ICP ABSTRACT DEMO MOVIES REFERENCES CODE SVN DOWNLOAD ABSTRACT This demonstration provides CUDA-based implementations of two 3D point sets registration algorithms: Softassign [Gold 1998] and EM-ICP [Granger 2002]. Both algorithms are known for being time demanding, even on modern multi-core CPUs. Our GPU-based implementations vastly outperform CPU ones. For instance, our CUDA EM-ICP aligns 5000 points in less than 7 seconds on a GeForce 8800GT, while the same implementation in OpenMP on an Intel Core 2 Quad would take 7 minutes. Registration (alignment) of 3D point sets is one of the most important problems in computer vision and several methods have been developed over the last two decades. The widely used Iterative Closest Point (ICP) algorithm [Besl 1992] provides quick registration, but requires a good initial alignment in order to prevent local minima and produce a plausible match. Softassign and EM-ICP represent efforts to overcome such limitations: instead of looking for "hard" correspondences between points (each point in one of the sets has to uniquely map to another point in the other set), the latter two algorithms focus on "soft" correspondences (each point in one of the sets corresponds somehow to every point in the other set by some weight). Although these algorithms can handle any initial arrangement, their associated computational cost has been preventing their practical usefulness even for moderately large number of points. Recent advances in graphics hardware and software have motivated us to implement Softassign and EM- ICP on a GPU and evaluate their corresponding behavior and performance. Our contribution is twofold: we introduce the GPU implementations and also demonstrate that most steps of these algorithms are GPU- friendly, consisting of either vector-matrix multiplications or element-wise operations. The registration process is iteratively tracked in a window with interactive manipulation. Connection to the main conference CUDA-based implementations of Softassign and EM-ICP Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda, Marcos Slomp Hiroshima University, Japan Contact address: [email protected] CVPR2010 DEMO SUBMISSION 15th June 2010 The content of this page was presented at CVPR201 demo. SOURCE CODE 7th July 2010 Source code is now available! Download tarball (cuda_emicp_softassign.0.1.tar.gz) or brouse SVN See README.txt for usege. The demo is written in C++ and CUDA and is Linux/GCC compliant (Fedora 11), but should port easily to Windows or Mac platforms. Additional dependencies include freeglut (a modern GLUT alternative) for visualization and OpenMP for the ALIGN TWO 3D SETS OF 5000 POINTS WITHIN 7 SECONDS Toru Tamaki, Miho Abe, Bisser Raytchev, Kazufumi Kaneda: "Softassignand EM-ICP on GPU", Proc. of The 2nd Workshop on Ultra Performance and Dependable Acceleration Systems (UPDAS), CD-ROM, 5 pages, 2010. https://github.com/tttamaki/cuda_emicp_softassign http://home.hiroshima-u.ac.jp/tamaki/study/cuda_softassign_emicp/ 
  59. sparse ICP Sofien Bouaziz, Andrea Tagliasacchi, Mark Pauly, Sparse Iterative

    Closest Point, Symposium on Geometry Processing 2013, Computer Graphics Forum, Volume 32, Issue 5, pages 113–123, August 2013. http://www.youtube.com/watch?v=ii2vHBwlmo8 http://lgg.epfl.ch/sparseicp https://code.google.com/p/sparseicp/ ͨͩ͠Lp ϊϧϜͰ͸ͳ͘L2 ϊϧϜͷp৐ ϊΠζʹؤ݈ ॏෳྖҬ͕গͳͯ͘΋҆ఆ 
  60. sparse ICPͷఆࣜԽ ADMMͰղ͘ (Alternating Direction Method of Multipliers) ݩͷ໰୊ ׂΓ౰ͯ໰୊

    ਪఆ໰୊ มܗ ௨ৗͷclosest point୳ࡧ Iɿࢦࣔؔ਺ʢ৚݅Λຬͨͤ͹0ɼͦ͏Ͱͳ͚Ε͹ແݶେʣ 
  61. sparse ICPͷൺֱ TQBSTF*$1 Q QPJOUUPQMBOFʢഒ଎ʣ TQBSTF*$1 Q QPJOUUPQMBOFʢഒ଎ʣ 1$-ͷ*$1 QPJOUUPQMBOFʢഒ଎ʣ

    &.*$1 ࡟ݮ QPJOUUPQPJOUʢഒ଎ʣ TQBSTF*$1 Q QPJOUUPQMBOFʢഒ଎ʣ TQBSTF*$1 Q QPJOUUPQPJOUʢഒ଎ʣ 
  62. PCLαϯϓϧίʔυɿಛ௃఺Λར༻͢Δ  • Harris3D  • FPFH • (SHOT) 

    • FLANN kd-tree    • sample consensus   • SVD  • point-to-point ICP
  63. αϯϓϧίʔυ on the github ▪ PCLͷICP & RͱTͷਪఆ & ಛ௃఺ϕʔε

    n https://github.com/tttamaki/ICP-test n icp1ɿICP with point-to-point ్தදࣔͳ͠ n icp2ɿICP with point-to-point n icp3ɿICP with point-to-plane n icp4ɿಛ௃఺ϕʔε+ICPඍमਖ਼ n transform_estimationɿRͱTͷม׵ with point-to-point/plane ▪ sparse ICP n https://github.com/tttamaki/SICP-test n scip1ɿsparse ICP with point-to-plane ్தදࣔͳ͠ n scip2ɿsparse ICP with point-to-plane ▪ EM-ICP n https://github.com/tttamaki/cuda_emicp_softassign n ICP n EM-ICP.CPU n softassign.GPU n EM-ICP.GPU