Curieux.JY
  • JungYeon Lee
  • Post
  • ๐Ÿ•ธ๏ธ Graph
  • Lecture
  • Note

On this page

  • ๐Ÿ” Ping Review
  • ๐Ÿ”” Ring Review
    • ํ•œ ์ค„๋กœ ์‹œ์ž‘ํ•˜๋ฉด
    • ์™œ ์ด‰๊ฐ ๊ธฐ๋ฐ˜ 6DoF ์ถ”์ ์ด ์–ด๋ ค์šด๊ฐ€
    • ๋ฐฉ๋ฒ• ์ƒ์„ธ: ๋ฒ•์„  ๋งต์„ ์ง์ ‘ ์ •ํ•ฉํ•œ๋‹ค
    • ์™œ ๋ฒ•์„  ๋งต์ธ๊ฐ€ โ€” ์ง๊ด€
    • ์‹คํ—˜: ์ •ํ™•๋„, ์†๋„, ๊ฐ•๊ฑด์„ฑ
    • ์žฅ๊ธฐ ์ถ”์ ๊ณผ 3D ๋ณต์›
    • ๋น„ํŒ์ ์œผ๋กœ ๋ณด๋ฉด
      • ๊ฐ•์ 
      • ์•ฝ์ ยทํ•œ๊ณ„
    • ๊ด€๋ จ ์—ฐ๊ตฌ์™€์˜ ์ž๋ฆฌ ๋งค๊น€
    • ์š”์•ฝ

๐Ÿ“ƒNormalFlow ๋ฆฌ๋ทฐ

tactile
pose-tracking
optical-tactile
Fast, Robust, and Accurate Contact-based Object 6DoF Pose Tracking with Vision-based Tactile Sensors
Published

June 23, 2026

  • Paper Link

  • Code Link

  • Project

  • Hung-Jui Huang, Michael Kaess, Wenzhen Yuan

  • IEEE Robotics and Automation Letters (RA-L), 2024

  1. ๐Ÿ’ก NormalFlow๋Š” ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ(GelSight ๋“ฑ)๋กœ ์ ‘์ด‰ํ•œ ๋ฌผ์ฒด์˜ 6DoF ์ž์„ธ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ์€ ์ ๊ตฐ(point cloud) ๋Œ€์‹  ์„ผ์„œ๊ฐ€ ์ง์ ‘ ์ธก์ •ํ•˜๋Š” ํ‘œ๋ฉด ๋ฒ•์„  ๋งต(surface normal map) ์œ„์—์„œ ์ •ํ•ฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ์•„์ด๋””์–ด์ž…๋‹ˆ๋‹ค.
  2. โš™๏ธ ์ถ”์ ์„ ๋‘ ํ”„๋ ˆ์ž„์˜ ๋ฒ•์„  ๋งต ๋ถˆ์ผ์น˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” Gauss-Newton ์ตœ์ ํ™”๋กœ ์ •์‹ํ™”ํ•˜์—ฌ, ํ•™์Šต๋œ ์‹ ๊ฒฝ๋ง ๊ฐ€์ค‘์น˜ ์—†์ด๋„(๊ณ ์ „์  ์ตœ์ ํ™”) CPU์—์„œ ์•ฝ 70Hz๋กœ ๋™์ž‘ํ•˜๋ฉด์„œ ํ…์Šค์ฒ˜๊ฐ€ ๊ฑฐ์˜ ์—†๋Š” ๋ฌผ์ฒด์—์„œ๋„ ๊ฐ•๊ฑดํ•˜๊ฒŒ SE(3) ์ƒ๋Œ€ ์ž์„ธ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.
  3. ๐ŸŽฏ GelSight Mini์™€ DIGIT ๋ชจ๋‘์—์„œ ๊ฒ€์ฆ๋˜์–ด ํ‰๊ท  0.29mm ๋ณ‘์ง„ / 1.9ยฐ ํšŒ์ „ ์˜ค์ฐจ๋ฅผ ๋‹ฌ์„ฑํ–ˆ๊ณ , ์ถ”์ ํ•œ ํ”„๋ ˆ์ž„์„ ์œตํ•ฉํ•ด ๊ณ ํ’ˆ์งˆ ์ด‰๊ฐ ๊ธฐ๋ฐ˜ 3D ๋ณต์›๊นŒ์ง€ ๋ณด์—ฌ์ฃผ์–ด ๊ธฐ์กด ICP ๊ณ„์—ด ์ •ํ•ฉ๋ฒ•์„ ํฐ ํญ์œผ๋กœ ์•ž์„ฐ์Šต๋‹ˆ๋‹ค.

๐Ÿ” Ping Review

๐Ÿ” Ping โ€” A light tap on the surface. Get the gist in seconds.

NormalFlow๋Š” GelSight ๊ฐ™์€ ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ๋กœ ์†์— ์ฅ”(ํ˜น์€ ํ‘œ๋ฉด์— ๋‹ฟ์€) ๋ฌผ์ฒด๊ฐ€ ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์–ด๋–ป๊ฒŒ ์›€์ง์˜€๋Š”์ง€, ์ฆ‰ 6์ž์œ ๋„ ์ƒ๋Œ€ ์ž์„ธ ๋ณ€ํ™”๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด‰๊ฐ ์„ผ์„œ๋กœ ์ž์„ธ๋ฅผ ์ถ”์ ํ•˜๋ ค๋Š” ๊ธฐ์กด ์‹œ๋„๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์„ผ์„œ ์ด๋ฏธ์ง€๋ฅผ ๋†’์ด ๋งต(height map)์œผ๋กœ ์ ๋ถ„ํ•˜๊ณ  ๋‹ค์‹œ ์ ๊ตฐ์œผ๋กœ ๋ฐ”๊พผ ๋’ค ICP๋กœ ์ •ํ•ฉํ–ˆ๋Š”๋ฐ, ์ด ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ ๋…ธ์ด์ฆˆ์™€ ์™œ๊ณก์ด ๋ˆ„์ ๋˜์–ด ์ •ํ™•๋„์™€ ์†๋„๊ฐ€ ๋ชจ๋‘ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. NormalFlow๋Š” ์ด ์šฐํšŒ๋กœ๋ฅผ ํ†ต์งธ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ณ , ๊ด‘๋„ ์Šคํ…Œ๋ ˆ์˜ค(photometric stereo)๋กœ ์„ผ์„œ๊ฐ€ ์ง์ ‘, ์ •ํ™•ํ•˜๊ฒŒ ์ธก์ •ํ•˜๋Š” ํ‘œ๋ฉด ๋ฒ•์„  ๋งต ์ž์ฒด๋ฅผ ์ •ํ•ฉ ๋Œ€์ƒ์œผ๋กœ ์‚ผ๋Š”๋‹ค๋Š” ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.


NormalFlow ๊ฐœ์š”(Fig. 1) โ€” ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ๊ฐ€ ํ‘œ๋ฉด์—์„œ ์ธก์ •ํ•œ ๋ฒ•์„  ๋งต์„ ์ง์ ‘ ์ •ํ•ฉํ•˜์—ฌ ๋ฌผ์ฒด์˜ 6DoF ์ž์„ธ๋ฅผ ๋น ๋ฅด๊ณ  ๊ฐ•๊ฑดํ•˜๊ฒŒ ์ถ”์ ํ•œ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก :

NormalFlow๋Š” ํ•™์Šต ๋ชจ๋ธ์ด ์•„๋‹ˆ๋ผ ๊ณ ์ „์  ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‘ ์‹œ์ ์˜ ๋ฒ•์„  ๋งต I(๊ธฐ์ค€ ํ”„๋ ˆ์ž„)์™€ I'(ํ˜„์žฌ ํ”„๋ ˆ์ž„)๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 6DoF ๋ณ€ํ™˜ \theta = (x, y, z, \theta_x, \theta_y, \theta_z) \in SE(3)๋กœ ํ•œ์ชฝ์„ ๋ณ€ํ˜•ํ–ˆ์„ ๋•Œ ๊ณต์œ  ์ ‘์ด‰ ์˜์—ญ \bar{C}์—์„œ ๋‘ ๋ฒ•์„  ๋งต์˜ ๋ถˆ์ผ์น˜๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค.

\min_{\theta} \sum_{(u,v)\in \bar{C}} \big\lVert I'(W(u,v;\theta)) - R_\theta\, I(u,v) \big\rVert^2

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ž์„ธ ๋ณ€ํ™”๊ฐ€ ๋ฒ•์„ ์— ๋‘ ๊ฐ€์ง€๋กœ ์ž‘์šฉํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. (1) ํ”ฝ์…€ ์œ„์น˜๊ฐ€ W(u,v;\theta)๋กœ ์žฌ๋งคํ•‘๋˜๊ณ (ํ‘œ๋ฉด ์ ์ด ํšŒ์ „ยท์ด๋™ ํ›„ ๋‹ค์‹œ 2D๋กœ ํˆฌ์˜๋จ), (2) ๋ฒ•์„  ๋ฒกํ„ฐ ์ž์ฒด๋„ R_\theta๋กœ ํšŒ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„์„ ํ˜• ๋น„์šฉ์„ 1์ฐจ Taylor ์ „๊ฐœ๋กœ ์„ ํ˜•ํ™”ํ•˜๋ฉด ๋งค ๋ฐ˜๋ณต์—์„œ \Delta\theta = H^{-1}A^\top b ํ˜•ํƒœ์˜ ๋‹ซํžŒ ํ•ด๋ฅผ ์–ป๋Š” ์„ ํ˜• ์ตœ์†Œ์ œ๊ณฑ ๋ฌธ์ œ๊ฐ€ ๋˜๊ณ , \theta \leftarrow \theta + \Delta\theta๋ฅผ ์ˆ˜๋ ดํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ์ „ํ˜•์ ์ธ Gauss-Newton ์ ˆ์ฐจ๋กœ ํ’€๋ฆฝ๋‹ˆ๋‹ค. 2D ํˆฌ์˜ ํŠน์„ฑ์ƒ ๋ฒ•์„  ๋ถˆ์ผ์น˜๋งŒ์œผ๋กœ๋Š” ํ’€๋ฆฌ์ง€ ์•Š๋Š” z-๋ณ‘์ง„์€ ํ‰๊ท  ๋†’์ด ์ฐจ์ด๋กœ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์†๋„๋ฅผ ์œ„ํ•ด inverse compositional ๊ธฐ๋ฒ•(Hessian ์‚ฌ์ „ ๊ณ„์‚ฐ)๊ณผ 5000๊ฐœ ํ”ฝ์…€ ๋žœ๋ค ์„œ๋ธŒ์ƒ˜ํ”Œ๋ง์„ ์ ์šฉํ•ด ํ’ˆ์งˆ ์†์‹ค ์—†์ด ์—ฐ์‚ฐ๋Ÿ‰์„ ํฌ๊ฒŒ ์ค„์˜€์Šต๋‹ˆ๋‹ค.

์™œ ๋ฒ•์„  ๋งต์ธ๊ฐ€: ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ๋Š” ๊ด‘๋„ ์Šคํ…Œ๋ ˆ์˜ค๋กœ ํ‘œ๋ฉด ๋ฒ•์„ ์„ ๋งค์šฐ ์ •ํ™•ํ•˜๊ฒŒ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค. ์ ๊ตฐ์€ ์ด ๋ฒ•์„ ์„ ๋†’์ด๋กœ ์ ๋ถ„(Poisson)ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋…ธ์ด์ฆˆ๊ฐ€ ๋ผ์ง€๋งŒ, ๋ฒ•์„  ๋งต์€ ๊ทธ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ‰ํ‰ํ•œ ํ‘œ๋ฉด์ด ์‚ด์ง ๊ธฐ์šฐ๋Š” rolling ์šด๋™์€ ๋ฒ•์„  ๋ฐฉํ–ฅ ๋ณ€ํ™”๋กœ ์ฆ‰์‹œ ๋“œ๋Ÿฌ๋‚˜๋Š”๋ฐ, ์ ๊ตฐ์—์„œ๋Š” ์  ์œ„์น˜๊ฐ€ ๊ฑฐ์˜ ์•ˆ ๋ฐ”๋€Œ์–ด ICP๊ฐ€ ์žก๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ…์Šค์ฒ˜๊ฐ€ ์žˆ๋Š” ์˜์—ญ์—์„œ๋„ ICP๋Š” ๊ณต์˜ ์ „์ฒด ํ˜•์ƒ์— ๋Œ๋ ค๊ฐ€์ง€๋งŒ NormalFlow๋Š” ๋‹ค์–‘ํ•œ ๋ฒ•์„  ๋ฐฉํ–ฅ์„ ์ง์ ‘ ๋งค์นญํ•ด ์ž์„ธ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ฒฐ๊ณผ:

  • GelSight Mini ๊ธฐ์ค€ ํ‰๊ท  ๋ณ‘์ง„ ์˜ค์ฐจ ์•ฝ 0.29mm, ํšŒ์ „ ์˜ค์ฐจ ์•ฝ 1.9ยฐ. MoCap ๊ธฐ์ค€๊ฐ’ ์ž์ฒด์˜ ์˜ค์ฐจ(~0.2mm)์— ๊ทผ์ ‘ํ•˜๋Š” ์ •๋ฐ€๋„์ž…๋‹ˆ๋‹ค.
  • ICP, FilterReg, FPFH+RANSAC+ICP ๋“ฑ ์ ๊ตฐ ์ •ํ•ฉ ๋ฒ ์ด์Šค๋ผ์ธ์„ ๋ชจ๋“  ๋ฌผ์ฒด์—์„œ ๋Šฅ๊ฐ€ํ–ˆ๊ณ , ํŠนํžˆ ๋ Œ์น˜ยทํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ํ…์Šค์ฒ˜๊ฐ€ ์ ์€ ๋ฌผ์ฒด์—์„œ ๊ฒฉ์ฐจ๊ฐ€ ํฝ๋‹ˆ๋‹ค(๋ฒ ์ด์Šค๋ผ์ธ์€ z์ถ• ํšŒ์ „ ์˜ค์ฐจ๊ฐ€ 15ยฐ ์ด์ƒ์œผ๋กœ ์‚ฌ์‹ค์ƒ ์‹คํŒจ).
  • CPU(GPU ๋ฏธ์‚ฌ์šฉ)์—์„œ ํ”„๋ ˆ์ž„๋‹น ์•ฝ 13.9ms, ์ฆ‰ ์•ฝ 70Hz๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • 12mm ๊ตฌ์Šฌ์„ 360ยฐ ๊ตด๋ฆฌ๊ณ  540ยฐ ๋น„ํŠธ๋Š” ์žฅ๊ธฐ ์ถ”์ ์—์„œ๋„ keyframe ๊ธฐ๋ฒ•์œผ๋กœ ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ์–ต์ œํ•ด ํšŒ์ „ ์˜ค์ฐจ๊ฐ€ 2.5ยฐ ์ˆ˜์ค€์— ๋จธ๋ญ…๋‹ˆ๋‹ค.
  • DIGIT ์„ผ์„œ(์ด๋ฏธ์ง€๊ฐ€ ๋” ํ๋ฆฟํ•จ)์—์„œ๋„ ๋™์ผํ•œ ์šฐ์œ„๋ฅผ ์œ ์ง€ํ•ด ๋ฐฉ๋ฒ•์˜ ์ผ๋ฐ˜์„ฑ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก : NormalFlow๋Š” โ€œ์ด‰๊ฐ ์ž์„ธ ์ถ”์ ์€ ์ ๊ตฐ ์ •ํ•ฉ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฒ•์„  ๋งต ์ •ํ•ฉ ๋ฌธ์ œ๋‹คโ€๋ผ๋Š” ๊ด€์  ์ „ํ™˜์œผ๋กœ, ํ•™์Šต ์—†์ด๋„ ๋น ๋ฅด๊ณ (70Hz), ์ •ํ™•ํ•˜๊ณ (์„œ๋ธŒ๋ฐ€๋ฆฌ๋ฏธํ„ฐ), ํ…์Šค์ฒ˜ ์—†๋Š” ๋ฌผ์ฒด์—๋„ ๊ฐ•๊ฑดํ•œ ์ถ”์ ์„ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์•„๊ฐ€ ์ถ”์ ํ•œ ํ”„๋ ˆ์ž„์„ ์œตํ•ฉํ•ด ๊ธฐ์กด ๋ฐฉ๋ฒ•๋ณด๋‹ค ์šฐ์ˆ˜ํ•œ ์ด‰๊ฐ ๊ธฐ๋ฐ˜ 3D ๋ณต์›๊นŒ์ง€ ๋ณด์—ฌ์ฃผ์–ด, in-hand manipulation์„ ์œ„ํ•œ ์‹ค์šฉ์  ์ถ”์  ๋ฐฑ๋ณธ์œผ๋กœ์„œ์˜ ๊ฐ€์น˜๋ฅผ ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”” Ring Review

๐Ÿ”” Ring โ€” An idea that echoes. Grasp the core and its value.

ํ•œ ์ค„๋กœ ์‹œ์ž‘ํ•˜๋ฉด

์ด‰๊ฐ์œผ๋กœ ๋ฌผ์ฒด ์ž์„ธ๋ฅผ ์ถ”์ ํ•  ๋•Œ ๊ฐ€์žฅ ํฐ ์ ์€ โ€œ๋ณ€ํ™˜โ€์ด๋‹ค. ์‹œ๊ฐ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ๊ฐ€ ์ž˜ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์€ ํ‘œ๋ฉด ๋ฒ•์„ ์ธ๋ฐ, ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์€ ์ด๊ฑธ ๊ตณ์ด ๋†’์ด๋กœ ์ ๋ถ„ํ•˜๊ณ  ์ ๊ตฐ์œผ๋กœ ๋ฐ”๊ฟ”์„œ ICP์— ๋„ฃ์—ˆ๋‹ค. ๊ทธ ๋ณ€ํ™˜ ๊ณผ์ •๋งˆ๋‹ค ๋…ธ์ด์ฆˆ๊ฐ€ ๋ถ™๋Š”๋‹ค. NormalFlow์˜ ํ†ต์ฐฐ์€ ๋‹จ์ˆœํ•˜๋‹ค. ์„ผ์„œ๊ฐ€ ์ž˜ ์ธก์ •ํ•˜๋Š” ์–‘(๋ฒ•์„ )์„ ๊ทธ๋Œ€๋กœ ์“ฐ์ž. ์ ๊ตฐ ์ •ํ•ฉ ๋Œ€์‹  ๋ฒ•์„  ๋งต์„ ์ง์ ‘ Gauss-Newton์œผ๋กœ ์ •ํ•ฉํ•˜๋ฉด, ๋ณ€ํ™˜ ๋‹จ๊ณ„๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด์„œ ์ •ํ™•๋„ยท์†๋„ยท๊ฐ•๊ฑด์„ฑ์ด ๋™์‹œ์— ์ข‹์•„์ง„๋‹ค.

์™œ ์ด‰๊ฐ ๊ธฐ๋ฐ˜ 6DoF ์ถ”์ ์ด ์–ด๋ ค์šด๊ฐ€

๋ฌผ์ฒด๋ฅผ ์†์— ์ฅ๊ณ  ์กฐ์ž‘ํ•  ๋•Œ, ๊ทธ ๋ฌผ์ฒด๊ฐ€ ์†๊ฐ€๋ฝ ์•ˆ์—์„œ ์–ด๋–ป๊ฒŒ ๊ตด๋Ÿฌ๊ฐ€๊ณ  ๋ฏธ๋„๋Ÿฌ์ง€๋Š”์ง€๋ฅผ ์•„๋Š” ๊ฒƒ์€ dexterous manipulation์˜ ํ•ต์‹ฌ์ด๋‹ค. ์นด๋ฉ”๋ผ๋Š” ์†๊ฐ€๋ฝ์— ๊ฐ€๋ ค ์•ˆ ๋ณด์ด์ง€๋งŒ, ์†๋์˜ ์ด‰๊ฐ ์„ผ์„œ๋Š” ์ ‘์ด‰๋ฉด์„ ์ง์ ‘ ๋ณธ๋‹ค. ๊ทธ๋ž˜์„œ ์ด‰๊ฐ์œผ๋กœ ๋ฌผ์ฒด์˜ 6DoF ์ž์„ธ(ํ˜น์€ ๊ทธ ๋ณ€ํ™”)๋ฅผ ์ถ”์ ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์ด์–ด์ ธ ์™”๋‹ค.

๋ฌธ์ œ๋Š” ์ด‰๊ฐ ์„ผ์„œ๊ฐ€ ๋ณด๋Š” ๊ฒƒ์ด ๋ฌผ์ฒด ์ „์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์€ ์ ‘์ด‰ ํŒจ์น˜๋ผ๋Š” ๋ฐ ์žˆ๋‹ค. GelSight Mini์˜ ๊ฐ์ง€ ์˜์—ญ์€ ๊ณ ์ž‘ 20mm ร— 15mm๋‹ค. ์ด ์ข์€ ์ฐฝ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์‹ ํ˜ธ์—์„œ 6์ž์œ ๋„๋ฅผ ๋ชจ๋‘ ํ’€์–ด๋‚ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ ํ‰ํ‰ํ•˜๊ฑฐ๋‚˜ ๋งค๋ˆํ•œ ๋ฉด(๋ Œ์น˜ ์˜†๋ฉด, ํ…Œ์ด๋ธ” ํ‘œ๋ฉด)์—์„œ๋Š” ํ…์Šค์ฒ˜๊ฐ€ ๊ฑฐ์˜ ์—†์–ด์„œ, ์ ์˜ ์œ„์น˜๋งŒ ๋ณด๋Š” ๋ฐฉ๋ฒ•์€ โ€œ์ด ํ‰๋ฉด์ด ์‚ด์ง ๊ธฐ์šธ์—ˆ๋‹ค(rolling)โ€๋Š” ์ •๋ณด๋ฅผ ๊ฑฐ์˜ ์žก์ง€ ๋ชปํ•œ๋‹ค.

๊ธฐ์กด ํŒŒ์ดํ”„๋ผ์ธ์€ ๋ณดํ†ต ์ด๋ ‡๊ฒŒ ํ˜๋ €๋‹ค. ์ด‰๊ฐ RGB ์ด๋ฏธ์ง€ โ†’ ๊ด‘๋„ ์Šคํ…Œ๋ ˆ์˜ค๋กœ ๋ฒ•์„  ์ถ”์ • โ†’ Poisson ์ ๋ถ„์œผ๋กœ ๋†’์ด ๋งต โ†’ ์ ๊ตฐ ๋ณ€ํ™˜ โ†’ ICP/FilterReg๋กœ ์ •ํ•ฉ. ๋‹จ๊ณ„๊ฐ€ ๋งŽ๊ณ , ์ ๋ถ„ ๋‹จ๊ณ„์—์„œ ์ €์ฃผํŒŒ ์™œ๊ณก๊ณผ ๋…ธ์ด์ฆˆ๊ฐ€ ๋ˆ„์ ๋œ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ICP๋Š” ๋ฐ˜๋ณต๋งˆ๋‹ค ๋Œ€์‘์ ์„ ๋‹ค์‹œ ์ฐพ์•„์•ผ ํ•ด์„œ ๋А๋ฆฌ๊ณ , ํ‰๋ฉด์ฒ˜๋Ÿผ ๊ธฐํ•˜ ์ •๋ณด๊ฐ€ ๋นˆ์•ฝํ•œ ๊ณณ์—์„œ๋Š” ๋ฏธ๋„๋Ÿฌ์ง€๋“ฏ ์ž˜๋ชป ์ˆ˜๋ ดํ•œ๋‹ค.

๋ฐฉ๋ฒ• ์ƒ์„ธ: ๋ฒ•์„  ๋งต์„ ์ง์ ‘ ์ •ํ•ฉํ•œ๋‹ค

NormalFlow์˜ ์ถœ๋ฐœ์ ์€ โ€œ๋ณ€ํ™˜์„ ์ค„์ด์žโ€์ด๋‹ค. ์„ผ์„œ๊ฐ€ ๊ด‘๋„ ์Šคํ…Œ๋ ˆ์˜ค๋กœ ์ธก์ •ํ•˜๋Š” 1์ฐจ ์‚ฐ์ถœ๋ฌผ์ด ํ‘œ๋ฉด ๋ฒ•์„  ๋งต์ด๋ผ๋ฉด, ๊ทธ๊ฒƒ์„ ๊ณง์žฅ ์ •ํ•ฉ ๋Œ€์ƒ์œผ๋กœ ์‚ผ๋Š”๋‹ค.


NormalFlow์˜ ๋ฐฉ๋ฒ• ๊ตฌ์กฐ(Fig. 2) โ€” ๊ธฐ์ค€ ํ”„๋ ˆ์ž„์˜ ๋ฒ•์„  ๋งต I์™€ ํ˜„์žฌ ํ”„๋ ˆ์ž„ Iโ€™๋ฅผ ๋ฐ›์•„, ์ž์„ธ ฮธ๋กœ ๋ณ€ํ˜•ํ–ˆ์„ ๋•Œ ๊ณต์œ  ์ ‘์ด‰ ์˜์—ญ์—์„œ ๋ฒ•์„  ๋ถˆ์ผ์น˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” Gauss-Newton ์ •ํ•ฉ์œผ๋กœ 6DoF๋ฅผ ์ถ”์ •ํ•œ๋‹ค.

๋จผ์ € ๋ฒ•์„ ์€ ํ”ฝ์…€์˜ ์ƒ‰ยท์œ„์น˜(RGBUV)์—์„œ ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ (g_u, g_v)๋กœ ๋งคํ•‘ํ•˜๋Š” ์ž‘์€ MLP๋กœ ์–ป๋Š”๋‹ค. ๋ฒ•์„  ๋ฒกํ„ฐ๋Š” n = [g_u, g_v, -1]^\top๋ฅผ ์ •๊ทœํ™”ํ•œ \hat{n} = n / \lVert n \rVert์ด๋‹ค.

์ด์ œ ํ•ต์‹ฌ ๋น„์šฉ ํ•จ์ˆ˜๋ฅผ ๋ณด์ž.

\min_{\theta} \sum_{(u,v)\in \bar{C}} \big\lVert I'(W(u,v;\theta)) - R_\theta\, I(u,v) \big\rVert^2

์ด ์‹์ด ์˜๋ฆฌํ•œ ์ด์œ ๋Š” ์ž์„ธ \theta๊ฐ€ ๋ฒ•์„ ์— ์ด์ค‘์œผ๋กœ ์ž‘์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  1. ์œ„์น˜ ์žฌ๋งคํ•‘ W(u,v;\theta): ๊ธฐ์ค€ ํ”„๋ ˆ์ž„์˜ ํ”ฝ์…€ (u,v)์— ๋Œ€์‘ํ•˜๋Š” 3D ํ‘œ๋ฉด ์  q(u,v) = [u, v, z(u,v)]^\top๋ฅผ ์ž์„ธ \theta๋กœ ํšŒ์ „ยท์ด๋™์‹œํ‚จ ๋’ค ๋‹ค์‹œ 2D๋กœ ํˆฌ์˜ํ•œ๋‹ค. ์ฆ‰ W(u,v;\theta) = P(R_\theta\, q(u,v) + t_\theta). ๋ฌผ์ฒด๊ฐ€ ์›€์ง์ด๋ฉด ๊ฐ™์€ ํ‘œ๋ฉด ์ ์ด ์„ผ์„œ ์ด๋ฏธ์ง€์˜ ๋‹ค๋ฅธ ์œ„์น˜๋กœ ์˜ฎ๊ฒจ๊ฐ€๋Š” ๊ฒƒ์„ ๋ฐ˜์˜ํ•œ๋‹ค.
  2. ๋ฒ•์„  ํšŒ์ „ R_\theta\, I(u,v): ํ‘œ๋ฉด ์ ์ด ํšŒ์ „ํ•˜๋ฉด ๊ทธ ์ ์˜ ๋ฒ•์„  ๋ฒกํ„ฐ๋„ ๊ฐ™์€ ํšŒ์ „ R_\theta๋กœ ๋Œ์•„๊ฐ„๋‹ค.

์ด ๋‘˜์„ ๋™์‹œ์— ๋งž์ถฐ์•ผ ํ•œ๋‹ค๋Š” ์ ์ด ICP์™€ ๊ฒฐ์ •์ ์œผ๋กœ ๋‹ค๋ฅด๋‹ค. ICP๋Š” ์  ์œ„์น˜๋งŒ ๋ณธ๋‹ค. NormalFlow๋Š” ์ ์ด ์–ด๋””๋กœ ๊ฐ”๋Š”์ง€(์œ„์น˜)์™€ ๊ทธ ์ ์˜ ๋ฒ•์„ ์ด ์–ด๋””๋ฅผ ํ–ฅํ•˜๋Š”์ง€(๋ฐฉํ–ฅ)๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๋งค์นญํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํ‰๋ฉด์ด ์‚ด์ง ๊ธฐ์šฐ๋Š” rolling์ฒ˜๋Ÿผ ์œ„์น˜๋Š” ๊ฑฐ์˜ ์•ˆ ๋ฐ”๋€Œ๊ณ  ๋ฒ•์„ ๋งŒ ๋„๋Š” ์šด๋™๋„ ์ •ํ™•ํžˆ ์žก์•„๋‚ธ๋‹ค.

๋น„์„ ํ˜•์ธ ์ด ๋น„์šฉ์„ 1์ฐจ Taylor ์ „๊ฐœ๋กœ ์„ ํ˜•ํ™”ํ•˜๋ฉด,

\sum_{(u,v)\in \bar{C}} \Big\lVert \big(I'(W) - R_\theta I\big) + \Big(\nabla I' \tfrac{\partial W}{\partial \theta} - \tfrac{\partial (R_\theta I)}{\partial \theta}\Big)\Delta\theta \Big\rVert^2

๊ฐ€ ๋˜๊ณ , ์ด๋Š” \Delta\theta์— ๋Œ€ํ•œ ์„ ํ˜• ์ตœ์†Œ์ œ๊ณฑ์ด๋‹ค. ๋‹ซํžŒ ํ•ด \Delta\theta = H^{-1}A^\top b (H = A^\top A)๋ฅผ ๊ตฌํ•ด \theta \leftarrow \theta + \Delta\theta๋กœ ๊ฐฑ์‹ ํ•˜๊ณ  ์ˆ˜๋ ด๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ํ‘œ์ค€ Gauss-Newton์ด๋‹ค.

ํ•œ ๊ฐ€์ง€ ๋นˆํ‹ˆ์ด ์žˆ๋‹ค. ๋ฒ•์„  ๋งต์€ 2D ํˆฌ์˜์ด๋ผ, ์„ผ์„œ ๋ฐฉํ–ฅ(z์ถ•)์œผ๋กœ์˜ ๋ณ‘์ง„์€ ๋ฒ•์„  ๋ถˆ์ผ์น˜์— ๊ฑฐ์˜ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„ ์œ„ ์‹๋งŒ์œผ๋กœ๋Š” ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ z-๋ณ‘์ง„์€ ๊ณต์œ  ์˜์—ญ์—์„œ ๋ณ€ํ˜• ์ „ํ›„ ํ‰๊ท  ๋†’์ด ์ฐจ์ด๋กœ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

\Delta z = \frac{1}{|\bar{C}|} \sum_{(u,v)\in \bar{C}} \big[\, z'(W) - P_z(R_\theta q + t_\theta) \,\big]

์†๋„ ์ตœ์ ํ™”๋„ ๊น”๋”ํ•˜๋‹ค. inverse compositional ๊ธฐ๋ฒ•์œผ๋กœ Hessian์„ ์‚ฌ์ „ ๊ณ„์‚ฐํ•ด ๋ฐ˜๋ณต ๋น„์šฉ์„ ์ค„์ด๊ณ (O(nm^2N) \to O(m^2N + nmN)), 320ร—240 ์ด๋ฏธ์ง€์—์„œ 5000๊ฐœ ํ”ฝ์…€๋งŒ ๋žœ๋ค ์„œ๋ธŒ์ƒ˜ํ”Œ๋งํ•œ๋‹ค. ํ’ˆ์งˆ ์ €ํ•˜๋Š” ๊ฑฐ์˜ ์—†๋‹ค๊ณ  ๋ณด๊ณ ํ•œ๋‹ค.

ํฅ๋ฏธ๋กœ์šด ablation ํ•˜๋‚˜. ๋†’์ด ๋งต์„ ์•„์˜ˆ 0์œผ๋กœ ๊ฐ€์ •(z(u,v)=0)ํ•ด๋„ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฏธ๋ฏธํ•˜๋‹ค(๋ณ‘์ง„ ์˜ค์ฐจ 0.18~0.19mm ์ˆ˜์ค€ ์œ ์ง€). ์ฆ‰ NormalFlow๋Š” ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ์€ ๋†’์ด ๋งต์— ๊ฑฐ์˜ ์˜์กดํ•˜์ง€ ์•Š๊ณ , ์ •ํ™•ํ•œ ๋ฒ•์„  ์ •๋ณด๋งŒ์œผ๋กœ ์ž์„ธ๋ฅผ ํ‘ผ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด๊ฒƒ์ด ์ ๊ตฐ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ• ๋Œ€๋น„ ๋ณธ์งˆ์  ๊ฐ•์ ์ด๋‹ค.

์™œ ๋ฒ•์„  ๋งต์ธ๊ฐ€ โ€” ์ง๊ด€

์„ธ ๊ฐ€์ง€ ์ง๊ด€์œผ๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฒซ์งธ, ๋…ธ์ด์ฆˆ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. ์„ผ์„œ์˜ 1์ฐจ ์ธก์ •๋Ÿ‰์ด ๋ฒ•์„ ์ด๋‹ค. ๋ฒ•์„  โ†’ ๋†’์ด โ†’ ์ ๊ตฐ์œผ๋กœ ๊ฐ€๋Š” ๋ณ€ํ™˜์€ ์ •๋ณด๋ฅผ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. ์˜คํžˆ๋ ค ์ ๋ถ„ ๋‹จ๊ณ„์—์„œ ์ €์ฃผํŒŒ ์™œ๊ณก๊ณผ ๋…ธ์ด์ฆˆ๋ฅผ ๋”ํ•œ๋‹ค. NormalFlow๋Š” ์ด ์†์‹ค ๋‹จ๊ณ„๋ฅผ ํ†ต์งธ๋กœ ์ƒ๋žตํ•œ๋‹ค.

๋‘˜์งธ, rolling์„ ์ง์ ‘ ๋ณธ๋‹ค. ๋งค๋ˆํ•œ ๋ฉด์ด 1~2ยฐ ๊ธฐ์šธ ๋•Œ ์ ์˜ 3D ์œ„์น˜๋Š” ๊ฑฐ์˜ ์•ˆ ๋ณ€ํ•œ๋‹ค. ์ ๊ตฐ ์ •ํ•ฉ์€ ์ด ๋ฏธ์„ธํ•œ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ฑฐ์˜ ๋ชป ์žก๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ•์„  ๋ฒกํ„ฐ๋Š” ๊ทธ๋งŒํผ ํšŒ์ „ํ•œ๋‹ค. ๋ฒ•์„ ์„ ์ •ํ•ฉ ๋Œ€์ƒ์œผ๋กœ ๋‘๋ฉด ์ด ํšŒ์ „์ด ๊ณง๋ฐ”๋กœ ์‹ ํ˜ธ๊ฐ€ ๋œ๋‹ค. ์ด‰๊ฐ ์ถ”์ ์—์„œ ํ‘œ๋ฉด ์ ‘์„  ๋ฐฉํ–ฅ ํšŒ์ „(rolling)์€ ๊ฐ€์žฅ ์ถ”์ •ํ•˜๊ธฐ ์–ด๋ ค์šด ์ž์œ ๋„์˜€๋Š”๋ฐ, NormalFlow๋Š” ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ํฐ ์ด๋“์„ ๋ณธ๋‹ค.

์…‹์งธ, ํ…์Šค์ฒ˜๋ฅผ ์ž์„ธ ๋ณต์›์— ํ™œ์šฉํ•œ๋‹ค. ํ…์Šค์ฒ˜๊ฐ€ ์žˆ๋Š” ๋ฉด์—์„œ ICP๋Š” ์ „์ฒด ๊ณก๋ฉด(์˜ˆ: ๊ณต์˜ ๋‘ฅ๊ทผ ํ˜•์ƒ)์— ๋Œ๋ ค๊ฐ€ ๋ฏธ์„ธ ํ…์Šค์ฒ˜๋ฅผ ๋ฌด์‹œํ•œ๋‹ค. NormalFlow๋Š” ํ…์Šค์ฒ˜๊ฐ€ ๋งŒ๋“œ๋Š” ๋‹ค์–‘ํ•œ ๋ฒ•์„  ๋ฐฉํ–ฅ์„ ์ง์ ‘ ๋งค์นญํ•˜๋ฏ€๋กœ, ํ…์Šค์ฒ˜ ์ž์ฒด์—์„œ ์ž์„ธ๋ฅผ ์ฝ์–ด๋‚ธ๋‹ค.

์‹คํ—˜: ์ •ํ™•๋„, ์†๋„, ๊ฐ•๊ฑด์„ฑ

ํ‰๊ฐ€ ์…‹์—…์€ ๊ฒฌ๊ณ ํ•˜๋‹ค. ๋ฌผ์ฒด๋ฅผ ํ…Œ์ด๋ธ”์— ๊ณ ์ •ํ•˜๊ณ , GelSight Mini๋ฅผ ์›€์ง์ด๋Š” ํ”Œ๋ ˆ์ดํŠธ์— ์žฅ์ฐฉํ•œ ๋’ค OptiTrack MoCap์œผ๋กœ ground truth๋ฅผ ์žก์•˜๋‹ค. 12๊ฐœ ๋ฌผ์ฒด(YCB ์ผ์ƒ ๋ฌผ์ฒด ์ผ๋ถ€, ์ž‘์€ ํ…์Šค์ฒ˜ ๋ฌผ์ฒด, ๊ธฐํ•˜ ๋„ํ˜•)๋ฅผ ๋ฌผ์ฒด๋‹น 7ํšŒ, ํ‰๊ท  10.2์ดˆ์”ฉ ์ถ”์ ํ–ˆ๋‹ค.


์‹คํ—˜ ์…‹์—…(Fig. 3) โ€” GelSight Mini๋ฅผ ์ด๋™ ํ”Œ๋ ˆ์ดํŠธ์— ์žฅ์ฐฉํ•˜๊ณ  OptiTrack MoCap์œผ๋กœ 6DoF ground truth๋ฅผ ์ธก์ •ํ•ด ์ถ”์  ์ •ํ™•๋„๋ฅผ ์ •๋Ÿ‰ ํ‰๊ฐ€ํ•œ๋‹ค.

์ •ํ™•๋„. ๋Œ€์นญ ๋ฌผ์ฒด(๊ณตยท์‹ค๋ฆฐ๋”)๋ฅผ ์ œ์™ธํ•œ 6DoF ์ถ”์  MAE์—์„œ NormalFlow๋Š” ๋ชจ๋“  ๋ฒ ์ด์Šค๋ผ์ธ์„ ๋ชจ๋“  ์ถ•์—์„œ ์•ž์„ ๋‹ค. ๋Œ€ํ‘œ ์ˆ˜์น˜๋ฅผ ํ’€์–ด๋ณด๋ฉด NormalFlow๋Š” x/y/z ๋ณ‘์ง„ 0.15~0.18mm, ํšŒ์ „ 1.1~1.4ยฐ ์ˆ˜์ค€์ด๋‹ค. ๋ฐ˜๋ฉด ICPยทFilterReg๋Š” z์ถ• ํšŒ์ „(\theta_z)์—์„œ 15ยฐ ์ด์ƒ์œผ๋กœ ์‚ฌ์‹ค์ƒ ์‹คํŒจํ•˜๊ณ , FPFH+RI๋Š” \theta_y์—์„œ 36.8ยฐ๊นŒ์ง€ ๋ฒ—์–ด๋‚œ๋‹ค. ํŠนํžˆ ํ…์Šค์ฒ˜๊ฐ€ ๋นˆ์•ฝํ•œ ๋ Œ์น˜ยทํ…Œ์ด๋ธ”์—์„œ ๊ฒฉ์ฐจ๊ฐ€ ๊ทน์ ์ด๋‹ค. MoCap ์ž์ฒด ์˜ค์ฐจ๊ฐ€ ~0.2mm์ž„์„ ๊ฐ์•ˆํ•˜๋ฉด NormalFlow๋Š” ์ธก์ • ํ•œ๊ณ„์— ๊ทผ์ ‘ํ•œ๋‹ค.


์ถ”์  ์ •ํ™•๋„ ๋น„๊ต(Fig. 6 ๊ณ„์—ด) โ€” NormalFlow๊ฐ€ ICPยทFilterRegยทFPFH+RANSAC+ICP ๋“ฑ ์ ๊ตฐ ์ •ํ•ฉ ๋ฒ ์ด์Šค๋ผ์ธ์„ ๋ชจ๋“  ๋ฌผ์ฒดยท์ถ•์—์„œ ๋Šฅ๊ฐ€ํ•˜๋ฉฐ, ํ…์Šค์ฒ˜๊ฐ€ ์ ์€ ๋ฌผ์ฒด์—์„œ ๊ฒฉ์ฐจ๊ฐ€ ๊ฐ€์žฅ ํฌ๋‹ค.

์†๋„. AMD Ryzen 7 CPU(GPU ๋ฏธ์‚ฌ์šฉ)์—์„œ 320ร—240 ์ด๋ฏธ์ง€ยท5000ํ”ฝ์…€ ๊ธฐ์ค€ ํ”„๋ ˆ์ž„๋‹น ํ‰๊ท  ์•ฝ 13.9ms, ์ฆ‰ ์•ฝ 70Hz๋‹ค. ICP(13.6ms)์™€ ๋น„์Šทํ•œ ์†๋„๋ฉด์„œ ํ›จ์”ฌ ์ •ํ™•ํ•˜๊ณ , FilterReg(145ms)ยทFPFH+RI(127ms)๋ณด๋‹ค๋Š” ํ•œ ์ž๋ฆฟ์ˆ˜ ๋น ๋ฅด๋‹ค. ํ•™์Šต ๋ชจ๋ธ์ด ์•„๋‹ˆ๋ผ ๋‹ซํžŒ ํ•ด ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”๋ผ GPU ์—†์ด๋„ ์‹ค์‹œ๊ฐ„์ด ๋‚˜์˜จ๋‹ค๋Š” ์ ์ด ์‹ค์šฉ์„ฑ ์ธก๋ฉด์—์„œ ํฌ๋‹ค.

๊ฐ•๊ฑด์„ฑ. ์ˆ˜๋ ด ์˜์—ญ ๋ถ„์„(๊ฐ€์žฅ ์–ด๋ ค์šด ํ…Œ์ด๋ธ” ๊ธฐ์ค€)์—์„œ ํ•œ ์Šคํ…๋‹น ์•ฝ 1.39mm ๋ณ‘์ง„, 40.1ยฐ ํšŒ์ „๊นŒ์ง€ ์ˆ˜๋ ดํ•œ๋‹ค. ์ฆ‰ ๋น ๋ฅธ ํšŒ์ „์€ ์ž˜ ๊ฒฌ๋””๊ณ , ๋น ๋ฅธ ๋ณ‘์ง„์€ ์ ค ๋งˆ๋ชจ์™€ ํ•จ๊ป˜ ์ถ”์ ์„ ์žƒ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•ด์ƒ๋„๋ฅผ 2๋ฐฐ ๋‹ค์šด์ƒ˜ํ”Œ๋งํ•ด๋„ ์ •ํ™•๋„๊ฐ€ ์œ ์ง€๋˜๋ฉฐ, 4๋ฐฐ์—์„œ๋Š” ํ…์Šค์ฒ˜๊ฐ€ ์ ์€ ๋ Œ์น˜์—์„œ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.

์ผ๋ฐ˜์„ฑ. ๋” ํ๋ฆฟํ•œ DIGIT ์„ผ์„œ(640ร—480, 60Hz)์—์„œ๋„ ๋™์ผํ•œ ์šฐ์œ„๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ๋ชจ๋“  ๋ฐฉ๋ฒ•์ด ํ๋ฆผ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€์ง€๋งŒ NormalFlow์˜ ์ƒ๋Œ€ ์šฐ์œ„๋Š” ๊ทธ๋Œ€๋กœ๋‹ค.

์žฅ๊ธฐ ์ถ”์ ๊ณผ 3D ๋ณต์›

์ข์€ ์ ‘์ด‰ ์ฐฝ์œผ๋กœ ๋ฌผ์ฒด๋ฅผ ๊ณ„์† ๊ตด๋ฆฌ๋‹ค ๋ณด๋ฉด ์ฒ˜์Œ ๋ณธ ํ‘œ๋ฉด์„ ๋ฒ—์–ด๋‚˜ ์ƒˆ๋กœ์šด ์˜์—ญ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. NormalFlow๋Š” keyframe ๊ธฐ๋ฒ•์œผ๋กœ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ถ”์ ์ด ์ง„ํ–‰๋˜์–ด ๊ณต์œ  ์˜์—ญ์ด ์ถฉ๋ถ„ํžˆ ์ค„๋ฉด ํ˜„์žฌ ํ”„๋ ˆ์ž„์„ ์ƒˆ keyframe์œผ๋กœ ๋“ฑ๋กํ•˜๊ณ , ๊ทธ keyframe์„ ๊ธฐ์ค€์œผ๋กœ ์ดํ›„๋ฅผ ์ถ”์ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ˆ„์  ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ์–ต์ œํ•  ์ˆ˜ ์žˆ๋‹ค.


์žฅ๊ธฐ ์ถ”์ (Fig. 8) โ€” 12mm ๊ตฌ์Šฌ์„ 360ยฐ ๊ตด๋ฆฌ๊ณ  540ยฐ ๋น„ํŠธ๋Š” ๊ธด ๊ถค์ ์—์„œ๋„ keyframe ๊ธฐ๋ฐ˜ ์ถ”์ ์œผ๋กœ ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ์–ต์ œํ•ด ํšŒ์ „ ์˜ค์ฐจ๊ฐ€ 2.5ยฐ ์ˆ˜์ค€์— ๋จธ๋ฌธ๋‹ค.

12mm ๊ตฌ์Šฌ์„ y์ถ•์œผ๋กœ 360ยฐ ๊ตด๋ฆฌ๊ณ  z์ถ•์œผ๋กœ 540ยฐ ๋น„ํŠธ๋Š” ๊ธด ์‹œํ€€์Šค์—์„œ ํšŒ์ „ ์˜ค์ฐจ๊ฐ€ \theta_y = 2.5ยฐ, \theta_z = 1.8ยฐ์— ๊ทธ์นœ๋‹ค. ์ข์€ ์ด‰๊ฐ ์ฐฝ์œผ๋กœ ํ•œ ๋ฐ”ํ€ด๋ฅผ ๋‹ค ๋Œ๊ณ ๋„ ์ด ์ •๋„ ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ”„๋ ˆ์ž„ ๊ฐ„ ์ถ”์ •์ด ๊ทธ๋งŒํผ ์ •ํ™•ํ•˜๋‹ค๋Š” ๋ฐฉ์ฆ์ด๋‹ค.

์ด ์ •๋ฐ€๋„๋ฅผ ๊ฐ€์žฅ ์„ค๋“๋ ฅ ์žˆ๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด 3D ๋ณต์›์ด๋‹ค. ์ ‘์ด‰์„ ๋Š์ง€ ์•Š๊ณ  ์ž‘์€ ๊ตฌ์Šฌ์„ ์†์œผ๋กœ ๊ตด๋ฆฌ๋ฉฐ ์ด‰๊ฐ ์˜์ƒ์„ ๋ชจ์œผ๊ณ , NormalFlow๋กœ ๋งค ํ”„๋ ˆ์ž„ ์ž์„ธ๋ฅผ ์ถ”์ •ํ•œ ๋’ค, ์ดˆ๊ธฐ ์ž์„ธ์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํ”„๋ ˆ์ž„์„ ์ฐพ์•„ loop closure ์ œ์•ฝ์„ ๊ฑธ๊ณ  pose graph๋ฅผ ์ตœ์ ํ™”ํ•œ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ๋กœ ์œตํ•ฉ๋œ ํ‘œ๋ฉด ๊ธฐํ•˜๋Š” loop closure๊ฐ€ ์žˆ์„ ๋•Œ ๋งค๋ˆํ•˜๊ฒŒ ๋ณต์›๋˜๊ณ , ํฅ๋ฏธ๋กญ๊ฒŒ๋„ MoCap์œผ๋กœ ์ถ”์ ํ•œ ์ž์„ธ๋กœ ๋ณต์›ํ•œ ๊ฒฐ๊ณผ๋ณด๋‹ค NormalFlow ์ชฝ์ด ๋” ์ข‹๋‹ค. ์ถ”์  ์ •๋ฐ€๋„๊ฐ€ ๋ชจ์…˜ ์บก์ฒ˜ ๊ธฐ์ค€๊ฐ’์„ ๋Šฅ๊ฐ€ํ•œ๋‹ค๋Š” ๊ฐ•๋ ฅํ•œ ์ •์„ฑ์  ์ฆ๊ฑฐ๋‹ค.


์ด‰๊ฐ ๊ธฐ๋ฐ˜ 3D ๋ณต์›(Fig. 13) โ€” NormalFlow๋กœ ์ถ”์ ํ•œ ํ”„๋ ˆ์ž„์„ loop closure์™€ ํ•จ๊ป˜ ์œตํ•ฉํ•˜๋ฉด ๊ณ ํ’ˆ์งˆ ํ‘œ๋ฉด์ด ๋ณต์›๋˜๋ฉฐ, MoCap ๊ธฐ๋ฐ˜ ๋ณต์›๋ณด๋‹ค๋„ ์šฐ์ˆ˜ํ•˜๋‹ค.

๋น„ํŒ์ ์œผ๋กœ ๋ณด๋ฉด

๊ฐ•์ 

  • ๊ด€์  ์ „ํ™˜์ด ๋ณธ์งˆ์ ์ด๋‹ค. โ€œ๋ฒ•์„ ์„ ์ง์ ‘ ์ •ํ•ฉโ€์ด๋ผ๋Š” ํ•œ ๋ฌธ์žฅ์œผ๋กœ ๋ณ€ํ™˜ ๋…ธ์ด์ฆˆ, rolling ์ถ”์ • ๋‚œ์ด๋„, ์†๋„ ๋ฌธ์ œ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ํ•ด๊ฒฐํ•œ๋‹ค. ์ข‹์€ ์•„์ด๋””์–ด์˜ ์ „ํ˜•์ด๋‹ค.
  • ํ•™์Šต์ด ํ•„์š” ์—†๋‹ค. ์‚ฌ์ „ํ•™์Šต ๊ฐ€์ค‘์น˜ ์—†์ด ๊ณ ์ „์  Gauss-Newton์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค(๋ฒ•์„  ์ถ”์ •์šฉ ์ž‘์€ MLP๋Š” ์žˆ์œผ๋‚˜ ์ถ”์  ์ž์ฒด๋Š” ์ตœ์ ํ™”๋‹ค). ๋„๋ฉ”์ธ ๊ฐญ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ์ผ๋ฐ˜ํ™” ์šฐ๋ ค๊ฐ€ ์ ๊ณ  GPU ์—†์ด 70Hz๊ฐ€ ๋‚˜์˜จ๋‹ค.
  • ํ…์Šค์ฒ˜ ์—†๋Š” ๋ฌผ์ฒด์— ๊ฐ•ํ•˜๋‹ค. ์ ๊ตฐ ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ์•ฝํ•œ ์ง€์ ์—์„œ ๊ฐ€์žฅ ํฐ ๊ฒฉ์ฐจ๋ฅผ ๋งŒ๋“ ๋‹ค. ์‹ค์ œ ์‚ฐ์—…ยท์ƒํ™œ ๋ฌผ์ฒด๋Š” ๋งค๋ˆํ•œ ๋ฉด์ด ๋งŽ๋‹ค๋Š” ์ ์—์„œ ์‹ค์šฉ์ ์ด๋‹ค.

์•ฝ์ ยทํ•œ๊ณ„

  • ๋น ๋ฅธ ๋ณ‘์ง„์—์„œ ์ถ”์ ์„ ์žƒ๋Š”๋‹ค. ๋น ๋ฅธ ๋ฏธ๋„๋Ÿฌ์ง์€ ์ ค์„ ๋งˆ๋ชจ์‹œํ‚ค๊ณ  ์ˆ˜๋ ด ์˜์—ญ์„ ๋ฒ—์–ด๋‚˜๊ฒŒ ํ•œ๋‹ค. ์ €์ž๋“ค์€ ICP ๊ฒฐ๊ณผ๋‚˜ ์ ‘์ด‰ ์˜์—ญ ์ค‘์‹ฌ ์ด๋™์œผ๋กœ ๋ณ‘์ง„์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ณด์™„์ฑ…์„ ์ œ์•ˆํ•˜์ง€๋งŒ, ๋‹จ๋…์œผ๋กœ๋Š” ํ•œ๊ณ„๋‹ค.
  • ๋Œ€์นญ ๋ฌผ์ฒด๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋ชจํ˜ธํ•˜๋‹ค. ์™„์ „ ๋Œ€์นญ์ธ ๊ณตยท์‹ค๋ฆฐ๋”์—์„œ๋Š” ๋ฒ•์„  ๋งค์นญ์ด ์—ฌ๋Ÿฌ ํ•ด๋ฅผ ๊ฐ€์ ธ ๋ชจ๋“  ๋ฐฉ๋ฒ•์ด ์–ด๋ ค์›€์„ ๊ฒช๋Š”๋‹ค. ์ด๋Š” ๋ฐฉ๋ฒ•์˜ ๋ฌธ์ œ๋ผ๊ธฐ๋ณด๋‹ค ๋ฌธ์ œ ์ž์ฒด์˜ ํ•œ๊ณ„์ง€๋งŒ, ํšŒ์ „ ๋Œ€์นญ ๋ถ€ํ’ˆ ์ถ”์ ์—๋Š” ์ถ”๊ฐ€ ๋‹จ์„œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • ์ˆ˜๋ ด ์˜์—ญ ์ดˆ๊ธฐํ™” ์˜์กด. Gauss-Newton ํŠน์„ฑ์ƒ ์ดˆ๊ธฐ๊ฐ’์ด ์ˆ˜๋ ด basin ์•ˆ์— ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ”„๋ ˆ์ž„ ๊ฐ„ ์›€์ง์ž„์ด ๋„ˆ๋ฌด ํฌ๋ฉด ๋ฐœ์‚ฐํ•œ๋‹ค. ๊ณ ํ”„๋ ˆ์ž„๋ ˆ์ดํŠธ ์„ผ์„œ๋ผ๋ฉด ์™„ํ™”๋˜์ง€๋งŒ ์ €์† ์„ผ์„œยท๊ธ‰๊ฒฉํ•œ ์šด๋™์—์„œ๋Š” ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • z-๋ณ‘์ง„์€ ์—ฌ์ „ํžˆ ๋†’์ด ๋งต์— ์˜์กด. ๋ณธ๋ฌธ ์‹(4)์˜ \Delta z ๊ณ„์‚ฐ์€ ๋…ธ์ด์ฆˆ๊ฐ€ ์žˆ๋Š” ๋†’์ด ๋งต์„ ์“ด๋‹ค. ์ €์ž๋“ค์€ ์ ‘์ด‰ ์œ ์ง€๋ฅผ ์œ„ํ•ด \Delta z ์ž์ฒด๊ฐ€ ํ•ญ์ƒ ์ž‘์•„ ์˜ค์ฐจ๋„ ์ž‘๋‹ค๊ณ  ์„ค๋ช…ํ•˜์ง€๋งŒ, ์›๋ฆฌ์ ์œผ๋กœ๋Š” ๋ฒ•์„ ๋งŒํผ ๊นจ๋—ํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์ด๋‹ค.
  • ๋ณต์›์˜ loop closure๊ฐ€ ๋‹จ์ˆœํ•˜๋‹ค. 3D ๋ณต์›์€ ๋‹จ์ผ loop closure ์ œ์•ฝ๋งŒ ์“ด๋‹ค. ๋” ๊ธด ๊ถค์ ์—์„œ๋Š” factor graph ๊ธฐ๋ฐ˜ ๋‹ค์ค‘ ์ œ์•ฝ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ €์ž๋„ ์ธ์ •ํ•œ๋‹ค.
  • ์—ฐ์† ์ ‘์ด‰ ๊ฐ€์ •. ์ ‘์ด‰์ด ๋Š๊ธฐ๊ฑฐ๋‚˜ ํฐ ๊ฐ€๋ฆผ์ด ์ƒ๊ธฐ๋ฉด ์žฌ์ดˆ๊ธฐํ™” ์—†์ด๋Š” ์ถ”์ ์„ ์ด์–ด๊ฐ€์ง€ ๋ชปํ•œ๋‹ค.

๊ด€๋ จ ์—ฐ๊ตฌ์™€์˜ ์ž๋ฆฌ ๋งค๊น€

์ด‰๊ฐ ๊ธฐ๋ฐ˜ ์ž์„ธ ์ถ”์ •ยท์ถ”์ ์€ ํฌ๊ฒŒ ๋‘ ํ๋ฆ„์ด ์žˆ์—ˆ๋‹ค. ํ•˜๋‚˜๋Š” ํ•™์Šต ๊ธฐ๋ฐ˜(์˜ˆ: ์ด‰๊ฐ ์ด๋ฏธ์ง€์—์„œ ์ž์„ธ๋ฅผ ํšŒ๊ท€ํ•˜๊ฑฐ๋‚˜, FoundationPose๋ฅ˜์˜ ์ผ๋ฐ˜ 6DoF ์ถ”์ ๊ธฐ๋ฅผ ์ด‰๊ฐ์— ์ ์šฉํ•˜๋ ค๋Š” ์‹œ๋„)์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ธฐํ•˜ ์ •ํ•ฉ ๊ธฐ๋ฐ˜(์ด‰๊ฐ โ†’ ์ ๊ตฐ โ†’ ICP/FilterReg/FPFH)์ด๋‹ค. ํ•™์Šต ๊ธฐ๋ฐ˜์€ ๋ฐ์ดํ„ฐยท๋„๋ฉ”์ธ ๊ฐญ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ , ์ ๊ตฐ ์ •ํ•ฉ์€ ๋ณ€ํ™˜ ๋…ธ์ด์ฆˆ์™€ ์†๋„ยทrolling ์ถ”์ • ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๋‹ค.

NormalFlow๋Š” ์ด ๋‘ ํ๋ฆ„ ์‚ฌ์ด์—์„œ ๋…ํŠนํ•œ ์œ„์น˜๋ฅผ ์žก๋Š”๋‹ค. ํ•™์Šต ๋ชจ๋ธ์ด ์•„๋‹ˆ๋ผ ์ตœ์ ํ™”(๊ณ ์ „์ )์ด๋ฉด์„œ, ์ •ํ•ฉ ๋Œ€์ƒ์„ ์ ๊ตฐ์ด ์•„๋‹ˆ๋ผ ๋ฒ•์„  ๋งต์œผ๋กœ ์˜ฎ๊ฒผ๋‹ค. ์ฆ‰ โ€œ์„ผ์„œ ํŠน์„ฑ์— ๋งž๋Š” ํ‘œํ˜„(๋ฒ•์„ )์„ ๊ณจ๋ผ ๊ณ ์ „์  ์ •ํ•ฉ์„ ๋‹ค์‹œ ์ž˜ ํ•œ๋‹คโ€๋Š” ์ „๋žต์ด๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ์ผ๋ฐ˜ํ™” ๋ถ€๋‹ด ์—†์ด, ์ ๊ตฐ ์ •ํ•ฉ์˜ ๋…ธ์ด์ฆˆยท์†๋„ยทrolling ํ•œ๊ณ„๋ฅผ ๋™์‹œ์— ๋„˜์—ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ์–ด(rpl-cmu/normalflow) in-hand manipulation ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ถ”์  ๋ชจ๋“ˆ๋กœ ๊ทธ๋Œ€๋กœ ๋Œ์–ด ์“ฐ๊ธฐ ์ข‹๋‹ค๋Š” ์ ๋„ ์‹ค๋ฌด์  ๊ฐ€์น˜๋‹ค.

๋น„๊ต ๊ด€์ ์—์„œ ํฅ๋ฏธ๋กœ์šด ์ ์€, NormalFlow๊ฐ€ ๊ด‘ํ•™ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ(TACTO ๋“ฑ)์™€ ์ƒ๋ณด์ ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์ด‰๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€๋Ÿ‰ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ๋ผ๋ฉด, NormalFlow๋Š” ์‹ค์ œ ์ด‰๊ฐ ์ŠคํŠธ๋ฆผ์—์„œ ์ž์„ธ๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” ์ถ”๋ก  ๋„๊ตฌ๋‹ค. ์ •์ฑ… ํ•™์Šต์€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—์„œ, ์‹ค์‹œ๊ฐ„ ์ƒํƒœ ์ถ”์ •์€ NormalFlow ๊ฐ™์€ ๊ณ ์ „์  ์ถ”์ ๊ธฐ๋กœ โ€” ๋ผ๋Š” ์กฐํ•ฉ์ด ์ž์—ฐ์Šค๋Ÿฝ๋‹ค.

์š”์•ฝ

NormalFlow์˜ ๊ธฐ์—ฌ๋Š” โ€œ์ด‰๊ฐ 6DoF ์ถ”์ ์€ ์ ๊ตฐ ์ •ํ•ฉ์ด ์•„๋‹ˆ๋ผ ๋ฒ•์„  ๋งต ์ •ํ•ฉ ๋ฌธ์ œ๋‹คโ€๋ผ๋Š” ๊ด€์  ์ „ํ™˜์— ์žˆ๋‹ค. ์„ผ์„œ๊ฐ€ ๊ฐ€์žฅ ์ •ํ™•ํ•˜๊ฒŒ ์ธก์ •ํ•˜๋Š” ์–‘์„ ๊ทธ๋Œ€๋กœ ์ •ํ•ฉ ๋Œ€์ƒ์œผ๋กœ ์‚ผ์•„, ๋ณ€ํ™˜ ๋…ธ์ด์ฆˆ๋ฅผ ์—†์• ๊ณ , rolling์„ ์ง์ ‘ ๋ณด๊ณ , GPU ์—†์ด 70Hzยท์„œ๋ธŒ๋ฐ€๋ฆฌ๋ฏธํ„ฐ ์ •ํ™•๋„๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค. ํ…์Šค์ฒ˜ ์—†๋Š” ๋ฌผ์ฒด์™€ ์žฅ๊ธฐ ์ถ”์ , ๊ทธ๋ฆฌ๊ณ  MoCap์„ ๋Šฅ๊ฐ€ํ•˜๋Š” 3D ๋ณต์›๊นŒ์ง€ ๋ณด์—ฌ์ฃผ๋ฉฐ ์‹ค์šฉ์„ฑ์„ ์ž…์ฆํ–ˆ๋‹ค.

ํ•œ๊ณ„๋„ ๋ถ„๋ช…ํ•˜๋‹ค. ๋น ๋ฅธ ๋ณ‘์ง„, ๋Œ€์นญ ๋ฌผ์ฒด, ์ดˆ๊ธฐํ™” ์˜์กด, ์—ฐ์† ์ ‘์ด‰ ๊ฐ€์ •์€ ์‹ค์ œ ์กฐ์ž‘ ํ™˜๊ฒฝ์—์„œ ๋งˆ์ฃผ์น  ์ˆ˜ ์žˆ๋Š” ์ง€์ ๋“ค์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ํ•œ๊ณ„๋“ค์€ ๋Œ€๋ถ€๋ถ„ โ€œ๋” ๋‚˜์€ ์ดˆ๊ธฐํ™”โ€๋‚˜ โ€œ๋” ์ •๊ตํ•œ ๊ทธ๋ž˜ํ”„ ์ตœ์ ํ™”โ€๋กœ ๋ณด์™„ ๊ฐ€๋Šฅํ•œ ๊ณตํ•™์  ๋ฌธ์ œ์ด๊ณ , ํ•ต์‹ฌ ์•„์ด๋””์–ด ์ž์ฒด๋Š” ๊ฒฌ๊ณ ํ•˜๋‹ค. dexterous manipulation์—์„œ ์†์•ˆ ๋ฌผ์ฒด์˜ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์•Œ์•„์•ผ ํ•˜๋Š” ๋ชจ๋“  ์ƒํ™ฉ์—์„œ, NormalFlow๋Š” ๊ฐ€๋ณ๊ณ  ์ •ํ™•ํ•œ ๊ธฐ๋ณธ ์ถ”์  ๋ฐฑ๋ณธ์œผ๋กœ ์ž๋ฆฌ ์žก์„ ๋งŒํ•˜๋‹ค.

Copyright 2026, JungYeon Lee