flowchart TD
A[3 real images:<br/>texture ref + cross-pattern + tactile] --> B[Stage 1:<br/>Pose Optimization<br/>without glass]
B --> C[Stage 2:<br/>Pose Refinement<br/>WITH glass refraction]
C --> D[Joint Lighting &<br/>Material Optimization]
D --> E[Marker Texture<br/>Optimization]
E --> F[Calibrated<br/>Differentiable Renderer]
F --> G1[High-fidelity<br/>RGB + NOCS dataset<br/>56k samples]
F --> G2[Inverse rendering:<br/>mesh reconstruction<br/>from single image]
G1 --> H[Pix2Pix:<br/>NOCS map -> RGB<br/>real-time inference]
style C fill:#ffe0b2
style F fill:#c8e6c9
style H fill:#bbdefb
๐Path-Tracing Sim2Real Tactile
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
์๋ก
๋ฌธ์ ์ ์: ์ ์ด๊ฐ ์๋ฎฌ๋ ์ด์ ์ โํ์ค์ ๋ฒฝโ์ ๋ถ๋ชํ๋๊ฐ
GelSight ๋ฅ์ ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์(vision-based tactile sensor) ๋ ๋ถ๋๋ฌ์ด ์ ค(gel) ํ๋ฉด์ด ๋ฌผ์ฒด์ ๋๋ฆด ๋ ์๊ธฐ๋ ๋ฏธ์ธํ ๋ณํ์ ๋ด๋ถ ์นด๋ฉ๋ผ๋ก ์ดฌ์ํด, ์ ์ด ์ง์ ์ ํ์ยทํ ์ค์ฒยท์ ๋จ๋ ฅ(shear force)๊น์ง ๊ณ ํด์๋๋ก ์ฝ์ด๋ ๋๋ค. ๋ก๋ด ๋งค๋ํฐ๋ ์ด์ ์์ ๋ฏธ๋๋ฌ์ง ๊ฐ์ง, ๋ฌผ์ฒด ์ธ์, ๊ฐํํ์ต ์ ์ฑ ํ์ต ๋ฑ์ ๊ฐ๋ ฅํ๊ฒ ์ฐ์ด์ง๋ง, ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ต์ํค๋ ค๋ฉด ๋๊ท๋ชจ ๊ณ ํ์ง ๋ฐ์ดํฐ์ ์ด ํ์ํฉ๋๋ค. ์ค์ ๋ก๋ด์ผ๋ก ์๋ง ์ฅ์ ๋ชจ์ผ๋ ๊ฒ์ ๋๋ฆฌ๊ณ ๋น์ธ๊ธฐ ๋๋ฌธ์, ์์ฐ์ค๋ฝ๊ฒ โ์๋ฎฌ๋ ์ด์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐ์ด๋ด์โ๋ ํ๋ฆ์ด ์๊ฒผ์ต๋๋ค.
๋ฌธ์ ๋ ์๋ฎฌ๋ ์ด์ ์ด๋ฏธ์ง์ ์ค์ ์ผ์ ์ด๋ฏธ์ง ์ฌ์ด์ ๋์ง๊ธฐ๊ฒ ๋จ๋ sim-to-real gap(์๋ฎฌ-์ค์ ๊ฒฉ์ฐจ) ์ ๋๋ค. ์ด ๋ ผ๋ฌธ์ ๊ทธ ๊ฒฉ์ฐจ์ ๊ฐ์ฅ ํฐ ์์ธ์ ๋ ๊ฐ์ง๋ก ์ง๋ชฉํฉ๋๋ค.
- ๋ณต์กํ ๊ดํ(optics) ํจ๊ณผ ๋ชจ๋ธ๋ง์ ์ด๋ ค์ โ ํนํ ์ผ์๋ฅผ ๋ณดํธํ๋ ์ ๋ฆฌ(glass) ์ธต์ ๋น์ด ํต๊ณผํ ๋ ์ผ์ด๋๋ ๊ตด์ (refraction). ๋น์ด ๋งค์ง ๊ฒฝ๊ณ๋ฅผ ์ง๋๋ฉฐ ๊บพ์ด๊ธฐ ๋๋ฌธ์, ์ ค ์์ ๋ฐํ ๋ง์ปค(marker, ๊ฒ์ ์ )์ ๊ฒ๋ณด๊ธฐ ์์น์ ํฌ๊ธฐ๊ฐ ์๊ณก๋ฉ๋๋ค. ์นด๋ฉ๋ผ๊ฐ ๋ณด๋ ๋ง์ปค๋ ์ค์ ๋ง์ปค์ ์์น๊ฐ ์๋๋ผ โ์ ๋ฆฌ๋ฅผ ํต๊ณผํด ๊ตด์ ๋โ ์์น์ ๋๋ค.
- ๋ฌผ๋ฆฌ ํ๋ผ๋ฏธํฐ ์ถ์ ์ ์ด๋ ค์ โ ์ผ์์ ์นด๋ฉ๋ผ ํฌ์ฆ(camera pose)์ ์กฐ๋ช (lighting) ์กฐ๊ฑด. ์์ฉ GelSight Mini์กฐ์ฐจ ์ ์กฐ ๊ณต์ฐจ(manufacturing tolerance) ๋๋ฌธ์ ๊ฐ์ฒด๋ง๋ค ์นด๋ฉ๋ผ ์์น๊ฐ ๋ฏธ๋ฌํ๊ฒ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์ ๋ณดํต ์นด๋ฉ๋ผ ํฌ์ฆ๋ฅผ ์ด๋ฏธ ์๊ณ ์๋ค๊ณ ๊ฐ์ ํ์ต๋๋ค.
๊ธฐ์กด ์ ๊ทผ์ ํ๊ณ
์ด๊ฐ ๋ ๋๋ง ๊ธฐ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์งํํด ์์ต๋๋ค.
- ๊ฐ์ฒด(rigid-body) + ๊น์ด ์นด๋ฉ๋ผ + ๊ฐ์ฐ์์ ์ค๋ฌด๋ฉ: ๋น ๋ฅด์ง๋ง ์์ง๋ ฅ๋ง ์ก๊ณ , ์ ๋จ๋ ฅ์ผ๋ก ์ธํ ๋ง์ปค ์ด๋์ ๋์นฉ๋๋ค (TACTO, Taxim ๋ฑ).
- ๋ณํ์ฒด(deformable) ์๋ฎฌ๋ ์ด์ (FEM, MPM): ์ ค์ ์ํํธ๋ฐ๋๋ก ๋ชจ๋ธ๋งํด ๋ง์ปค ๋ณ์๊น์ง ์ถ์ . ์ถฉ์ค๋๋ ๋์์ง (TacFlex ๋ฑ).
- ๋ ๋๋ง ์ธก๋ฉด: ๋จ์ ๋์คํฐํ(rasterization) + ์๋ LED ํจ๊ณผ โ ๊ทธ๋ฆผ์์ฉ ๋ ์ด ํธ๋ ์ด์ฑ โ Snell ๋ฒ์น ๊ธฐ๋ฐ ์ฌํ ๋ณด์ (post-hoc correction). ๋ชจ๋ ์๋ ํ๋์ด ํ์ํ๊ณ ์นด๋ฉ๋ผ ํฌ์ฆ๋ฅผ ์๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ด ๋ ผ๋ฌธ์ ์ถ๋ฐ์ ์ ๋ช ํํฉ๋๋ค. โ๊ตด์ ยท์กฐ๋ช ยทํฌ์ฆ๋ฅผ ๋ณ๋ ๋ณด์ ์ผ๋ก ๋์งํ์ง ๋ง๊ณ , ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๊ดํ ๋ชจ๋ธ ์์ ์ฒ์๋ถํฐ ๋ฃ๊ณ , ์ค์ ์ด๋ฏธ์ง๋ก๋ถํฐ ์๋์ผ๋ก ์ต์ ํํ๋ฉด ์ด๋จ๊น?โ ๊ทธ ์ด์ ๊ฐ ๋ฐ๋ก ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง(differentiable rendering) ์ ๋๋ค.
ํต์ฌ ์์ด๋์ด ํ ๋ฌธ์ฅ
๋จ 3์ฅ์ ์ค์ ์ด๋ฏธ์ง๋ก๋ถํฐ, ๋ฏธ๋ถ ๊ฐ๋ฅ ๊ฒฝ๋ก ์ถ์ ๋ ๋๋ฌ(Mitsuba 3)๋ฅผ ํตํด ์นด๋ฉ๋ผ ํฌ์ฆยท์กฐ๋ช ยทํ ์ค์ฒ ๊ฐ์ ๋ฌผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฒฝ์ฌํ๊ฐ(gradient descent)์ผ๋ก ์๋ ์ต์ ํํด, ์ ๋ฆฌ ๊ตด์ ๊น์ง ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ํํ ์ด๊ฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค.
์ ์๋ค์ด ๋ด์ธ์ฐ๋ ๊ธฐ์ฌ๋ ๋ค ๊ฐ์ง์ ๋๋ค.
- ๋น์ ์ด๊ฐ ์ผ์๋ฅผ ์ํ ์ต์ด์ ์์ ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง ํ์ดํ๋ผ์ธ โ ํฌ์ฆยทํ ์ค์ฒยท์กฐ๋ช ์ ์ค์ ์ด๋ฏธ์ง๋ก๋ถํฐ ๊ฒฝ์ฌ ๊ธฐ๋ฐ ์ต์ ํ.
- ์ ๋ฆฌ ๊ตด์ ๊ณผ RGB ์กฐ๋ช ๊ฐ์ ํต์ฌ ๊ดํ ํจ๊ณผ๋ฅผ ๋ช ์์ ์ผ๋ก ๋ชจ๋ธ๋งํ๋ ์ต์ ํ ๊ธฐ๋ฒ.
- NOCS ๋งต์ ์ ๋ ฅ์ผ๋ก ํ๋ ์ด๋ฏธ์ง-ํฌ-์ด๋ฏธ์ง ๋ณํ(Pix2Pix) ์ผ๋ก ๊ณ ์ถฉ์ค๋ ํฉ์ฑ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ๋ ํ๋ ์์ํฌ.
- ์ค์ ๋ก๋ด ํ๋ซํผ์์์ ๊ด๋ฒ์ํ ๊ฒ์ฆ ๋ฐ ๋จ์ผ ์ด๊ฐ ์ด๋ฏธ์ง๋ก๋ถํฐ ํ์์ ๋ณต์ํ๋ ์ญ๋ฌธ์ (inverse problem) ์์ฉ.
๋ฐฉ๋ฒ
ํฐ ๊ทธ๋ฆผ: ์ ํํ ๋ฏธ๋ถ ๊ฐ๋ฅ โ๊ฒฝ๋ก ์ถ์ โ์ธ๊ฐ
๋จผ์ ์ง๊ด๋ถํฐ ์ก๊ฒ ์ต๋๋ค. ์ผ๋ฐ์ ์ธ ๋ ๋๋ง์ โ์ฅ๋ฉด(scene) โ ์ด๋ฏธ์งโ๋ก ๊ฐ๋ ์๋ฐฉํฅ(forward) ๊ณ์ฐ์ ๋๋ค. ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง์ ์ฌ๊ธฐ์ ๋ํด โ์ด๋ฏธ์ง์ ์ค์ฐจ โ ์ฅ๋ฉด ํ๋ผ๋ฏธํฐ๋ฅผ ์ด๋ป๊ฒ ๋ฐ๊ฟ์ผ ์ค์ฐจ๊ฐ ์ค์ด๋๋์งโ๋ผ๋ ์ญ๋ฐฉํฅ(backward) ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์ฆ ๋ ๋๋ฌ ์์ฒด๊ฐ ๊ฑฐ๋ํ ๋ฏธ๋ถ ๊ฐ๋ฅ ํจ์๊ฐ ๋์ด, ์ ๊ฒฝ๋ง์ ํ์ตํ๋ฏ ์ฅ๋ฉด์ ํ์ตํ ์ ์์ต๋๋ค.
๋ ๋๋ง์ ๊ทผ๋ณธ ์์ธ ๋ ๋๋ง ๋ฐฉ์ ์(rendering equation) ์ ํ๋ผ๋ฏธํฐ \theta ๋ก ๋ฏธ๋ถํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํํ๊ฐ ๋ฉ๋๋ค (๋ ผ๋ฌธ ์ 1).
\frac{\partial I}{\partial \theta} = \frac{\partial}{\partial \theta} \int_{\Omega} L_i(\omega_i)\, f_r(\omega_i, \omega_o)\, (n \cdot \omega_i)\, d\omega_i
์ง๊ด์ ์ผ๋ก ํ์ด ๋ณด๋ฉด:
- L_i(\omega_i): ๋ฐฉํฅ \omega_i ์์ ๋ค์ด์ค๋ ์ ์ฌ๊ด(์กฐ๋ช ).
- f_r(\omega_i, \omega_o): BSDF(์๋ฐฉํฅ ์ฐ๋ ๋ถํฌ ํจ์). ํ๋ฉด์ด ๋น์ ์ด๋ป๊ฒ ๋ฐ์ฌ/๊ตด์ ์ํค๋์ง๋ฅผ ๋ํ๋. ์ ๋ฆฌ์ ๊ตด์ ยท์ ๋ฐ์ฌ(specular)๊ฐ ์ฌ๊ธฐ ๋ค์ด๊ฐ๋๋ค.
- (n \cdot \omega_i): ํ๋ฉด ๋ฒ์ ๊ณผ ๋น ๋ฐฉํฅ์ ๊ฐ๋ ํญ(๋๋ฒ ๋ฅดํธ ์ฝ์ฌ์ธ).
- \theta: ์ต์ ํํ๋ ค๋ ์์์ ๋ ๋ ํ๋ผ๋ฏธํฐ โ ์ฌ์ง(material), ๊ธฐํ(geometry), ์กฐ๋ช (lighting).
ํต์ฌ์ ์ด ์ ๋ถ ์ ์ฒด๋ฅผ \theta์ ๋ํด ๋ฏธ๋ถํ ์ ์๋ค๋ ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด โ๋ ๋ ์ด๋ฏธ์ง I๊ฐ ์ค์ ์ด๋ฏธ์ง์ ์ผ๋ง๋ ๋ค๋ฅธ์งโ๋ฅผ ์์ค๋ก ์ ์ํ๊ณ , ๊ทธ ์์ค์ ์ค์ด๋ ๋ฐฉํฅ์ผ๋ก \theta๋ฅผ ๊ฐฑ์ ํ ์ ์์ต๋๋ค.
์ ์๋ค์ ์ผ๋ฐ ์ปดํจํฐ ๋น์ ์์๋ ๋ณต์กํ ๊ธฐํยท์ฌํ ๊ฐ๋ฆผ(occlusion)์ด ๊ธฐ์ธ๊ธฐ์ ๋ถ์ฐ์์ ๋ง๋ค์ด ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง์ด ์ด๋ ต์ง๋ง, ์ด๊ฐ ์ด๋ฏธ์ง๋ ๋งค๋๋ฌ์ด ๋ณํ ํ๋ฉด๊ณผ ์ฐ์์ ์ธ ์ ์ด ์์ญ์ด๋ผ๋ ํน์ฑ ๋๋ถ์ ๊ธฐ์ธ๊ธฐ ๊ณ์ฐ์ด ์์ ์ ์ด๋ผ๊ณ ์ง์ ํฉ๋๋ค. ์ฆ ์ด ๋๋ฉ์ธ์ด ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง๊ณผ โ๊ถํฉ์ด ์ข๋คโ๋ ๊ฒ์ด ์ค์ํ ํต์ฐฐ์ ๋๋ค.
Mitsuba 3๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ชจ๋ธ๋งํ๋ ์ธ ๊ฐ์ง ํต์ฌ:
- ์ ๋ฆฌ ๋ณดํธ์ธต์ ํตํ ๊ด ์์ก โ ๊ตด์ ๊ณผ ์ ๋ฐ์ฌ๋ฅผ ํฌํจํ ์ ํํ BSDF ๋ชจ๋ธ๋ง.
- ๊ฒฝ๋ก ์ถ์ ์ ํตํ ์์ฐ์ค๋ฌ์ด ๊ทธ๋ฆผ์ โ ์ ์ญ ์กฐ๋ช (global illumination) ํจ๊ณผ ํฌ์ฐฉ.
- ๊ธฐ์ธ๊ธฐ๋ฅผ ํตํ ๋ฏธ๋ถ ๊ฐ๋ฅ ํ๋ผ๋ฏธํฐ ์ต์ ํ.
์ ์ฒด ํ์ดํ๋ผ์ธ ๊ฐ์
์ด ํ์ดํ๋ผ์ธ์ ํ๋ก ํธ์๋(๋ณํ ๋ฌผ๋ฆฌ)์ ๋ฐฑ์๋(๊ดํ ๋ ๋๋ง)๋ก ๋๋ ๋ณผ ์ ์์ต๋๋ค. ๋ณํ ๋ฌผ๋ฆฌ๋ FEM ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ดํฐ TacFlex๋ฅผ ํ์ฅํด ์ฌ์ฉํ๊ณ (์๋ยท์ ํ๋ยท์ ์ด ์ฑ๋ฅ์ ๊ท ํ์ด ์ข๋ค๊ณ ํ๊ฐ), ๊ทธ ์์ ์๋ก์ด ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง ์ปดํฌ๋ํธ๋ฅผ ์น์ต๋๋ค. ์ ๋ ฅ์ ๋จ ์ธ ๊ฐ์ง: โ ๋จ์ผ ์ค์ ์ด๊ฐ ์ด๋ฏธ์ง, โก ์ผ์์ ๋ฉ์ ๋ชจ๋ธ, โข ์๋ ค์ง ๋ง์ปค ๊ฒฉ์ ์ฌ์(9ร7 ๋ฐฐ์ด, 2mmร2.05mm ๊ฐ๊ฒฉ, ์ง๋ฆ 1mm).
๋จ๊ณ 1 โ ์ ๋ฆฌ ์๋ ํฌ์ฆ ์ต์ ํ
๋จผ์ ์นด๋ฉ๋ผ ํฌ์ฆ๋ฅผ ๊ฑฐ์น ๊ฒ ์ก์ต๋๋ค. ๋ง์ปค ๊ฒฉ์ ์ฌ์์ผ๋ก๋ถํฐ ์๋ฒฝํ ์ด์ง ํ ์ค์ฒ(binary texture)๋ฅผ ์์ฑํ๊ณ , ํ ์ค์ฒ๊ฐ ์ ํ์ง ๋ฉ์๋ฅผ ๋ฌด์์ ํฌ์ฆ์ ๋์ ๋ค ์ต์ ํ๋ฅผ ์์ํฉ๋๋ค. ์์ค์ ๋จ์ํ ๋ง์ปค ์์น ์ค์ฐจ(๋ ผ๋ฌธ ์ 2)์ ๋๋ค.
L_{\text{pose}} = \sum_{j=1}^{N} \left[ (u_j - u_j^{\text{ref}})^2 + (v_j - v_j^{\text{ref}})^2 \right]
- (u_j, v_j): ๋ฏธ๋ถ ๊ฐ๋ฅํ 3Dโ2D ํฌ์(differentiable projection)์ผ๋ก ์ป์ ๋ง์ปค์ ํ๋ฉด ์ขํ.
- (u_j^{\text{ref}}, v_j^{\text{ref}}): ์ค์ ์ด๋ฏธ์ง์์ ์ํ ํํ ๋ณํ(circle Hough transform) ์ผ๋ก ๊ฒ์ถํ ๋ง์ปค ์ขํ.
์ง๊ด: ๊ฐ์ ๋ง์ปค๋ค์ด ์ค์ ์ด๋ฏธ์ง์ ๋ง์ปค ์์น์ ๊ฒน์ณ์ง๋๋ก ๋ฉ์ ํฌ์ฆ๋ฅผ ๋์ด๋น๊ธฐ๋ ๊ฒ์ ๋๋ค. ์ด ๋จ๊ณ๋ ํํ ์นด๋ฉ๋ผ ๋ชจ๋ธ(pinhole camera model) ๋ง ์ฐ๋ฏ๋ก ๋น ๋ฅด์ง๋ง, ์ ๋ฆฌ ๊ตด์ ์ ๋ฌด์ํฉ๋๋ค.
๋จ๊ณ 2 โ ์ ๋ฆฌ ๊ตด์ ์ ํฌํจํ ํฌ์ฆ ์ ๋ฐํ
์ฌ๊ธฐ๊ฐ ์ด ๋ ผ๋ฌธ์ ๋ฐฑ๋ฏธ์ ๋๋ค. ๋จ์ ํํ ํฌ์์ ์ ๋ฆฌ ๊ตด์ ์ ํํํ์ง ๋ชปํด ๋ง์ปค๊ฐ ์ด๊ธ๋ฉ๋๋ค(๋ ผ๋ฌธ Fig. 2 ์ผ์ชฝ). ๊ทธ๋์ Mitsuba์ ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ง์ผ๋ก ๋ง์ปค ์์น๋ฅผ ๋ฌผ๋ฆฌ์ ๋ ์ด ํธ๋ ์ด์ฑ์ ํตํด ๊ณ์ฐํฉ๋๋ค. ์์ค์ ๋ง์ปค ์์ญ์๋ง ์ง์คํ๋ ๋ง์คํฌ๋ MSE(๋ ผ๋ฌธ ์ 3)์ ๋๋ค.
L_{\text{stage2}} = \sum_{i=1}^{N} M_i \cdot (I_{\text{rendered},i} - I_{\text{ref},i})^2
- M_i: ํฝ์ i์ ์ด์ง ๋ง์คํฌ ๊ฐ. ์ํ ๊ฒ์ถ๋ก ๋ง๋ค์ด ๋ง์ปค ์์ญ๋ง ๊ธฐ์ธ๊ธฐ์ ๊ธฐ์ฌํ๊ฒ ํจ.
- I_{\text{rendered},i}: ์ ๋ฆฌ ๊ตด์ ํจ๊ณผ๊ฐ ๋ฐ์๋ ๋ ๋ ํฝ์ ๊ฐ.
์ง๊ด: ๋จ๊ณ 1๊ณผ ๊ฐ์ โ๋ง์ปค๋ฅผ ๋ง์ถ๋คโ๋ ๋ชฉํ๋ ๊ฐ์ง๋ง, ์ด์ ๋ ๋จ์ ํฌ์์ด ์๋๋ผ ์ ๋ฆฌ๋ฅผ ํต๊ณผํด ๊ตด์ ๋ ๋น ๊ฒฝ๋ก๋ก ๋ง์ปค๊ฐ ์ด๋์ ๋ณด์ด๋์ง๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์์น๋ฟ ์๋๋ผ ๊ตด์ ๋ก ์๊ธฐ๋ ํฌ๊ธฐ(scale) ์๊ณก๊น์ง ์ ๊ฑฐ๋์ด, ์ค์ ์ผ์์ ๊ฑฐ์ ์๋ฒฝํ ์ ๋ ฌ๋ฉ๋๋ค(๋ ผ๋ฌธ Fig. 2 ์ค๋ฅธ์ชฝ: ํฐ์=์ ํํ ์ผ์น, ์์=๋๋ฝ๋ ๋ง์ปค, ๋ง์ ํ=์ด๊ณผ ๋ง์ปค).
flowchart LR
subgraph Stage1["Stage 1 (pinhole)"]
P1[Marker 3D pos] -->|simple projection| P2[2D markers]
P2 -.misaligned.-> P3[reference markers]
end
subgraph Stage2["Stage 2 (path tracing)"]
Q1[Marker 3D pos] -->|ray through glass<br/>refraction| Q2[2D markers]
Q2 -->|aligned + scaled| Q3[reference markers]
end
Stage1 ==> Stage2
๋จ๊ณ 3 โ ์กฐ๋ช ๊ณผ ์ฌ์ง์ ๊ฒฐํฉ ์ต์ ํ
๋ค์์ ์กฐ๋ช ์ ๋๋ค. ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ด ๋ฐฐ๊ฒฝ ํ๊ฒฝ๋งต์ผ๋ก ์กฐ๋ช ์ ๊ทผ์ฌํ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ํํ ๊ด์์ด ํ์ํฉ๋๋ค. ์ค์ ์ผ์ ๊ตฌ์กฐ์ ๋ง์ถฐ ์ผ์ ๋๋ ์ 3๊ฐ์ ์ง์ฌ๊ฐํ ๋ฉด๊ด์(area light) ์ ๋ฐฐ์นํ๊ณ , ๊ท ์ผํ ์์ ๋ฉ์๋ฅผ ๋ก๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ฅ์ ์ฐธ์กฐ ์ด๋ฏธ์ง๋ฅผ ์ฐ๋ ์ด์ค ์ฐธ์กฐ(dual-reference) ์ ๋ต์ ์๋๋ค.
- ํ ์ค์ฒ ์ฐธ์กฐ ์ด๋ฏธ์ง(๋ณํ ์์): ์ธ ๊ด์์ ์งํฉ์ ์กฐ๋ช ํจ๊ณผ๋ฅผ ๊ณ ๋ คํด ๋ฉ์ ๋ณธ์ฐ์ ์(์ฌ์ง)์ ๋ณต์.
- ์ญ์(cross) ํจํด ๋ณํ ์ด๋ฏธ์ง: ์ธ ๋ฐฉํฅ์ ์ธก๋ฉด ์กฐ๋ช ํน์ฑ์ ๋์์ ๋๋ฌ๋ด ๊ด์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ํํ ์ถ์ . ์ญ์ ํจํด์ ๊ณ ๋ฅธ ์ด์ ๋ ์์ ํ์ยท๋ณํ์ ์ผ๋ฐํ๋๋ ์กฐ๋ช ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ ๋๋ฌธ.
๋์์ ์ต์ ํํ๋ ํ๋ผ๋ฏธํฐ: ์ธ ๊ด์ ๊ฐ๊ฐ์ ์๊ณผ ๊ฐ๋, ๋ฉ์์ ํ์ฐ ๋ฐ์ฌ์จ(diffuse reflectance, ์).
์ ์ฒด ์์ค์ ๋ ์ฐธ์กฐ์ ๊ฐ์คํฉ(๋ ผ๋ฌธ ์ 4)์ ๋๋ค.
L_{\text{total}} = \alpha \cdot L_{\text{light}} + \beta \cdot L_{\text{mesh}}
๊ฐ์ค์น๋ ๋๋ต \alpha = 0.3,\ \beta = 0.7. ๊ฐ ํญ์(์ 5, 6):
L_{\text{light}} = \frac{1}{N}\sum_{i=1}^{N} W_i \cdot \big(T(I_{\text{rendered},i}) - T(I_{\text{ref-light},i})\big)^2
L_{\text{mesh}} = \frac{1}{N}\sum_{i=1}^{N} \big(T(I_{\text{rendered},i}) - T(I_{\text{ref-mesh},i})\big)^2
์ฌ๊ธฐ์ T(x) = x/(x+1.0) ๋ ํค ๋งคํ(tone mapping) ์ฐ์ฐ์์ ๋๋ค. ์ง๊ด์ ์ผ๋ก๋ ๋ฐ์ ์์ญ์ ๊ฐ์ ์์ถํด(HDRโLDR ๋น์ทํ ํจ๊ณผ) ๊ฐํ ํ์ด๋ผ์ดํธ๊ฐ ์์ค์ ์ง๋ฐฐํ์ง ์๊ฒ ํฉ๋๋ค. W_i ๋ ์ฌ๊ตฌ์ฑ ์ค์ฐจ๊ฐ ํฐ ์์ญ๊ณผ ๊ฐํ ์กฐ๋ช ์์ญ์ ๊ฐ์กฐํ๋ ์ ์ํ ๊ฐ์ค์น ๋งต์ ๋๋ค.
๋จ๊ณ 4 โ ๋ง์ปค ํ ์ค์ฒ ์ต์ ํ
ํฌ์ฆยท๋ฉ์ ์ยท์กฐ๋ช ์ด ์กํ๋ฉด, ๋ง์ง๋ง์ผ๋ก ๋ง์ปค ํ ์ค์ฒ ์์ฒด๋ฅผ ๋ค๋ฌ์ต๋๋ค. ์์ค์ ๋ง์ปค ํฝ์ ์๋ง ์ ์ฉ๋๋ ์ ๊ทํ๋ MSE(๋ ผ๋ฌธ ์ 7)์ ๋๋ค.
L_{\text{marker}} = \frac{1}{N_{\text{markers}}} \sum_{i \in M} (I_{\text{rendered},i} - I_{\text{ref},i})^2
M ์ ๋ง์ปค ์์ญ ํฝ์ ์งํฉ, N_{\text{markers}} ๋ ๋ง์ปค ํฝ์ ์ด ๊ฐ์. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ง์ปค๊ฐ ์ ํํ ๋ฐํ ํ ์ค์ฒ๊ฐ ์ป์ด์ง๋๋ค.
๋ฏธ๋ถ ๊ฐ๋ฅ์ฑ์ด ์ฌ๋ ์ญ๋ฌธ์ : ๋จ์ผ ์ด๋ฏธ์ง์์ ๋ฉ์ ๋ณต์
๋ฏธ๋ถ ๊ฐ๋ฅ ํ์ดํ๋ผ์ธ์ ๋ ๋ค๋ฅธ ๋งค๋ ฅ์ ์ญ๋ ๋๋ง(inverse rendering) ์ ๋๋ค. ๋ณด์ ์ด ๋๋ ๋ ๋๋ฌ๊ฐ ์์ผ๋ฉด, โ์๋ ค์ง ๋ฉ์ โ RGBโ๊ฐ ์๋๋ผ ๊ฑฐ๊พธ๋ก โ๊ด์ธก๋ RGB โ ๋ฉ์ ์ ์ ์์นโ๋ฅผ ํ ์ ์์ต๋๋ค(๋ ผ๋ฌธ ์ 8).
V^* = \arg\min_{V} \; L\big(I_{\text{render}}(V),\, I_{\text{real}}\big)
V ๋ ๋ฉ์ ์ ์ ์์น, I_{\text{render}}(V) ๋ ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ฌ์ ์ถ๋ ฅ, I_{\text{real}} ์ ์ค์ ์ด๊ฐ ์ด๋ฏธ์ง. ๊ธฐ์ธ๊ธฐ๊ฐ ๊ด ์์กยท๊ตด์ ยทํ๋ฉด ์ํธ์์ฉ ์ ์ฒด๋ฅผ ๊ฑฐ๊พธ๋ก ํ๋ฌ ์ ์ ์ ๊ฐฑ์ ํฉ๋๋ค. ์ฆ ๋จ ํ ์ฅ์ ์ด๊ฐ ์ด๋ฏธ์ง์์ ๋ณํ๋ 3D ํ์์ ๋ณต์ํ๋, ์ด๊ฐ ๊ธฐ๋ฐ ํ์ ์ธ์ยท๋งค๋ํฐ๋ ์ด์ ์ ์ ์ฉํ ๋ฅ๋ ฅ์ ๋๋ค.
์๋ ๋ฌธ์ ์ NOCS ๊ธฐ๋ฐ Pix2Pix
๋ฌผ๋ฆฌ ์ ํ๋์ ๋๊ฐ๋ ์ฐ์ฐ ๋น์ฉ์ ๋๋ค. ๊ตด์ ๋งค์ง์ ํต๊ณผํ๋ ๋ฏธ๋ถ ๊ฐ๋ฅ ๊ฒฝ๋ก ์ถ์ ์ ๋์คํฐํ๋ ํ์ต ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ณด๋ค ํจ์ฌ ๋๋ฆฝ๋๋ค. ๊ทธ๋์ ๋ณด์ ๋ ๊ณ ์ถฉ์ค๋ ์๋ฎฌ๋ ์ด์ ์ถ๋ ฅ์ ๊ต์ฌ ๋ฐ์ดํฐ(proxy for real data) ๋ก ์ผ์, ๋น ๋ฅธ Pix2Pix ์ด๋ฏธ์ง ๋ณํ ๋ชจ๋ธ์ ํ์ตํฉ๋๋ค.
ํต์ฌ ์ ํ์ ์ ๋ ฅ ํํ์ ๋๋ค. ํํ ๊น์ด ๋งต(depth map) ๋์ NOCS(Normalized Object Coordinate Space) ๋งต์ ์ ๋ ฅ์ผ๋ก ์๋๋ค.
- ๊น์ด ๋งต์ ํ๊ณ: ์ ์ด ๊ธฐํ(์์ง ์ ๋ณด)๋ง ๋ด๊ณ , ์ ๋จยทํ์ ์ผ๋ก ์ธํ ๋ง์ปค ๋ณ์ ์ ๋ณด๋ฅผ ๋ด์ง ๋ชปํจ. 6D ํฌ์ฆ(๋ณ์ง+ํ์ ) ํํ ๋ถ๊ฐ.
- NOCS์ ๊ฐ์ : ํฝ์ ๋ณ ๋ฌผ์ฒด ๊ธฐํ์ ํฌ์ฆ๋ฅผ ์ธ์ฝ๋ฉ. FEM ๋ฉ์ ๋ณํ์์ ์ง์ ๋ ๋๋ง๋์ด ๋ณ์งยทํ์ ๋ณํ์ ์๋ฌต์ ์ผ๋ก ๋ด์๋.
์ ํ ์ด์ โ ํ์ฐ ๋ชจ๋ธ(diffusion)๋ ์๋๋์์ง๋ง ์ถ๋ก ์ด ๋๋ฌด ๋๋ฆฌ๊ณ , CycleGAN(๋น์ง์ง์ ๋ฐ์ดํฐ)๊ณผ ๋ฌ๋ฆฌ ์ฌ๊ธฐ์๋ ๊ณ ์ถฉ์ค๋ ์๋ฎฌ์ ์ค๋ฐ์ดํฐ์ ์ง์ ๋์ฉ์ผ๋ก ์จ์ ์๋ฒฝํ ํฝ์ ์ ๋ ฌ(paired) ์ ์ป์ผ๋ฏ๋ก ๋จ์ํ Pix2Pix๋ก ์ถฉ๋ถํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋น ์๋ฐฑ ํ๋ ์์ ์ถ๋ก ์๋๋ฅผ ํ๋ณดํฉ๋๋ค.
flowchart LR
A[FEM deformation<br/>TacFlex] --> B[NOCS map]
A --> C[Depth map]
B --> D[Pix2Pix]
C --> D
D --> E[Photorealistic<br/>RGB tactile image]
F[High-fidelity<br/>differentiable render] -.supervision.-> D
style B fill:#c8e6c9
style C fill:#ffcdd2
์คํ
๋ฐ์ดํฐ์ ์์ฑ
FEM ์๋ฎฌ๋ ์ดํฐ TacFlex๋ฅผ ํ์ฅํด RGBยท๊น์ดยท๋ฉ์ยทNOCS๋ฅผ ํจ๊ป ๋ ๋๋งํฉ๋๋ค. ์ค์ ์คํ์ ์ด ๊ฒ๊ณผ ๋์ผํ 10์ข ์ ์ธ๋ดํฐ(indenter, ๋๋ฆ ๋๊ตฌ) ๋ฅผ ์ฌ์ฉํ๊ณ , ์ธ๋ดํฐ๋ง๋ค 50ํ ์๋ฎฌ๋ ์ด์ ์๋๋ฅผ ๋ฌด์์ ์ด๊ธฐ ์์นยทํ์ ์ผ๋ก ์ํํฉ๋๋ค. ๊ฐ ์ํ์ค๋ โ ์์ง ์์ถ, โก ๋ค ๋ฐฉํฅ ๋ณ์ง(translation), โข ํ์ (rotation) ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ฐ ๋จ๊ณ์ ์ต์ข ์ํ๋ฅผ ๋ค์ ๋จ๊ณ์ ์ด๊ธฐ ์กฐ๊ฑด์ผ๋ก ์ฐ๋ ์๋ฐฉํฅ ๊ฒฝ๋ก๋ง ๋ณด์กดํ๋ ๋ฐฉ์์ผ๋ก FEM ์ค์ฐจ ๋์ ์ ๋ง๊ณ ์์ฑ์ ๊ฐ์ํฉ๋๋ค. ์ต์ข ๋ฐ์ดํฐ์ ์ 5๋ง 6์ฒ ๊ฐ ์ด์์ ์ํ(RGB, ๊น์ด, ํ๋ฉด ๋ฉ์, NOCS ํฌํจ)์ ๋๋ค.
์ค์ ๊ฒ์ฆ ํ๊ฒฝ
- ์ผ์: GelSight Mini.
- ๋ก๋ด: ๋ณด์ ๋ Franka Panda ํ์ ์ฅ์ฐฉ.
- ํ๋กํ ์ฝ: (a) ์ผ์ ํ๋ฉด์ ์ธ๋ดํ , (b) ๋ค ๋ฐฉํฅ์ผ๋ก 2mm ๋ณ์ง, (c) ยฑ5ยฐ ํ์ ์ผ๋ก ์ ๋จ ์๋ต ํฌ์ฐฉ. 10์ข ์ธ๋ดํฐ๋ก ๋ค์ํ ์ ์ด ๊ธฐํ๋ฅผ ํ๊ฐ.
ํนํ ๊ธฐ์กด ๋ฒค์น๋งํฌ๊ฐ ์ฃผ๋ก ๋ค๋ฃฌ ์์ง ์์ (2mm ๊น์ด)ยท๋ณ์ง๋ฟ ์๋๋ผ ํ์ ๋ณํ๊น์ง ํฌํจํ ์ ์ด ์ฐจ๋ณ์ ์ ๋๋ค. ํ๊ฐ ์งํ๋ ์ด๋ฏธ์ง ๊ธฐ๋ฐ(MSE, PSNR, SSIM, SMAPE)๊ณผ ๊ธฐํ ์ธ์ง ์ธก์ (๋ง์ปค ์์น ์ ํ๋, ๋ณํ์ฅ ์ผ๊ด์ฑ)์ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
์ ๋ ๊ฒฐ๊ณผ: NOCS vs Depth ์ ๋ ฅ
Pix2Pix ๋ชจ๋ธ์ ์ ๋ ฅ ํํ ๋น๊ต(๊ฒ์ฆ์ 1,000์ฅ, ๋ ผ๋ฌธ Table I):
| ์ ๋ ฅ (ID) | SSIM โ | PSNR (dB) โ | MSE โ |
|---|---|---|---|
| Depth | 0.9543 | 38.45 | 9.36 |
| NOCS | 0.9609 | 38.74 | 8.69 |
ํด์: NOCS ์ ๋ ฅ์ด ์ธ ์งํ ๋ชจ๋์์ ๊น์ด ์ ๋ ฅ์ ๋ฅ๊ฐํฉ๋๋ค. ์ฐจ์ด๊ฐ ๊ฑฐ๋ํ์ง๋ ์์ง๋ง(SSIM ์ฝ +0.007, MSE ์ฝ 7% ๊ฐ์), ๋ฐฉํฅ์ด ์ผ๊ด๋๋ฉฐ โ ๋ ์ค์ํ ๊ฒ์ NOCS๊ฐ ๊น์ด๋ก๋ ํํ ๋ถ๊ฐ๋ฅํ ์ ๋จยทํ์ ๋ณํ์ ๋ด๋๋ค๋ ์ง์ ์ฐ์์ ๋๋ค. ์ฆ ์ซ์๊ฐ ๋น์ทํ ์์ญ์์๋ NOCS๋ ๊น์ด๊ฐ ์์ ๋ชป ๋ง๋๋ ์ ๋ณด๋ฅผ ๋ณด์กดํฉ๋๋ค.
์ ์ฑ ๊ฒฐ๊ณผ
- Fig. 2 (ํฌ์ฆ + ์ ๋ฆฌ): ์ ๋ฆฌ ๋ชจ๋ธ๋ง ์์ด๋ ๋ง์ปค ์ ๋ ฌ์ด ๋์ ๋๊ฒ ์ด๊ธ๋๊ณ , ์ ๋ฆฌ ๊ตด์ ์ ๋ฃ์ผ๋ฉด ์์นยทํฌ๊ธฐ๊ฐ ์ ํํ ์ ๋ ฌ๋จ. ์ ์ฝ๋ฉ(ํฐ=์ผ์น, ์์=๋๋ฝ, ๋ง์ ํ=์ด๊ณผ)์ผ๋ก ์ ๋ ฌ ํ์ง์ ์๊ฐํ.
- Fig. 3 / Fig. 6 (Pix2Pix): NOCSโRGB, DepthโRGB ๋ณํ ์ถ๋ ฅ์ ์ ๋ ฅยท์์ฑยทGT ์ผ์ค์์ผ๋ก ๋น๊ต. NOCS ๊ฒฝ๋ก๊ฐ ๋ ๋์ ๋ณํ ์ ๋ณด๋ฅผ ๋ณด์กด.
- ์ ๋ฆฌ ํจ๊ณผ ๊ฒ์ฆ 3์งํ: โ ๋ง์ปค ์ ๋ ฌ ์ ๋ฐ๋, โก ์๋ฎฌ-์ค์ ๋ง์ปค ํฌ๊ธฐ ์ผ๊ด์ฑ, โข ํ ์ค์ฒ ๋ฉ์ ์ ๋ง์ปค ํจํด ์ธก์ . ์ ์๋ค์ ์ค์ ์ผ์์ โ์๋ฒฝํ ๋งค์นญโ๊ณผ ํฌ๊ธฐ ์ผ๊ด์ฑ์ ๋ฌ์ฑํ๋ค๊ณ ๋ณด๊ณ ํฉ๋๋ค.
์๋ฏธ
์ด ์คํ๋ค์ด ๋งํ๋ ๋ฐ๋ฅผ ํ ์ค๋ก ์์ฝํ๋ฉด: ์ ๋ฆฌ ๊ตด์ ์ ๋ฌผ๋ฆฌ ๋ชจ๋ธ ์์ ๋ฃ๊ณ ํฌ์ฆยท์กฐ๋ช ์ ์๋ ์ต์ ํํ๋ฉด, ์๋ ๋ณด์ ์์ด๋ ๋ง์ปค ์์ค์ ์ ๋ฐ ์ ๋ ฌ๊ณผ ํ์ ยท์ ๋จ์ ํฌํจํ ๋ค์ถ(multi-axis) ๋ณํ ์ฌํ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ NOCS+Pix2Pix๋ก ๊ทธ ๊ณ ์ถฉ์ค๋๋ฅผ ์ค์๊ฐ ์๋๋ก โ์์ถโํด ๋ค์ด์คํธ๋ฆผ ํ์ต์ ์ธ ์ ์์ต๋๋ค.
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
- ์๋ํ์ ์ต์ ๋ฐ์ดํฐ: ๋จ 3์ฅ์ ์ค์ ์ด๋ฏธ์ง๋ก ์นด๋ฉ๋ผ ํฌ์ฆยท์กฐ๋ช ยทํ ์ค์ฒ๋ฅผ ์๋ ๋ณด์ . ์ ์กฐ ๊ณต์ฐจ๋ก ๊ฐ์ฒด๋ง๋ค ๋ค๋ฅธ ํฌ์ฆ ๋ฌธ์ ๋ฅผ ์ ๋ฉด์ผ๋ก ํด๊ฒฐํ ์ ์ด ์ค๋ฌด์ ์ผ๋ก ๋งค์ฐ ์ ์ฉํฉ๋๋ค. โํฌ์ฆ๋ฅผ ์๋ค๊ณ ๊ฐ์ โํ๋ ๊ดํ์ ๊นฌ ๊ฒ์ด ํต์ฌ.
- ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ์ผ๊ด์ฑ: ์ ๋ฆฌ ๊ตด์ ์ ์ฌํ Snell ๋ณด์ ์ผ๋ก ๋์งํ์ง ์๊ณ ๊ด ์์ก ๋ชจ๋ธ ์์ ํตํฉ. ์์น๋ฟ ์๋๋ผ ํฌ๊ธฐ ์๊ณก๊น์ง ์์ฐ์ค๋ฝ๊ฒ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ๋ฏธ๋ถ ๊ฐ๋ฅ์ฑ์ ๋ถ๊ฐ ๊ฐ์น: ๊ฐ์ ๋ ๋๋ฌ๋ก ์ญ๋ฌธ์ (๋จ์ผ ์ด๋ฏธ์งโ๋ฉ์ ๋ณต์)๋ฅผ ํ ์ ์๋ค๋ ์ ์ ๋จ์ํ ๋ฐ์ดํฐ ์์ฑ๊ธฐ๋ฅผ ๋์ด์๋ ํ์ฅ์ฑ์ ๋๋ค.
- ์๋-์ถฉ์ค๋์ ์๋ฆฌํ ๋ถ๋ฆฌ: ๋๋ฆฐ ๊ฒฝ๋ก ์ถ์ ์ ์คํ๋ผ์ธ ๊ณ ํ์ง ๋ฐ์ดํฐ ์์ฑ์๋ง ์ฐ๊ณ , ์ค์๊ฐ ์ถ๋ก ์ Pix2Pix์ ์์ํ๋ 2๋จ ์ ๋ต์ด ์ค์ฉ์ ์ ๋๋ค.
- NOCS ํํ์ ํต์ฐฐ: ๊น์ด๊ฐ ๋ชป ๋ด๋ ์ ๋จยทํ์ ์ ์ธ์ฝ๋ฉํ๋ NOCS๋ฅผ ์ด๊ฐ ์ ๋ ฅ์ผ๋ก ๋์ ํ ๊ฒ์ ์๋ฆฌํ๊ณ , ํฅํ ๋ค๋ฅธ ์ด๊ฐ ํ์ต์๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
์ฝ์ ๊ณผ ํ๊ณ
- ์ ๋ ์ฐ์์ ํญ์ด ์์: NOCS vs Depth ํ๋ ๋ฐฉํฅ์ฑ์ ๋ง์ง๋ง ์ ๋ ๊ฒฉ์ฐจ๊ฐ ์์ต๋๋ค(SSIM 0.9609 vs 0.9543). ๋ํ ๋ณธ๋ฌธ์ด โ๊ธฐ์กด ๋ฐฉ๋ฒ ๋๋น ๋ชจ๋ ์งํ์์ ๊ฐ์ โ์ ์ฃผ์ฅํ์ง๋ง, ์ธ๋ถ ๋ฒ ์ด์ค๋ผ์ธ๊ณผ์ ์ง์ ๋น๊ต ์์น ํ๊ฐ ์ ์๋์ง ์์ ๊ทธ SOTA ์ฃผ์ฅ์ ๊ฒ์ฆํ๊ธฐ ์ด๋ ต์ต๋๋ค. (์ถ์ธก) ์ํฌ์/์งง์ ๋ ผ๋ฌธ ํ์์ด๋ผ ํ๊ฐ ์ถ์ฝ๋์์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
- ์ฐ์ฐ ๋น์ฉ: ๊ตด์ ๋งค์ง์ ํตํ ๋ฏธ๋ถ ๊ฐ๋ฅ ๊ฒฝ๋ก ์ถ์ ์ ๋ฌด๊ฒ์ต๋๋ค. ์ ์๋ ์ด๋ฅผ ํ๊ณ๋ก ์ธ์ ํ๋ฉฐ Pix2Pix๋ก ์ฐํํ์ง๋ง, ์ด๋ ์คํ๋ผ์ธ ๋ฐ์ดํฐ ์์ฑ์ ํ์ ๋ ํด๋ฒ์ด๋ฉฐ ๋ณด์ ๋จ๊ณ ์์ฒด์ ๋น์ฉ์ ๋จ์ต๋๋ค.
- ๋ง์ปค ์์กด์ฑ: ์ ๋ ฌ ์์ค(์ 2, 3, 7)์ด ๋ง์ปค ์์ญ์ ๊ฐํ๊ฒ ์์กดํฉ๋๋ค. ์ ์ ์ค์ค๋ก ํ๊ณ ์ ์์ ์ธ์ ํ๋ฏ, ์ฃ์ง ๊ฒ์ถยท์น๋ฐํ ์ ์ด ํ์ ์ธ์์ฒ๋ผ ๋ง์ปค๊ฐ ํฌ์ํด ์ ๋ณด๊ฐ ๋ถ์กฑํ ์์ ์๋ ๋ถ์ ํฉํ ์ ์์ต๋๋ค.
- ์ผ๋ฐํ ๊ฒ์ฆ ๋ถ์กฑ: GelSight Mini ๋จ์ผ ์ผ์์ ๋ํด์๋ง ๊ฒ์ฆ๋์์ต๋๋ค. ๋ค๋ฅธ ๋น์ ์ด๊ฐ ์ผ์(DIGIT, GelSlim ๋ฑ)๋ก์ ์ผ๋ฐํ๋ ํฅํ ๊ณผ์ ๋ก ๋จ์ต๋๋ค.
- ์ฌํ์ฑ ์ ๋ณด: ์ตํฐ๋ง์ด์ , ํ์ต๋ฅ , ๋ฐ๋ณต ํ์, ๋จ๊ณ๋ณ ์๋ ด ๊ธฐ์ค ๋ฑ ๊ตฌ์ฒด์ ํ์ดํผํ๋ผ๋ฏธํฐ๊ฐ ๋ณธ๋ฌธ์ ์ถฉ๋ถํ ๋๋ฌ๋์ง ์์ต๋๋ค(๊ฐ์ค์น \alpha,\beta ์ ๋๋ง ๋ช ์).
๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
| ์ ๊ทผ | ๋ํ ์ฐ๊ตฌ | ๋ ๋๋ง | ๊ตด์ ์ฒ๋ฆฌ | ํฌ์ฆ ๊ฐ์ | ๋ฏธ๋ถ ๊ฐ๋ฅ |
|---|---|---|---|---|---|
| ๊ฐ์ฒด+๋์คํฐํ | TACTO, Taxim, Tactile Gym | rasterization + ์๋ LED | ๋ฌด์/๋จ์ | ์๋ ค์ง | ์๋์ค |
| ๋ ์ด ํธ๋ ์ด์ฑ | Agarwal et al. (ICRAโ21) | ๊ทธ๋ฆผ์์ฉ ray tracing | ๋ถ๋ถ | ์๋ ค์ง | ์๋์ค |
| FEM + Snell ๋ณด์ | TacFlex | ๋ง์ปค ํ ์ค์ฒ + ๋ฐฐ๊ฒฝ | ์ฌํ Snell ๋ณด์ | ์๋ ค์ง | ์๋์ค |
| MPM ๋ฏธ๋ถ ๊ฐ๋ฅ | DiffTactile | ๋ฌผ๋ฆฌ ๋ฏธ๋ถ | ํด๋น ์์ | - | ๋ง์ปค ์์น๋ง |
| ๋ณธ ๋ ผ๋ฌธ | Duret et al. (ICRAโ26) | ๋ฏธ๋ถ ๊ฐ๋ฅ ๊ฒฝ๋ก ์ถ์ (Mitsuba 3) | ๊ด ์์ก ๋ด์ฅ | ์ต์ ํ | ์ ์ฒด RGB ์ด๋ฏธ์ง |
์์ง: DiffTactile ๋ฑ ๊ธฐ์กด ๋ฏธ๋ถ ๊ฐ๋ฅ ์ด๊ฐ ์ฐ๊ตฌ๊ฐ ๋ง์ปค ๋ณ์๊น์ง๋ง ๋ฏธ๋ถํ๋ค๋ฉด, ์ด ๋ ผ๋ฌธ์ ์ต์ข RGB ์ด๋ฏธ์ง ์์ฑ ์ ์ฒด๋ฅผ ๋ฏธ๋ถ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ์ต์ด ์ฌ๋ก๋ผ๋ ์ ์ด ์ฐจ๋ณ์ ์ ๋๋ค. ๋ TacFlex์ ์๋ ์ ๋ฆฌ ๋ณด์ ์ ๋ฌผ๋ฆฌ ๋ชจ๋ธ ํตํฉ์ผ๋ก ๋์ฒดํ๊ณ , ์๋ ค์ก๋ค๊ณ ๊ฐ์ ํ๋ ์นด๋ฉ๋ผ ํฌ์ฆ๋ฅผ ์ต์ ํ ๋์์ผ๋ก ๋์ด์ฌ๋ฆฐ ์ ์ด ์ง์ผ๋ณด์ ๋๋ค.
์์ฝ ๋ฐ ๊ฒฐ๋ก
์ด ๋ ผ๋ฌธ์ ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์์ sim-to-real ๊ฒฉ์ฐจ๋ฅผ ๋ฏธ๋ถ ๊ฐ๋ฅ ๊ฒฝ๋ก ์ถ์ (Mitsuba 3) ์ผ๋ก ์ ๋ฉด ๋ํํฉ๋๋ค. ํต์ฌ์ ๋จ 3์ฅ์ ์ค์ ์ด๋ฏธ์ง๋ก๋ถํฐ ์นด๋ฉ๋ผ ํฌ์ฆยท์กฐ๋ช ยทํ ์ค์ฒ๋ฅผ ๊ฒฝ์ฌํ๊ฐ์ผ๋ก ์๋ ๋ณด์ ํ๊ณ , ๊ทธ๋์ ๊ฐ์ฅ ๊ณจ์น ์ํ ๋ ์ ๋ฆฌ ๊ตด์ ์ ์ฌํ ๋ณด์ ์ด ์๋๋ผ ๋ฌผ๋ฆฌ ๊ด ์์ก ๋ชจ๋ธ ์์์ ์ฒ๋ฆฌํ๋ค๋ ์ ์ ๋๋ค.
ํ์ดํ๋ผ์ธ์ (1) ์ ๋ฆฌ ์๋ ํฌ์ฆ โ (2) ์ ๋ฆฌ ํฌํจ ํฌ์ฆ ์ ๋ฐํ โ (3) ์กฐ๋ช ยท์ฌ์ง ๊ฒฐํฉ โ (4) ๋ง์ปค ํ ์ค์ฒ์ ๋จ๊ณ์ ์ต์ ํ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ฐ์ ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ฌ๋ก ๋จ์ผ ์ด๋ฏธ์ง์์ ๋ฉ์๋ฅผ ๋ณต์ํ๋ ์ญ๋ฌธ์ ๊น์ง ํ๋๋ค. ๋ฌด๊ฑฐ์ด ๊ฒฝ๋ก ์ถ์ ์ ๋น์ฉ์ NOCS ๋งต ๊ธฐ๋ฐ Pix2Pix ๋ก ์ฐํํด ์ค์๊ฐ ์ถ๋ก ์ ์ป๊ณ , NOCS๊ฐ ๊น์ด๋ณด๋ค ์ ๋จยทํ์ ๋ณํ์ ์ ๋ด์ ๋ชจ๋ ์งํ์์ ์ฐ์๋ฅผ ๋ณด์์ต๋๋ค(SSIM 0.9609, PSNR 38.74dB, MSE 8.69). GelSight Mini + Franka Panda + 10์ข ์ธ๋ดํฐ, 5๋ง 6์ฒ์ฌ ์ํ๋ก ๊ฒ์ฆ๋์์ต๋๋ค.
๋ก๋ด๊ณตํ ์ค๋ฌด์์๊ฒ ์ฃผ๋ ๋ฉ์์ง๋ ๋ถ๋ช ํฉ๋๋ค. ์ผ์ ๊ฐ์ฒด๋ง๋ค ๋ค๋ฅธ ํฌ์ฆ๋ฅผ ์๋์ผ๋ก ๋ณด์ ํ๋๋ผ ์๊ฐ์ ์ฐ๋ ๋์ , ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ ๋๋ฌ์๊ฒ โ์ค์ ์ด๋ฏธ์ง์ ๋ง์ถฐ ์ค์ค๋ก ๋ณด์ ํ๋ผโ๊ณ ์ํฌ ์ ์๋ค. ์ด๋ ์ด๊ฐ ๋ฐ์ดํฐ ์์ฑ๊ณผ ์ด๊ฐ ๊ธฐ๋ฐ ํ์ ์ธ์ ๋ชจ๋์ ๊ฒฌ๊ณ ํ ํ ๋๊ฐ ๋ฉ๋๋ค.
๋จ์ ๊ณผ์ ๋ ๋ค๋ฅธ ์ด๊ฐ ์ผ์๋ก์ ์ผ๋ฐํ, ์ธ๋ถ ๋ฒ ์ด์ค๋ผ์ธ ๋๋น ์ ๋ ๋น๊ต์ ๋ณด๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ง์ปค์ ์์กดํ์ง ์๋ ๋ฐ์ง(dense) RGB ๊ธฐ์ธ๊ธฐ ๋ก์ ํ์ฅ(์ ์๋ค์ด DiffTactile ํตํฉ์ผ๋ก ์ ์ํ ๋ฐฉํฅ)์ ๋๋ค. ํฌ์ํ ๋ง์ปค๋ก๋ ๋ถ์กฑํ ์์ โ์ฃ์ง ๊ฒ์ถ, ํ์ ๋ณต์, ํฌ์ฆ ์ถ์ โ์์ ์ง๊ฐ๋ฅผ ๋ฐํํ๋ ค๋ฉด ์ด ํ์ฅ์ด ๊ด๊ฑด์ด ๋ ๊ฒ์ ๋๋ค.
ํ ์ค ์์ฝ: โ์ ๋ฆฌ ๊ตด์ ๊น์ง ๋ฏธ๋ถ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๋ฉด, ์ด๊ฐ ์๋ฎฌ๋ ์ดํฐ๋ ์ค์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ์ค์ค๋ก ๋ณด์ ํ ์ ์๋ค.โ
์๋ฌธ PDF๋ ๋ด ์ฐจ๋จ(์ ๊ทผ ์ ํ)์ผ๋ก ์ง์ ํ์ฑ์ด ๋งํ, OpenAlex๋ก ์์ง์ ๋ณด(์ ์: Guillaume Duret, Anna Samsonenko, Florence Zara, Jan Peters, Liming Chen / ICRA 2026 ์ํฌ์)๋ฅผ ํ์ธํ ๋ค HAL ์๋ฌธ(hal-05488623)์ ์ ์ฒด ๋ณธ๋ฌธ์ ํ๋ณดํด ์์ฑํ์ต๋๋ค. ํยท์์ยท์คํ ์์น๋ ๋ชจ๋ ์๋ฌธ ๋ณธ๋ฌธ์ ๊ทผ๊ฑฐํ๋ฉฐ, ๋ช ์๋์ง ์์ ๋ถ๋ถ์ โ(์ถ์ธก)โ์ผ๋ก ํ๊ธฐํ์ต๋๋ค.