flowchart LR
subgraph Input
V["Visual sequence v1..vn<br/>(RGB camera frames)"]
end
subgraph VTGen["VT-Gen (frozen at policy stage)"]
CE["Coarse encoder"]
CMA["Cross-modal attention"]
RE["Refine encoder + residual blocks"]
DEC["Hierarchical decoder"]
CE --> CMA --> RE --> DEC
end
subgraph VTCon["VT-Con (RL policy)"]
EV["Visual CNN encoder Ev"]
EC["Tactile CNN encoder Ec"]
MOCO["Momentum Contrast<br/>InfoNCE alignment"]
FUSE["Attention fusion"]
SAC["SAC policy"]
end
V --> CE
DEC -->|"generated contact depth c_gen"| EC
V --> EV
EV --> MOCO
EC --> MOCO
EV --> FUSE
EC --> FUSE
FUSE -->|"+ TCP coords"| SAC
SAC --> ACT["Action: push command"]
๐ViTacGen
๐ 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.
์๋ก
๋ก๋ด์ด ๋ฌผ์ฒด๋ฅผ โ๋ฏผ๋ค(pushing)โ๋ ํ์๋ ๋จ์ํด ๋ณด์ด์ง๋ง, ์ฌ์ค ๋งค์ฐ ๋ฏธ๋ฌํ ์์ ์ ๋๋ค. ์๋์ผ๋ก ๋ฌด๊ฑฐ์ด ์ฑ ์ ์ฑ ์ ์์์ ๋ฐ์ด ๋ณธ๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ฐ๋ฆฌ๋ ์ฑ ์ด ๋ฏธ๋๋ฌ์ง๊ธฐ ์์ํ๋ ์๊ฐ, ํ์ ํ๋ ค๋ ๊ธฐ๋ฏธ, ์ ์ด๋ฉด์ ๋ง์ฐฐ ๋ณํ๋ฅผ ๊ฑฐ์ ๋ฌด์์์ ์ผ๋ก ์๋์ ์ด๊ฐ์ผ๋ก ๊ฐ์งํ๊ณ ํ์ ์กฐ์ ํฉ๋๋ค. ๋ก๋ด ์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ์๋์ดํํฐ(end-effector)์ ๋ฌผ์ฒด ์ฌ์ด์ ์ ์ด๋ ฅ(contact force)๊ณผ ์ํธ์์ฉ ๋์ญํ์ ์์์ผ ๋ฌผ์ฒด๋ฅผ ์ํ๋ ์์น๋ก ์ ํํ ๋ฐ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ ์ด โ์ด๊ฐโ์ ๋ก๋ด์๊ฒ ์ด๋ป๊ฒ ์ค ๊ฒ์ธ๊ฐ์ ๋๋ค. GelSight, TacTip ๊ฐ์ ๊ณ ํด์๋ ๊ดํ์ ์ด๊ฐ ์ผ์๋ ํ๋ถํ ์ ์ด ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง๋ง, ํ์ค์ ์ธ ์ฅ๋ฒฝ์ด ๋ง์ต๋๋ค.
- ๋น์ฉ: ๊ณ ํด์๋ ์ด๊ฐ ์ผ์๋ ๋น์ธ๊ณ , ๋ชจ๋ ๋ก๋ด ์์ ์ฅ์ฐฉํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ๋ด๊ตฌ์ฑ: ํ์ฑ์ฒด(elastomer) ํ๋ฉด์ด ๋ง๋ชจ๋๊ฑฐ๋ ์ฐข์ด์ง๊ธฐ ์ฝ์ต๋๋ค.
- ๋ณด์ (calibration): ์ผ์๋ง๋ค, ์ฌ์ง์ด ๊ฐ์ ๋ชจ๋ธ์ ๊ฐ์ฒด๋ง๋ค ์ถ๋ ฅ ํน์ฑ์ด ๋ฌ๋ผ ์ผ๊ด์ฑ์ ๋ง์ถ๊ธฐ๊ฐ ๊น๋ค๋กญ์ต๋๋ค.
- ์ ์กฐ ํธ์ฐจ: ์์ฐ๋ ์ผ์ ๊ฐ ๋ณ๋์ด ์ ์ฑ (policy)์ ์ฌํ์ฑ์ ํด์นฉ๋๋ค.
๋ฐ๋๋ก ์นด๋ฉ๋ผ(๋น์ )๋ง ์ฐ๋ ์ ์ฑ ์ ์ด๋ฐ ํ๋์จ์ด ๋ฌธ์ ์์ ์์ ๋กญ์ง๋ง, ์ ์ด ์๊ฐ์ ์ฌ์ธํ ํ ๋ณํ๋ฅผ ์ง์ ๋ณด์ง ๋ชปํด ์ ๋ฐ๋๊ฐ ๋จ์ด์ง๋๋ค.
ViTacGen์ ์ถ๋ฐ์ ์ ์ฌ๋์ ๋ฅ๋ ฅ์์ ์๊ฐ์ ๋ฐ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์์ ๋ ๋ณด์ง ์์๋, ๋ฌผ์ฒด๊ฐ ๋๋ฆฌ๊ณ ๋ฏธ๋๋ฌ์ง๋ ๋ชจ์ต๋ง ๋ณด๊ณ ๋ ๋๋ต์ ์ธ ์ ์ด ์ํ๋ฅผ ์ถ๋ก ํ ์ ์์ต๋๋ค. ๋ง์น ์์๋ง ๋ด๋ โ์ ๊ฑด ๋ฏธ๋๋ฌ์ง๊ฒ ๋คโ๋ผ๊ณ ์ง๊ฐํ๋ ๊ฒ์ฒ๋ผ์. ์ ์๋ค์ ํต์ฌ ์ง๋ฌธ์ ์ด๊ฒ์ ๋๋ค.
โ๋น์ ์ ๋ ฅ๋ง์ผ๋ก ๊ฐ์ง ์ด๊ฐ ์ ํธ๋ฅผ ์์ฑ(generate) ํด์, ์ง์ง ์ด๊ฐ ์ผ์ ์์ด๋ ์ด๊ฐ ๊ธฐ๋ฐ ์ ์ฑ ์ ์ด์ ์ ๋๋ฆด ์ ์์๊น?โ
ViTacGen์ ์ด ์ง๋ฌธ์ โ๊ทธ๋ ๋คโ๋ผ๊ณ ๋ตํฉ๋๋ค. ๋น์ ์์ ์ํ์ค๋ก๋ถํฐ ์ ์ด ๊น์ด ์ด๋ฏธ์ง(contact depth image) ๋ผ๋ ํ์คํ๋ ์ด๊ฐ ํํ์ ํฉ์ฑํ๋ ์์ฑ ๋คํธ์ํฌ์, ์ด ์์ฑ๋ ์ด๊ฐ์ ๋น์ ๊ณผ ์ตํฉํด ํ์ตํ๋ ๊ฐํํ์ต(RL) ์ ์ฑ ์ ๊ฒฐํฉํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ฌผ๋ฆฌ ์ด๊ฐ ์ผ์๊ฐ ์ ํ ์๋ ๋น์ ์ ์ฉ ๋ก๋ด์ ์ ๋ก์ท(zero-shot)์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ๋ฉด์๋ ์ต๋ 86%์ ์ค์ธ๊ณ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํฉ๋๋ค.
์ด ๋ ผ๋ฌธ์ Kingโs College London๊ณผ University of Bristol ์ฐ๊ตฌ์ง(Zhiyuan Wu, Yijiong Lin, Yongqiang Zhao, Xuyang Zhang, Zhuo Chen, Nathan Lepora, Shan Luo)์ด ์์ฑํ์ผ๋ฉฐ, IEEE Robotics and Automation Letters(RA-L)์ ๊ฒ์ฌ๋์์ต๋๋ค.
๋ฐฉ๋ฒ
ViTacGen์ ํฌ๊ฒ ๋ ๋ชจ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- VT-Gen (Vision-to-Touch Generation Network): ๋น์ ์ํ์ค โ ์ ์ด ๊น์ด ์ด๋ฏธ์ง ์์ฑ
- VT-Con (RL Policy with Contrastive Learning): ๋น์ + ์์ฑ๋ ์ด๊ฐ์ ๋์กฐํ์ต์ผ๋ก ์ตํฉํ๋ ๊ฐํํ์ต ์ ์ฑ
์ ์ฒด ํ์ดํ๋ผ์ธ์ ์ง๊ด์ ์ผ๋ก ๊ทธ๋ฆฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์คํ๋ ์ด๊ฐ ํํ: ์ ์ด ๊น์ด ์ด๋ฏธ์ง
๋จผ์ ํต์ฌ ์ค๊ณ ๊ฒฐ์ ํ๋๋ฅผ ์ง์ด์ผ ํฉ๋๋ค. ์ ์๋ค์ ์์ฑ ๋ชฉํ๋ฅผ โ์์ ๊ดํ ์ด๊ฐ ์ด๋ฏธ์งโ๊ฐ ์๋๋ผ ์ ์ด ๊น์ด ์ด๋ฏธ์ง(contact depth image) ๋ก ์ก์์ต๋๋ค.
์ง๊ด์ ์ผ๋ก ๋น์ ํ๋ฉด, ์ ์ด ๊น์ด ์ด๋ฏธ์ง๋ ๋ฌผ์ฒด๊ฐ ์ผ์ ํ๋ฉด์ ์ผ๋ง๋ ๊น๊ฒ ๋๋ ๋์ง๋ฅผ ํฝ์ ๋ณ ๊น์ด๋ก ํํํ โ์งํ๋โ์ ๋๋ค. ๊ดํ ์ด๊ฐ ์ผ์๋ง๋ค ์กฐ๋ช , ๋ง์ปค ํจํด, ์๊ฐ์ด ์ ๊ฐ๊ฐ์ด์ง๋ง, ์ ์ด ๊น์ด๋ผ๋ ๊ธฐํํ์ ์์ ์ผ์ ์ข ๋ฅ์ ๋น๊ต์ ๋ถ๋ณ(invariant) ํฉ๋๋ค. ์ฆ, ํน์ ์ผ์ ๋ธ๋๋์ ์ธํ์ ์ข ์๋์ง ์๋ ํ์คํ๋ ํํ์ด๋ผ ๋น์ ์ผ๋ก๋ถํฐ ํ์ตยท์์ฑํ๊ธฐ์ ๋ ์์ ์ ์ ๋๋ค. ๋ค๋ง ์ด ์ ํ์ ๋ค์ ํ๊ณ(๊ตญ์ ํ ๋ถํฌ ๊ฐ์ ์ธ๋ฐํ ๋ฌผ๋ฆฌ๋์ ๋ชป ๋ด์)์๋ ์ง๊ฒฐ๋ฉ๋๋ค.
VT-Gen: ๋น์ ์์ ์ด๊ฐ์ ๊ทธ๋ ค๋ด๊ธฐ
VT-Gen์ ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ก, ๋น์ ํ๋ ์ ์ํ์ค \{\mathcal{V}\} = \{v_1, \dots, v_n\}์ ์ ๋ ฅ๋ฐ์ ์ ์ด ๊น์ด ์ด๋ฏธ์ง \boldsymbol{c}^{gen}์ ์์ฑํฉ๋๋ค.
Coarse-to-Refine ์ธ์ฝ๋ฉ. ์ฌ๋ฌ ํ๋ ์์ ์ฑ๋ ์ฐจ์์ผ๋ก ์ด์ด ๋ถ์ธ ๋ค,
- Coarse encoder \mathcal{E}_{coarse}๊ฐ ๊ฑฐ์น ํน์ง๋งต \boldsymbol{f}^v_{coarse}๋ฅผ ๋ฝ๊ณ ,
- Cross-modal attention์ด ํ์ต ๊ฐ๋ฅํ ์์น ์๋ฒ ๋ฉ \boldsymbol{p}๋ฅผ ์ฌ์ฉํด ํน์ง์ ์ ์ ํ๋ฉฐ,
- Refine encoder \mathcal{E}_{refine}์ ์์ฐจ ๋ธ๋ก(residual block)์ด ๊ณต๊ฐ ์ ๋ณด๋ฅผ ๋ณด์กดํ๋ฉด์ ๋ ๊น์ ํํ์ ๋ง๋ค๊ณ ,
- ๊ณ์ธต์ ๋์ฝ๋(transposed convolution)๊ฐ ์ต์ข ์ ์ด ๊น์ด ์์ธก์ ์ถ๋ ฅํฉ๋๋ค.
๊ฑฐ์น ๊ฒ ๊ทธ๋ฆฐ ๋ค ์ธ๋ฐํ๊ฒ ๋ค๋ฌ๋ ํ๊ฐ์ ์์ ์์์ ๋ฎ์์ต๋๋ค. ๋จผ์ ํฐ ์ค๊ณฝ์ ์ก๊ณ (coarse), ๊ทธ ์์ ๋ํ ์ผ์ ์ฑ์ ๋ฃ๋(refine) ๋ฐฉ์์ ๋๋ค.
ํฌ๋ก์ค ๋ชจ๋ฌ ์ดํ ์ ์ ๋ฉํฐํค๋(h=8) ํํ๋ก,
\boldsymbol{f}^v_{cm} = \boldsymbol{C}\big[\mathcal{A}^1_{cm}(\boldsymbol{f}^v_{coarse}, \boldsymbol{p}),\ \dots,\ \mathcal{A}^h_{cm}(\boldsymbol{f}^v_{coarse}, \boldsymbol{p})\big]\boldsymbol{w}_0
์ด๋ฉฐ, ๊ฐ ์ดํ ์ ์ ์ต์ํ ์ค์ผ์ผ๋ ๋ทํ๋ก๋ํธ ํํ์ ๋๋ค.
\mathcal{A}_{cm}(\boldsymbol{x}, \boldsymbol{y}) = \mathrm{softmax}\!\left(\frac{\boldsymbol{q}\boldsymbol{k}^\top}{\sqrt{d}}\right)\boldsymbol{v}
ํ์ต ์์ค: VGG ์ง๊ฐ ์์ค(perceptual loss). ํฝ์ ๋ณ L2๊ฐ ์๋๋ผ, ์ฌ์ ํ์ต๋ VGG์ ํน์ง ๊ณต๊ฐ์์ ๊ฑฐ๋ฆฌ๋ฅผ ์ฌ๋ ์ง๊ฐ ์์ค์ ์๋๋ค.
\mathcal{L}_{vgg} = \big\| \phi(\boldsymbol{c}^{gen}) - \phi(\boldsymbol{c}^{gt}) \big\|^2
์ฌ๊ธฐ์ \phi๋ VGG ์ธ์ฝ๋๊ฐ ์ถ์ถํ ํน์ง์ ๋๋ค. ์ง๊ด์ ์ผ๋ก, ํฝ์ ํ๋ํ๋๋ฅผ ๋๊ฐ์ด ๋ง์ถ๋ผ๊ณ ๊ฐ์ํ๊ธฐ๋ณด๋ค โ์ฌ๋ ๋์ ๋น์ทํ๊ฒ ๋ณด์ด๋ ๊ตฌ์กฐโ๋ฅผ ๋ง์ถ๋ผ๊ณ ์ ๋ํ๋ ๊ฒ์ ๋๋ค. ๋๋ถ์ ์ ์ด ํจํด์ ๊ตฌ์กฐ์ ํํ๊ฐ ๋ ์์ฐ์ค๋ฝ๊ฒ ์์ฑ๋ฉ๋๋ค.
๋ณด๊ณ ๋ ๋ชจ๋ธ ํฌ๊ธฐ๋ ์ฝ 146.74 MB, ์ถ๋ก ์๋๋ 305.90 FPS๋ก, ์ค์๊ฐ ์ ์ด ๋ฃจํ์ ์ถฉ๋ถํ ๋น ๋ฆ ๋๋ค.
VT-Con: ์์ฑ๋ ์ด๊ฐ์ ์ ์ฑ ์ ๋ น์ด๊ธฐ
VT-Gen์ด ๋ง๋ค์ด ์ค ์ด๊ฐ์ ์ด๋ป๊ฒ ๋น์ ๊ณผ ํฉ์ณ ์ ์ฑ ์ ํ์ตํ ๊น์? VT-Con์ ์ธ ๊ฐ์ง ์์ด๋์ด๋ฅผ ์๋๋ค.
(1) ๋ ๊ฐ๋ ํน์ง ์ถ์ถ. ๊ตฌ์กฐ๊ฐ ๋์ผํ ๋ CNN \mathcal{E}^v, \mathcal{E}^c๊ฐ ๊ฐ๊ฐ ๋น์ ์ํ์ค์ ์์ฑ๋ ์ด๊ฐ ์ํ์ค๋ฅผ ์ฒ๋ฆฌํด \boldsymbol{f}^v, \boldsymbol{f}^c๋ฅผ ๋ง๋ญ๋๋ค. ์๊ฐ ์ฐฝ์ 3ํ๋ ์(t-2 \to t)์ผ๋ก, ์์น๋ฟ ์๋๋ผ ์๋ยท๊ฐ์๋ ๊ฐ์ ๋์ญํ ๋จ์๋ฅผ ๋ด์ต๋๋ค. ํ ์ฅ์ ์ฌ์ง์ผ๋ก๋ ๋ฌผ์ฒด๊ฐ ๋ฏธ๋๋ฌ์ง๋์ง ์ ์ ์์ง๋ง, ์ฐ์๋ ์ธ ์ฅ์ด๋ฉด ์์ง์์ ํ๋ฆ์ด ๋ณด์ด๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
(2) ๋์กฐํ์ต์ผ๋ก ๋ ๋ชจ๋ฌ๋ฆฌํฐ ์ ๋ ฌ. ๋น์ ๊ณผ ์์ฑ ์ด๊ฐ์ด โ๊ฐ์ ์ ์ด ์ฌ๊ฑดโ์ ์๋ก ๋ค๋ฅธ ์์ ์ผ๋ก ๋ณธ ๊ฒ์ด๋ผ๋ ์ ์ ๋ชจ๋ธ์ ๊ฐ๋ฅด์นฉ๋๋ค. Momentum Contrast(MoCo) ๋ฐฉ์์ ๋ชจ๋ฉํ ์ธ์ฝ๋ \mathcal{M}^v, \mathcal{M}^c๋ฅผ ์ฒ์ฒํ ๊ฐฑ์ ํ๊ณ ,
\mathcal{M}^v \leftarrow \eta\,\mathcal{M}^v + (1-\eta)\,\mathcal{E}^v, \qquad \mathcal{M}^c \leftarrow \eta\,\mathcal{M}^c + (1-\eta)\,\mathcal{E}^c
InfoNCE ์์ค๋ก ์๋ฐฉํฅ ์ ๋ ฌ์ ์ํํฉ๋๋ค. ๋น์ โ์ด๊ฐ ๋ฐฉํฅ์
\mathcal{L}_{vt} = -\frac{1}{B}\sum_{i=1}^{B} \log \frac{\exp(\boldsymbol{f}^v_i \cdot \boldsymbol{m}^c_i / \tau)} {\sum_{j \ne i} \exp(\boldsymbol{f}^v_i \cdot \boldsymbol{m}^c_j / \tau)}
์ด๊ฐโ๋น์ ๋ฐฉํฅ์
\mathcal{L}_{tv} = -\frac{1}{B}\sum_{i=1}^{B} \log \frac{\exp(\boldsymbol{f}^c_i \cdot \boldsymbol{m}^v_i / \tau)} {\sum_{j \ne i} \exp(\boldsymbol{f}^c_i \cdot \boldsymbol{m}^v_j / \tau)}
์ด๋ฉฐ ์ด ๋์กฐ ์์ค์ \mathcal{L}_{con} = \mathcal{L}_{vt} + \mathcal{L}_{tv}์ ๋๋ค(B๋ ๋ฐฐ์น ํฌ๊ธฐ, ์จ๋ \tau = 0.1).
์ง๊ด์ ์ผ๋ก, ๊ฐ์ ์์ ์ (๋น์ , ์ด๊ฐ) ์์ ๊ฐ๊น๊ฒ ๋์ด๋น๊ธฐ๊ณ (\boldsymbol{f}_i \leftrightarrow \boldsymbol{m}_i), ์๋ก ๋ค๋ฅธ ์์ ์ ์์ ๋ฐ์ด๋ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ ๋ชจ๋ฌ๋ฆฌํฐ๊ฐ ๊ณต์ ํ๋ โ์ ์ด์ ๋ณธ์งโ์ ๋ด์ ์ ๋ ฌ๋ ํํ ๊ณต๊ฐ์ด ๋ง๋ค์ด์ ธ, ์์ฑ ์ด๊ฐ์ ๋ ธ์ด์ฆ์ ์ ์ฑ ์ด ๋ ํ๋ค๋ฆฝ๋๋ค.
(3) ์ดํ ์ ๊ธฐ๋ฐ ์ตํฉ. ์ ๋ ฌ๋ ๋ ํน์ง์ ๋ฉํฐํค๋ ์ดํ ์ ์ผ๋ก ํฉ์นฉ๋๋ค.
\boldsymbol{f}^{fuse} = \boldsymbol{C}\big[\mathcal{A}^1_{cm}(\boldsymbol{f}^v, \boldsymbol{f}^c),\ \dots,\ \mathcal{A}^h_{cm}(\boldsymbol{f}^v, \boldsymbol{f}^c)\big]\boldsymbol{w}_0
์ด ์ตํฉ ํน์ง์ ํํํํ TCP(tool center point) ์ขํ๋ฅผ ๋ํด ์ต์ข ๊ด์ธก ๋ฒกํฐ๋ฅผ ๋ง๋ญ๋๋ค.
(4) SAC๋ก ์ ์ฑ ํ์ต. ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ Soft Actor-Critic(SAC)์ ๋๋ค. ๋ชฉ์ ํจ์๋
J(\pi) = \mathbb{E}_{(s_t, a_t)\sim \rho_\pi}\left[\sum_t \gamma^t \big(R(s_t, a_t) + \alpha\,\mathcal{H}(\pi(\cdot|s_t))\big)\right]
์ด๊ณ , ๋ณด์์ ๋ฌผ์ฒด-๋ชฉํ ๊ฑฐ๋ฆฌ์ TCP-๋ฌผ์ฒด ๊ฑฐ๋ฆฌ๋ฅผ ํจ๊ป ์ค์ด๋ ์กฐ๋ฐ(dense) ๋ณด์ R(s_t, a_t) = -d_{goal} - d_{TCP}์ ๋๋ค. ์ํธ๋กํผ ํญ \alpha\,\mathcal{H}๊ฐ ํ์์ ์ฅ๋ คํด, ๋ฏธ๋ ๋์์ด ๋จ์กฐ๋กญ๊ฒ ํ ๋ฐฉํฅ์ผ๋ก ๋น ์ง์ง ์๊ฒ ํฉ๋๋ค.
ํ์ต ํ์ดํ๋ผ์ธ (์์ฌ์ฝ๋)
ํ์ต์ ๋ ๋จ๊ณ๋ก ๋ถ๋ฆฌ๋ฉ๋๋ค.
Stage 1: Train VT-Gen
collect 1000 paired (vision, tactile) trajectories from a pretrained RL expert
split 7:2:1 (train:val:test)
for epoch in 1..200:
minimize L_vgg with Adam (lr=1e-4, eps=1e-8), batch=64
Stage 2: Train VT-Con (freeze VT-Gen)
initialize SAC policy, replay buffer size = 20000
for step in 1..1_000_000:
v_seq <- last 3 camera frames
c_gen <- VT_Gen(v_seq) # generated contact depth
f_v, f_c <- E_v(v_seq), E_c(c_gen)
L_con <- InfoNCE(f_v, f_c) via MoCo momentum encoders
f_fuse <- AttentionFusion(f_v, f_c)
obs <- concat(f_fuse, TCP_coords)
action <- SAC_policy(obs)
update SAC with reward R = -d_goal - d_TCP
update encoders with L_conํต์ฌ์ Stage 2์์ VT-Gen์ ๋๊ฒฐ(freeze) ํ๋ค๋ ์ ์ ๋๋ค. ์์ฑ๊ธฐ๋ ํ ๋ฒ ์ ํ์ตํด ๋๊ณ , ์ ์ฑ ์ ๊ทธ ์ถ๋ ฅ์ ๊ณ ์ ๋ โ๊ฐ์ ์ด๊ฐ ์ผ์โ์ฒ๋ผ ์ฌ์ฉํฉ๋๋ค.
์คํ
์ค์
- ์๋ฎฌ๋ ์ดํฐ: Tactile Gym 2, UR5e ๋ก๋ด + ํธ์ฑ ์๋์ดํํฐ
- ์ ์ด ์ฃผํ์: 500 Hz, ์ํผ์๋ ์ต๋ 350 ์คํ
- ์์ ๊ณต๊ฐ: 800 ร 600 mm xy-ํ๋ฉด, 2 cm ๋์ด
- ์นด๋ฉ๋ผ: Intel RealSense D435 RGB, FOV 42ยฐ, ๊ฑฐ๋ฆฌ 1 m, 30ยฐ ํํฅ
- ์ด๋ฏธ์ง ํฌ๊ธฐ: ๋น์ ยท์ด๊ฐ ๋ชจ๋ 128 ร 128๋ก ๋ฆฌ์ฌ์ด์ฆ
- ๋๋ฉ์ธ ๋๋คํ: ์นด๋ฉ๋ผ ์์ , ์กฐ๋ช , ๋ฐฐ๊ฒฝ, ์์ ๋ณํ + OpenSimplex ๋ ธ์ด์ฆ๋ก ์์ฑํ ๋ฌด์์ ํธ์ฑ ๊ถค์
๋ฌผ์ฒด ๊ตฌ์ฑ. ํ์ต์ YCB ๋ฐ์ดํฐ์ ์ tea box, meat can, mug 3์ข . ์ ๋ก์ท ํ ์คํธ๋ olive jar, apple, coffee can, soup can, ceramic cup 5์ข ์ผ๋ก, ํ์ต์ ์ ํ ๋ณด์ง ๋ชปํ ํ์๋ค์ ๋๋ค.
ํ๊ฐ์งํ. ์๋ฎฌ๋ ์ด์ ์ ๋์ ๋ณด์, ์ํผ์๋ ๊ธธ์ด, ๊ฑฐ๋ฆฌ ์ค์ฐจ(mm), ์ฑ๊ณต๋ฅ (์๊ณ 2.5 cm). ์ค์ธ๊ณ๋ ๊ฑฐ๋ฆฌ ์ค์ฐจ(cm)์ ์ฑ๊ณต๋ฅ (์๋ ์ธก์ ). ์์ฑ ํ์ง์ PSNR(โ), SSIM(โ), LPIPS(โ)๋ก ์ธก์ ํฉ๋๋ค.
์์ฑ ํ์ง (VT-Gen)
| ๋ฌผ์ฒด | PSNR โ | SSIM โ | LPIPS โ |
|---|---|---|---|
| Tea Box | 30.75 | 0.9482 | 0.0101 |
| Meat Can | 20.50 | 0.8657 | 0.0327 |
| Mug | 20.25 | 0.8222 | 0.0417 |
ํ๋ฉด์ ์ด๊ณ ํ์์ด ๋จ์ํ tea box์์ ์์ฑ ํ์ง์ด ๊ฐ์ฅ ๋๊ณ (PSNR 30.75, SSIM 0.95), ๊ณก๋ฉด์ด ๋ง์ mug์์ ๋ค์ ๋จ์ด์ง๋๋ค. ๊ณก๋ฉด ๋ฌผ์ฒด์ผ์๋ก ์ ์ด ๊น์ด ํจํด์ด ๋ณต์กํด ๋น์ ๋ง์ผ๋ก ์ถ๋ก ํ๊ธฐ ์ด๋ ต๋ค๋ ์ ์ด ๋๋ฌ๋ฉ๋๋ค.
์๋ฎฌ๋ ์ด์ ํธ์ฑ ์ฑ๋ฅ
| ๋ฌผ์ฒด | ๋ฐฉ๋ฒ | ์ฑ๊ณต๋ฅ | ๋์ ๋ณด์ |
|---|---|---|---|
| Tea Box | Baseline (visual-only) | 12% | -155.73 |
| Tea Box | Baseline (visual & tactile) | 13% | -147.01 |
| Tea Box | ViTacGen (visual-only) | 84% | -84.35 |
| Tea Box | ViTacGen (visual & tactile) | 92% | -44.83 |
| Meat Can | Baseline (visual-only) | 16% | -169.27 |
| Meat Can | ViTacGen (visual-only) | 81% | -88.19 |
| Meat Can | ViTacGen (visual & tactile) | 86% | -44.49 |
| Mug | Baseline (visual-only) | 20% | -112.65 |
| Mug | ViTacGen (visual-only) | 86% | -41.53 |
| Mug | ViTacGen (visual & tactile) | 83% | -34.92 |
์ฌ๊ธฐ์ ๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ ViTacGen์ visual-only ๋ฒ์ ์กฐ์ฐจ baseline์ ์๋ํ๋ค๋ ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด tea box์์ ๋น์ ์ ์ฉ baseline์ 12%์ธ๋ฐ, ๋์ผํ๊ฒ ๋น์ ๋ง ์ฐ๋ ViTacGen์ 84%์ ๋๋ค. ์ฆ, โ์ค์ ์ด๊ฐ ์ผ์ ์์ด ์์ฑ๋ ๊ฐ์ง ์ด๊ฐโ์ ๋ํ์ ๋ฟ์ธ๋ฐ ์ฑ๊ณต๋ฅ ์ด 7๋ฐฐ๊ฐ๋ ๋ด ๊ฒ์ ๋๋ค. ์ ์ฒด์ ์ผ๋ก ๋์ ๋ณด์์ ์ฝ 64.6~69.5% ๊ฐ์ , ์ํผ์๋ ๊ธธ์ด๋ 12.9~23.3% ๋จ์ถ, ๊ฑฐ๋ฆฌ ์ค์ฐจ๋ 13.36~26.94 mm ๊ฐ์ํ์ต๋๋ค.
ํฅ๋ฏธ๋ก์ด ๋๋น์ : baseline์ ์ง์ง ์ด๊ฐ์ ๋ฃ์ด๋(visual & tactile) ๊ฑฐ์ ๋์์ง์ง ์์์ต๋๋ค(tea box 12%โ13%). ์ด๋ ๋จ์ํ ์ด๊ฐ ๋ฐ์ดํฐ๋ฅผ ํฉ์น๋ ๊ฒ๋ง์ผ๋ก๋ ํจ๊ณผ๊ฐ ์๊ณ , ๋์กฐํ์ต ์ ๋ ฌ + ์ดํ ์ ์ตํฉ์ด๋ผ๋ ViTacGen์ ํํ ํ์ต ๋ฐฉ์์ด ์ฑ๋ฅ ํฅ์์ ์ง์ง ์์ธ์์ ์์ฌํฉ๋๋ค.
์ค์ธ๊ณ ๊ฒฐ๊ณผ
| ๋ฌผ์ฒด | Baseline ์ฑ๊ณต๋ฅ | ViTacGen ์ฑ๊ณต๋ฅ | Baseline ์ค์ฐจ | ViTacGen ์ค์ฐจ |
|---|---|---|---|---|
| Tea Box | 14% | 76% | 6.5 cm | 2.6 cm |
| Meat Can | 8% | 82% | 8.2 cm | 1.9 cm |
| Mug | 10% | 86% | 7.2 cm | 1.8 cm |
๋ฌผ๋ฆฌ ์ด๊ฐ ์ผ์ ์์ด ๋น์ ๋ง ๋ฌ๋ฆฐ ์ค์ ๋ก๋ด์ ์ ๋ก์ท์ผ๋ก ๋ฐฐํฌํ ๊ฒฐ๊ณผ์ ๋๋ค. ์ฑ๊ณต๋ฅ ์ด baseline ๋๋น ํฌ๊ฒ ๋ฐ์๊ณ (์: mug 10%โ86%), ๊ฑฐ๋ฆฌ ์ค์ฐจ๋ 7 cm๋์์ 2 cm ์ํ์ผ๋ก ์ค์์ต๋๋ค. ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ์ ์ฑ ์ด ํ์ค๋ก ์ ๋์ด์๋ค๋ ๊ฐํ ์ฆ๊ฑฐ์ ๋๋ค.
์ ๋ก์ท ์ผ๋ฐํ (๋ฏธํ์ต ๋ฌผ์ฒด)
olive jar, apple, coffee can, soup can, ceramic cup 5์ข ํ๊ท ์ผ๋ก ์ฑ๊ณต๋ฅ ์ฝ 75.2%, ๊ฑฐ๋ฆฌ ์ค์ฐจ ์ฝ 3.8 cm๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. apple์ด 82%๋ก ๊ฐ์ฅ ์ข๊ณ soup can์ด 70%๋ก ๊ฐ์ฅ ๋ฎ์์ต๋๋ค. ํ์ต์ ์๋ ํ์์์๋ 70%๋๋ฅผ ์ ์งํ๋ค๋ ์ ์, ์ ์ด ๊น์ด๋ผ๋ ํํ์ด ๋ฌผ์ฒด ํ์์ ๊ณผ์ ํฉ๋์ง ์๊ณ ์ผ๋ฐ์ ์ธ ์ ์ด ๊ธฐํ ๋จ์๋ฅผ ํฌ์ฐฉํ๋ค๋ ํด์์ ๋ท๋ฐ์นจํฉ๋๋ค.
์ ์ ์คํ (Ablation)
์ตํฉ ๋ฐฉ์ (์๊ณ 4.0 cm ๊ธฐ์ค):
| ์ตํฉ | ์ฑ๊ณต๋ฅ | ๋ณด์ |
|---|---|---|
| Addition | 77% | -70.00 |
| Concatenation | 90% | -67.84 |
| Attention | 95% | -66.92 โ |
๋์กฐํ์ต ๋ฐฉ์ (์๊ณ 4.0 cm ๊ธฐ์ค):
| ๋ฐฉ๋ฒ | ์ฑ๊ณต๋ฅ | ๋ณด์ |
|---|---|---|
| SimCLR | 89% | -70.03 |
| MoCo | 95% | -66.92 โ |
์ดํ ์ ์ตํฉ์ด ๋จ์ ๋ง์ ยท์ฐ๊ฒฐ๋ณด๋ค ๋ซ๊ณ (95% vs 77%), MoCo๊ฐ SimCLR๋ณด๋ค ๋ซ์ต๋๋ค. ์ดํ ์ ์ ์ํฉ์ ๋ฐ๋ผ ๋น์ ๊ณผ ์ด๊ฐ์ ๊ฐ์ค์น๋ฅผ ๋์ ์ผ๋ก ์กฐ์ ํ ์ ์์ด, ์ ์ด์ด ์ค์ํ ์๊ฐ์ ์ด๊ฐ์ ๋ ์ง์คํ๋ ์์ ์ ์์ด ๊ฐ๋ฅํ๋ค๋ ์ง๊ด๊ณผ ๋ง์ต๋๋ค.
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
- ํ๋์จ์ด ์์กด์ฑ ์ ๊ฑฐ: ๊ฐ์ฅ ํฐ ์ค์ฉ์ ๊ฐ์น์ ๋๋ค. ๋น์ธ๊ณ ์ฝํ ์ด๊ฐ ์ผ์ ์์ด๋ ์ด๊ฐ ์ ์ฑ ์ ์ด์ ์ ๋๋ฆฌ๋ฉฐ, ๋น์ ์ ์ฉ ๋ก๋ด์ ์ ๋ก์ท ๋ฐฐํฌ๊ฐ ๋ฉ๋๋ค.
- ํํ ์ค๊ณ์ ์๋ฆฌํจ: ์ผ์ ์ข ์์ ์ธ ์์ ๊ดํ ์ด๋ฏธ์ง ๋์ ์ผ์ ๋ถ๋ณ์ ์ธ ์ ์ด ๊น์ด๋ฅผ ์์ฑ ๋ชฉํ๋ก ์ผ์, ๋น์ โ์ด๊ฐ ํ์ต์ ์์ ํํ์ต๋๋ค.
- ์ตํฉ ๋ฐฉ์์ ๋ณธ์ง ๊ท๋ช : baseline์ ์ง์ง ์ด๊ฐ์ ๋ฃ์ด๋ ํจ๊ณผ๊ฐ ๋ฏธ๋ฏธํ๋ ๋ฐ๋ฉด ViTacGen์ ํฌ๊ฒ ์ข์์ง ๋๋น๋, ์ฑ๋ฅ์ด โ์ด๊ฐ ๋ฐ์ดํฐ์ ์กด์ฌโ๊ฐ ์๋๋ผ โ์ ๋ ฌยท์ตํฉ ํํ ํ์ตโ์์ ์จ๋ค๋ ์ ์ ์ค๋๋ ฅ ์๊ฒ ๋ณด์ฌ์ค๋๋ค.
- ์ค์๊ฐ์ฑ: 305.90 FPS์ ์์ฑ ์๋๋ 500 Hz ์ ์ด ๋ฃจํ ์์์ ์ค์ ๋ก ์ธ ๋งํฉ๋๋ค.
์ฝ์ ๊ณผ ํ๊ณ
- ์ ์ด ๊น์ด์ ์ ๋ณด ํ๊ณ: ์ ์๋ค๋ ์ธ์ ํ๋ฏ, ์ ์ด ๊น์ด๋ ๊ณ ์์ค ์ ์ด ๊ธฐํ๋ง ๋ด๊ณ ๊ตญ์ ํ ๋ถํฌ๋ ์ ๋จ๋ ฅ(shear force) ๊ฐ์ ์ธ๋ฐํ ๋ฌผ๋ฆฌ๋์ ํํํ์ง ๋ชปํฉ๋๋ค. ๋ฏธ๋๋ฌ์ง ๊ฐ์ง๋ ๋ง์ฐฐ ์ถ์ ์ด ๊ฒฐ์ ์ ์ธ ์์ ์ผ๋ก ํ์ฅํ ๋ ๋ณ๋ชฉ์ด ๋ ์ ์์ต๋๋ค.
- ํธ์ฑ์ด๋ผ๋ ๋จ์ผ ๊ณผ์ : ๊ฒ์ฆ์ด ํ๋ฉด ํธ์ฑ์ ํ์ ๋ฉ๋๋ค. ์ก๊ธฐ(grasp), ์ธ-ํธ๋ ์กฐ์ ๋ฑ ์ ์ด ๋์ญํ์ด ๋ ๋ณต์กํ ๊ณผ์ ๋ก์ ์ผ๋ฐํ๋ ์์ง ๋ฏธ์ง์์ ๋๋ค. (์ถ์ธก: ๊ณก๋ฉด mug์์ ์์ฑ ํ์ง์ด ๋จ์ด์ง ์ ์ ๋ณด๋ฉด, ์ ์ด์ด ๋ ๋ณต์กํ ๊ณผ์ ์์๋ ์์ฑ๊ธฐ์ ํ์ง์ด ๋ ํฐ ์ ์ฝ์ด ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.)
- Sim-to-real ๋ ธ์ด์ฆ: ์ค์ธ๊ณ ์ด๊ฐ ์์ธก์ ๋ ธ์ด์ฆ ์ํฐํฉํธ๊ฐ ๋ณด๊ณ ๋ฉ๋๋ค. ์๋ฎฌ๋ ์ด์ ์๊ฐ๊ณผ ํ์ค ์๊ฐ์ ์ฐจ์ด๊ฐ ์์ฑ ์ด๊ฐ์ ํ์ง์ ๋จ์ด๋จ๋ฆฝ๋๋ค.
- ์ ๋ฌธ๊ฐ ์์กด ํ์ต: VT-Gen ํ์ต ๋ฐ์ดํฐ๋ฅผ โ์ฌ์ ํ์ต๋ RL ์ ๋ฌธ๊ฐโ์ 1,000๊ฐ ๊ถค์ ์์ ์์งํฉ๋๋ค. ์ด ์ ๋ฌธ๊ฐ์ ํ๋ ๋ถํฌ์ ์์ฑ๊ธฐ๊ฐ ํธํฅ๋ ์ ์๊ณ , ์ ๋ฌธ๊ฐ๊ฐ ๋ฟ์ง ๋ชปํ ์ํ์์์ ์์ฑ ํ์ง์ ๋ถํ์คํฉ๋๋ค.
- ๋ฌผ์ฒด ๋ค์์ฑ: ํ์ต ๋ฌผ์ฒด๊ฐ 3์ข ์ผ๋ก ์ ํ์ ์ ๋๋ค. ์ ๋ก์ท ๊ฒฐ๊ณผ๋ ๊ณ ๋ฌด์ ์ด๋, ๋ ํญ๋์ ํ์ยท์ฌ์ง์์์ ๊ฐ๊ฑด์ฑ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
์์ฝ ๋ฐ ๊ฒฐ๋ก
ViTacGen์ โ๋น์ ๋ง์ผ๋ก ์ด๊ฐ์ ์์ฑํ๋ฉด ์ง์ง ์ด๊ฐ ์ผ์๋ฅผ ๋์ ํ ์ ์๋คโ๋ ๋ฐ์์ ์ฒด๊ณ์ ์ผ๋ก ๊ตฌํํ ํ๋ ์์ํฌ์ ๋๋ค. ๋น์ ์ํ์ค์์ ์ผ์ ๋ถ๋ณ์ ์ธ ์ ์ด ๊น์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ VT-Gen๊ณผ, ์์ฑ ์ด๊ฐ์ ๋์กฐํ์ต(MoCo/InfoNCE)์ผ๋ก ๋น์ ๊ณผ ์ ๋ ฌํ ๋ค ์ดํ ์ ์ผ๋ก ์ตํฉํด SAC ์ ์ฑ ์ ํ์ตํ๋ VT-Con์ด ํต์ฌ์ ๋๋ค.
์คํ์ ์ผ๋ก, ์๋ฎฌ๋ ์ด์ ์ฑ๊ณต๋ฅ ์ baseline ๋๋น ์ ๋ฐฐ ๋์ด์ฌ๋ ธ๊ณ (์: 12%โ84~92%), ์ด๊ฐ ์ผ์๊ฐ ์๋ ์ค์ ๋ก๋ด์ ์ ๋ก์ท ๋ฐฐํฌํด ์ต๋ 86%์ ์ฑ๊ณต๋ฅ ๊ณผ 2 cm ์ํ์ ๊ฑฐ๋ฆฌ ์ค์ฐจ๋ฅผ ๋ฌ์ฑํ์ต๋๋ค. ๋ฏธํ์ต ๋ฌผ์ฒด์์๋ ํ๊ท 75% ์์ค์ ์ ์งํด ์ผ๋ฐํ ๊ฐ๋ฅ์ฑ์ ๋ณด์์ต๋๋ค.
๋ก๋ด๊ณตํ ์ค๋ฌด์ ๊ด์ ์์ ์ด ์ฐ๊ตฌ๊ฐ ์ฃผ๋ ๋ฉ์์ง๋ ๋ถ๋ช ํฉ๋๋ค. ๊ณ ๊ฐ์ ์ด๊ฐ ์ผ์๋ฅผ ๋ชจ๋ ๋ก๋ด์ ๋ฌ ์ ์๋ค๋ฉด, ๋น์ ์ผ๋ก๋ถํฐ ์ด๊ฐ์ โ์์โํ๊ฒ ๋ง๋ค์ด ๊ทธ ๊ฐ๊ทน์ ๋ฉ์ฐ๋ ๊ธธ์ด ํ์ค์ ์ผ๋ก ์๋ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ค๋ง ์ ์ด ๊น์ด๋ผ๋ ํํ์ด ๋ด์ง ๋ชปํ๋ ํยท์ ๋จ ์ ๋ณด, ๊ทธ๋ฆฌ๊ณ ํธ์ฑ์ ๋์ด์ ๋ณต์ก ์กฐ์์ผ๋ก์ ํ์ฅ์ ์์ผ๋ก ํ์ด์ผ ํ ๊ณผ์ ์ ๋๋ค. ์ ์๋ค๋ ํฅํ ๋ฐฉํฅ์ผ๋ก ๋ฌผ๋ฆฌ๋์ ๋ช ์์ ์์ธก, ๋ฌผ์ฒด ์ด๋์ผ๋ก๋ถํฐ์ ์ ๋จ๋ ฅ ์ถ๋ก , ๋น์ -์ด๊ฐ ๋ชจ๋ฌ๋ฆฌํฐ ๊ฒฉ์ฐจ์ ์ถ๊ฐ ํด์๋ฅผ ์ ์ํ๊ณ ์์ต๋๋ค.