flowchart LR
subgraph T["1 ๊ต์ฌ RL"]
PRIV["ํน๊ถ ๊ด์ธก<br/>(GT ํฌ์ฆยท์๋ยท์ ์ด๋ ฅ)"]
PPO["PPO<br/>24,576 ๋ณ๋ ฌ env"]
PRIV --> PPO
end
subgraph S["2 ํ์ distillation"]
BELIEF["belief encoder-decoder<br/>(LSTM)"]
DAG["์จ๋ผ์ธ DAgger<br/>BC + ์ฌ๊ตฌ์ฑ ์์ค"]
BELIEF --- DAG
end
subgraph V["3 ์๊ฐ ํฌ์ฆ ์ถ์ "]
GS["3DGS ๋ ๋ + SH augmentation<br/>(๊ณต๊ฐ/์/์ ์ญ ํด๋ฌ์คํฐ)"]
RES["ResNet-34<br/>9 ํคํฌ์ธํธ 2.5D"]
GS --> RES
end
PPO --> BELIEF
RES --> DEPLOY["์ค๋ก๋ด ๋ฐฐํฌ<br/>Allegro + RealSense<br/>๋จ์ RGB"]
BELIEF --> DEPLOY
๐ViserDex
- Paper Link (arXiv:2604.11138)
- Project Page
- Video
- ์ ์: Arjun Bhardwaj, Maximum Wilder-Smith, Mayank Mittal, Vaishakh Patil, Marco Hutter (ETH Zรผrich, NVIDIA) โ RSS 2026
๐ ViserDex๋ 3D Gaussian Splatting(3DGS)์ ํํ๋ ฅ์ ํ์ฉํ์ฌ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ ๋ด์์ ๋ณต์กํ ๊ฐ์ฒด์ ์๊ฐ์ ๋ค์์ฑ์ ํ๋ณดํ๊ณ , ์ด๋ฅผ ํตํด ๋ชจ๋ ธํ๋ฌ RGB ์นด๋ฉ๋ผ๋ง์ผ๋ก๋ ๊ฐ๊ฑดํ sim-to-real ์ ์ด๊ฐ ๊ฐ๋ฅํ dexterous in-hand manipulation ํ๋ ์์ํฌ๋ฅผ ์ ์ํฉ๋๋ค.
๐ก ์ฐ๊ตฌํ์ ๊ฐ์ฐ์์ ํํ ๊ณต๊ฐ์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ผ๊ด๋ ์ ์ฒ๋ฆฌ ์ฆ๊ฐ(pre-rasterization augmentations) ๊ธฐ๋ฒ์ ๊ฐ๋ฐํ์ฌ, ์กฐ๋ช ๋ณํ๋ ๊ฐ๋ ค์ง์ด ์ฌํ adversarial ํ๊ฒฝ์์๋ ์ ํํ ๊ฐ์ฒด ์์ธ ์ถ์ ์ ๊ฐ๋ฅํ๊ฒ ํ์ต๋๋ค.
๐ค ์ค์ 16-DoF Allegro Hand๋ฅผ ์ด์ฉํ ์คํ ๊ฒฐ๊ณผ, ๋ณธ ์์คํ ์ ๊ธฐ์กด ๋ฐฉ์๋ณด๋ค ํจ์ฌ ์ ์ ์ปดํจํ ์์์ผ๋ก๋ ๋ค์ํ ๊ฐ์ฒด๋ค์ ๋ํด ํ๊ท 25ํ ์ด์์ ์ฐ์์ ์ธ ์ฑ๊ณต์ ์ธ ์ฌ๋ฐฐํฅ(reorientation)์ ๋ฌ์ฑํ๋ฉฐ ๋์ ๋ฒ์ฉ์ฑ๊ณผ ํจ์จ์ฑ์ ์ ์ฆํ์ต๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
์ด ๋ ผ๋ฌธ์ ๋จ์ผ Monocular RGB ์นด๋ฉ๋ผ๋ง์ ์ฌ์ฉํ์ฌ ๋ก๋ด์ Dexterous In-hand Manipulation(์ ์์ ๋ฌผ์ฒด ์ฌ๋ฐฐ์น)์ ์ํํ๊ธฐ ์ํ ์ฌ์ธต ๊ฐํํ์ต ๊ธฐ๋ฐ์ Sim-to-Real ํ๋ ์์ํฌ์ธ ViserDex๋ฅผ ์ ์ํฉ๋๋ค. ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์ด ๋ณต์กํ ๊ฐ์ฒด๋ ์กฐ๋ช ํ๊ฒฝ์์ ์ด๋ ค์์ ๊ฒช๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, 3D Gaussian Splatting(3DGS)์ ์๋ฎฌ๋ ์ด์ ๋ฃจํ์ ํตํฉํ์ฌ ๊ณ ๋์ ์๊ฐ์ ํ์ค๊ฐ๊ณผ ํ๋ จ ํจ์จ์ฑ์ ๋ฌ์ฑํ์ต๋๋ค.

Figure 2 โ ViserDex ๊ฐ์: ์๋ฎฌ๋ ์ด์ ์์ ํน๊ถ ์ํ๋ก ํ์ตํ ๊ต์ฌ ์ ์ฑ ์ ๋ ธ์ด์ฆ ๊ด์ธก ๊ธฐ๋ฐ ์ํ ํ์ ์ ์ฑ ์ผ๋ก distillํ๊ณ , 3DGS ์๊ฐ ํฌ์ฆ ์ถ์ ์ ๊ฑฐ์ณ ๋จ์ RGB๋ง์ผ๋ก ์ค๋ก๋ด์ ๋ฐฐํฌํ๋ ์๊ฐ sim-to-real ํ์ดํ๋ผ์ธ
ํต์ฌ ๋ฐฉ๋ฒ๋ก
1. 3D Gaussian Splatting ๊ธฐ๋ฐ์ ์๊ฐ์ ์๋ฎฌ๋ ์ด์
๊ธฐ์กด์ ๋ฉ์ฌ ๊ธฐ๋ฐ ๋ ๋๋ง ๋์ 3D Gaussian Splatting(3DGS)์ ๋์ ํ์ฌ ์ค์๊ฐ์ผ๋ก ๊ณ ํ์ง์ ์๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํฉ๋๋ค.
- Pre-rasterization Augmentation: ๋ ๋๋ง ์ ๋จ๊ณ์์ ๊ฐ์ฐ์์์ Spherical Harmonics(SH) ๊ณ์๋ฅผ ์ง์ ์กฐ์ํฉ๋๋ค.
- ํด๋ฌ์คํฐ ๊ธฐ๋ฐ ์ญ๋: ๊ณต๊ฐ์ ์์น, photometric ์๊ด๊ด๊ณ, ๋๋ ์ ์ฒด ์ฌ ๋จ์๋ก ํด๋ฌ์คํฐ๋ฅผ ๋๋์ด ์์(SH_0) ๋ฐ ๋ฐ์ฌ(SH_{N}) ํน์ฑ์ ๋ ธ์ด์ฆ๋ฅผ ์ฃผ์ ํฉ๋๋ค.
- ์์: ๊ด์ธก ๋ฐฉํฅ d์ ๋ฐ๋ฅธ ์์ c(d)๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค. c(d) = \text{Sigmoid}\left(\sum_{\ell=0}^{L} \sum_{m=-\ell}^{\ell} k_{\ell}^{m} Y_{\ell}^{m}(d)\right)
- ์ด ๋ฐฉ์์ ํตํด ๋ ์ด ํธ๋ ์ด์ฑ ์์ด๋ ์ฌ์ค์ ์ธ ์กฐ๋ช ๋ณํ์ ์ฌ์ง ๋ณํ๋ฅผ ๊ตฌํํ์ฌ ์๊ฐ์ Domain Randomization์ ํจ๊ณผ๋ฅผ ๊ทน๋ํํฉ๋๋ค.
2. ๋ชจ๋ํ๋ ํ์ต ํ์ดํ๋ผ์ธ
ํ์ต์ ํฌ๊ฒ ์ธ ๋จ๊ณ๋ก ๋ถํดํ์ฌ ์ํํ๋ฉฐ, ๊ฐ ๋จ๊ณ๋ ์๋น์์ฉ GPU์์๋ ํ๋ จ์ด ๊ฐ๋ฅํ ๋งํผ ํจ์จ์ ์ ๋๋ค.
- Privileged Teacher Training: ์๋ฎฌ๋ ์ด์ ์์ ์์ ํ ์ํ ์ ๋ณด(๋ฌผ์ฒด ์๋, ์ ์ด๋ ฅ ๋ฑ)๋ฅผ ์ฌ์ฉํ์ฌ PPO(Proximal Policy Optimization) ๊ธฐ๋ฐ์ ๊ต์ฌ ์ ์ฑ ์ ํ์ตํฉ๋๋ค. ์ด๋ ์ฑ๋ฅ ๊ธฐ๋ฐ์ Curriculum Learning์ ์ ์ฉํ์ฌ ๋์ด๋๋ฅผ ๋จ๊ณ์ ์ผ๋ก ์กฐ์ ํฉ๋๋ค.
- Student Distillation: ๊ต์ฌ ์ ์ฑ ์ ์ฌ๊ท์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ํ์ ์ ์ฑ ์ผ๋ก ์ฆ๋ฅํฉ๋๋ค. Belief Encoder๋ฅผ ํตํด ๋ ธ์ด์ฆ๊ฐ ์์ธ ๊ด์ธก์น๋ก๋ถํฐ ์์คํ ์ํ๋ฅผ ์ถ๋ก ํ๋ฉฐ, Online DAgger ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ํ๊ฒฝ์ Covariate Shift์ ๋์ํฉ๋๋ค.
- Visual Pose Estimator Training: 3DGS๋ก ๋ ๋๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ RGB ์ด๋ฏธ์ง์์ 9๊ฐ์ ํต์ฌ ํฌ์ธํธ(Keypoints)๋ฅผ ์ถ๋ก ํ๋ ResNet-34 ๊ธฐ๋ฐ์ ํฌ์ฆ ์ถ์ ๊ธฐ๋ฅผ ํ์ตํฉ๋๋ค. ์ถ์ ๋ ํคํฌ์ธํธ๋ Rigid Procrustes ์๊ณ ๋ฆฌ์ฆ์ ํตํด 6D ํฌ์ฆ๋ก ๋ณํ๋ฉ๋๋ค.
๊ธฐ์ ์ ์ฑ๊ณผ
- ๊ฐ๊ฑด์ฑ(Robustness): Adversarial ์กฐ๋ช ์กฐ๊ฑด(๋ฎ์ ๋๋น, ์์ ์๊ณก ๋ฑ)์์๋ ์์ ์ ์ธ ๊ฐ์ฒด ์ฌ๋ฐฐ์น๋ฅผ ์ํํฉ๋๋ค.
- ํจ์จ์ฑ: ๊ธฐ์กด์ ๋ณต์กํ ์๋ฎฌ๋ ์ด์ ๋ฐฉ์ ๋๋น VRAM ์ฌ์ฉ๋์ ํฌ๊ฒ ์ค์์ผ๋ฉฐ, 3DGS๋ฅผ ํตํด ๋ ๋๋ง ์ฒ๋ฆฌ๋์ ์ฝ 1.6๋ฐฐ ํฅ์ํ์ต๋๋ค.
- ์ฑ๋ฅ: 16-DoF Allegro Hand๋ฅผ ์ฌ์ฉํ์ฌ 5๊ฐ์ ์๋ก ๋ค๋ฅธ ๋ฌผ์ฒด์ ๋ํด ํ๊ท 25ํ ์ด์์ ์ฐ์ ์ฌ๋ฐฐ์น ์ฑ๊ณต์ ๋ฌ์ฑํ์ต๋๋ค. ํนํ, 3DGS ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ฆ๊ฐ์ด ๊ธฐ์กด์ ๋ ๋๋ง ๊ธฐ๋ฐ ์ ๊ทผ๋ฒ๋ณด๋ค ํฌ์ฆ ์ถ์ ์ค์ฐจ๋ฅผ ํ๊ธฐ์ ์ผ๋ก ์ค์์ ์คํ์ ์ผ๋ก ์ฆ๋ช ํ์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ViserDex๋ ์๊ฐ์ ์ธ์ง ๋ฅ๋ ฅ์ ํ๊ณ๋ฅผ 3DGS๋ฅผ ํ์ฉํ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์์ฑ ์ ๋ต์ผ๋ก ๊ทน๋ณตํจ์ผ๋ก์จ, ๋ณต์กํ ์ค์ธ๊ณ ํ๊ฒฝ์์๋ ๋จ์ผ RGB ์นด๋ฉ๋ผ๋ง์ผ๋ก ๊ณ ๋์ ๋ก๋ด ์์ฌ์ฃผ๋ฅผ ๊ตฌํํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
์๋ก
์์ ์ฌ๋ฐฐํฅ(in-hand reorientation)์ ๋ฅ์ ์กฐ์(dexterous manipulation)์ ์์ง์ ๋์ ์ ๋๋ค. ์๊ฐ๋ฝ๋ง์ผ๋ก ๋ฌผ์ฒด๋ฅผ ๊ตด๋ ค ๋ชฉํ ์์ธ๋ก ๋ง์ถ๋ ค๋ฉด ์ ๋ฐํ ๋ฌผ์ฒด ํฌ์ฆ ์ถ์ ์ด ํ์์ธ๋ฐ, ์ฌ๊ธฐ์ ๋ ๊ฐ์ง ํฐ ๋ฒฝ์ด ์์ต๋๋ค.
- ๋น ๋ฅธ ๋์ + ์ฌํ ์๊ธฐ ๊ฐ๋ฆผ(self-occlusion). ์๊ฐ๋ฝ์ด ๋ฌผ์ฒด๋ฅผ ๋์์์ด ๊ฐ๋ฆฌ๋ ์ํฉ์์ ๋จ์ RGB๋ก 6D ํฌ์ฆ๋ฅผ ์์ ์ ์ผ๋ก ์ถ์ ํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
- ์๊ฐ sim-to-real ๊ฒฉ์ฐจ. ์๋ฎฌ๋ ์ดํฐ์ ๋ ๋๋ง๊ณผ ์ค์ ์นด๋ฉ๋ผ ์์์ ์กฐ๋ช ยท์ฌ์งยท๋ฐ์ฌ ์ธก๋ฉด์์ ๋ฌ๋ผ, ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ํฌ์ฆ ์ถ์ ๊ธฐ๊ฐ ์ค์ธ๊ณ์์ ๋ฌด๋์ง๊ธฐ ์ฝ์ต๋๋ค.
๊ธฐ์กด ํด๋ฒ์ (1) ๋ค์ค ์นด๋ฉ๋ผ ๋ฆฌ๊ทธ, (2) ์ฐ์ฐ์ด ๋น์ผ ray tracing ๋ ๋๋ง, ๋๋ (3) ๋น์๊ฐ ๋ชจ๋ฌ๋ฆฌํฐ(์ด๊ฐ ๋ฑ) ์ ์์กดํ์ต๋๋ค. ์ ๋ค ๋น์ฉยท๋ณต์ก๋ยทํ์ฅ์ฑ ์ธก๋ฉด์์ ๋ถ๋ด์ด ํฝ๋๋ค.
์ ์๋ค์ ์ง๋ฌธ์ ๋ช ํํฉ๋๋ค. โ์นด๋ฉ๋ผ ํ ๋(๋จ์ RGB)์ ์๋น์๊ธ GPU๋ง์ผ๋ก, ๊ทนํ ์กฐ๋ช ์์๋ ๊ฒฌ๋๋ ๊ฐ๊ฑดํ ์์ ์ฌ๋ฐฐํฅ์ด ๊ฐ๋ฅํ๊ฐ?โ
์ด ๋ ผ๋ฌธ์ ํ ์ค ์์ฝ: 3D Gaussian Splatting์ ์๋ฎฌ๋ ์ด์ ์ ํตํฉํ๊ณ , ๋์คํฐํ ์ด์ SH ๊ณ์์ ๋๋ฉ์ธ ๋๋คํ ๋ฅผ ๊ฐํด ๊ดํ์ค์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์์ฑํ๋ค โ ๊ทธ ๊ฒฐ๊ณผ ๋จ์ RGB๋ง์ผ๋ก, ์๋น์๊ธ GPU ํ์ต์ผ๋ก, ๊ทนํ ์กฐ๋ช ์์๋ ๊ฐ๊ฑดํ ์์ ์ฌ๋ฐฐํฅ์ ๋ฌ์ฑํ๋ค.
๋ฐฉ๋ฒ
์ ์ฒด ์์คํ ์ ๊ต์ฌ RL โ ํ์ distillation โ ์๊ฐ ํฌ์ฆ ์ถ์ ์ 3๋จ๊ณ ๋ชจ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ ์ฑ ํ์ต(์ํ ๊ธฐ๋ฐ)๊ณผ ์ง๊ฐ(์๊ฐ ๊ธฐ๋ฐ)์ ๋ถ๋ฆฌํด ๊ฐ๊ฐ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ต์ ํํ๋ ๊ตฌ์กฐ์ ๋๋ค.

Figure 2 โ ์ ์ฒด ํ์ดํ๋ผ์ธ ๋ชจ๋ ๊ตฌ์กฐ: (1) ํน๊ถ ์ํ ๊ธฐ๋ฐ RL ๊ต์ฌ ํ์ต โ (2) ๋ ธ์ด์ฆ ๊ด์ธก ์ํ ํ์ distillation โ (3) 3DGS ๋ฐ์ดํฐ๋ก ํ์ตํ RGB ํคํฌ์ธํธ ํฌ์ฆ ์ถ์ โ (4) ๋จ์ RGB ์ค๋ก๋ด ๋ฐฐํฌ
1๋จ๊ณ: ๊ต์ฌ RL ํ์ต
ํน๊ถ(privileged) ๊ด์ธก์ ์์ ์ ๊ทผํ๋ ๊ต์ฌ ์ ์ฑ ์ PPO๋ก ํ์ตํฉ๋๋ค.
- ํ๋ ๊ณต๊ฐ: 16๊ฐ ๊ด์ ์์น ๋ชฉํ(Allegro ์).
- ๋ณด์: ์ญ(inverse) ๋ฐฉํฅ ์ค์ฐจ ๊ธฐ๋ฐ dense reward + ์ฑ๊ณต ๋ณด๋์ค, ๊ทธ๋ฆฌ๊ณ ํ๋ ํํ์ฑยท๊ด์ ์๋ยท์๋์ง ์๋น์ ๋ํ ์ ๊ทํ ํ๋ํฐ.
- ๊ด์ธก: proprioceptive(๊ด์ ์์นยทํ๋ ์ด๋ ฅยท๋ชฉํ), exteroceptive(๋ฌผ์ฒด ํฌ์ฆยท๋ชฉํ ์ฐจ์ด), privileged(์๋ยทํยท๋๋คํ๋ ๋ฌผ๋ฆฌ ์์ฑ).
- ์ํคํ ์ฒ: proprio/extero/privileged๋ฅผ ๊ฐ๊ฐ MLP๋ก ์ธ์ฝ๋ฉ ํ ๋ฐฑ๋ณธ [1024,1024,1024,512]์ ์ฐ๊ฒฐ. ฮณ=0.998, ฮป=0.95, ํ๊ฒฝ๋น 24 ์คํ . 24,576๊ฐ ๋ณ๋ ฌ ํ๊ฒฝ.
2๋จ๊ณ: ํ์ distillation
์ค์ธ๊ณ์์๋ ํน๊ถ ์ ๋ณด๊ฐ ์์ผ๋ฏ๋ก, ๋ ธ์ด์ฆ ๊ด์ธก๋ง์ผ๋ก ๋์ํ๋ ํ์ ์ ์ฑ ์ distillํฉ๋๋ค.
- belief encoder-decoder ์ํ๋ง(์๋ [256,256], 2์ธต LSTM)์ด ๋ ธ์ด์ฆ ๊ด์ธก์์ ์ ์ฌ ์ํ๋ฅผ ์ถ์ ํฉ๋๋ค.
- ํฉ์ฑ ์์ค L = L_{BC} + 0.2 \cdot L_{recon} (ํ๋ ๋ณต์ + ์ํ ์ฌ๊ตฌ์ฑ)์ผ๋ก, ์จ๋ผ์ธ DAgger ๋ฅผ ํตํด ํ์ตํฉ๋๋ค.
- ์ด belief ๊ตฌ์กฐ ๋๋ถ์ ํ์์ ์ผ์์ ํฌ์ฆ ์ถ์ ์คํจ(์: 180ยฐ ํ๋ฆฝ)๋ฅผ ์๊ฐ์ ์ผ๋ก ํํฐ๋งํ ์ ์์ต๋๋ค.
3๋จ๊ณ: ์๊ฐ ํฌ์ฆ ์ถ์ โ 3DGS ๋๋ฉ์ธ ๋๋คํ (ํต์ฌ)
๊ฐ์ฅ ํฐ ๊ธฐ์ฌ๋ 3D Gaussian Splatting์ ์๋ฎฌ๋ ์ด์ ๋ ๋๋ฌ๋ก ํตํฉํ๊ณ , ๋๋ฉ์ธ ๋๋คํ๋ฅผ Gaussian ํํ ๊ณต๊ฐ์์ ์ํ ํ ์ ์ ๋๋ค.
์๋ฎฌ๋ ์ด์ ํตํฉ. ๋ฌผ์ฒด๊ฐ ์์ง์ด๊ณ ์นด๋ฉ๋ผ๋ ๊ณ ์ ์ธ ์ํฉ์, Gaussian์ ์ญ๋ณํ์ ์ ์ฉํด โ์ ์ ์ฅ๋ฉดโ ๊ฐ์ ์ ์ ์งํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์์ ์ํ ๊ฐ๋ฆผ์ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๊น์ด ๋ง์คํน(์ ๊น์ด์ Gaussian ๊น์ด ๋น๊ต)์ผ๋ก ๋ณต์ํฉ๋๋ค.
์ฌ์ ๋์คํฐํ augmentation. ๋ ๋๋ง ์ ๋จ๊ณ์์ SH ๊ณ์์ ์ง์ ์ญ๋์ ๊ฐํฉ๋๋ค โ ray tracing์ด ํ์ ์์ด ๋งค์ฐ ๋น ๋ฆ ๋๋ค.
- Random Noise: ๋ ๋ฆฝ ๊ฐ์ฐ์์ ์ญ๋(๋น๊ตฌ์กฐ์ ๋ ธ์ด์ฆ).
- Spatial Cluster: ์์น ๊ธฐ์ค 64๊ฐ k-means ํด๋ฌ์คํฐ ๋จ์ ์ญ๋ โ ๊ตญ์ ๊ทธ๋ฆผ์/์์ ๋ชจ์ฌ.
- Color Cluster: SHโ ๊ณ์ ๊ธฐ์ค 32๊ฐ ํด๋ฌ์คํฐ ๋จ์ ์ญ๋ โ ์ฌ์ง๋ณ ๋ฐ์ฌ์จ ๋ณํ.
- Global Shift: ์ฅ๋ฉด ์ ์ฒด ๊ท ์ผ ์ญ๋ โ ํ๊ฒฝ ๋ฐ๊ธฐ/์์จ๋ ๋ณํ.
ํต์ฌ์ ํด๋ฌ์คํฐ๋ฅผ ์์ ๋จ์ ๋ก ์ญ๋ํด ๊ด๋ ์ผ๊ด์ฑ ์ ์ ์งํ๋ค๋ ์ ์ ๋๋ค. ๋ฌด์์ ํฝ์ ๋ ธ์ด์ฆ์ ๋ฌ๋ฆฌ, ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ทธ๋ด๋ฏํ ์ธํ ๋ณํ๋ฅผ ๋ง๋ญ๋๋ค.

Figure 3 โ ์ฌ์ ๋์คํฐํ SH augmentation ์์: ๊ณ ๋ฌด ์ค๋ฆฌ ํ๋์ Gaussian SH ๊ณ์๋ฅผ ์ญ๋ํด ์ยท๋ฐ์ฌ๊ฐ ๋ค๋ฅธ ์ฌ๋ฌ ์ธํ variant๋ฅผ ray tracing ์์ด ์์ฑ(ํ๋ ํ์)
ํฌ์ฆ ์ถ์ ๊ธฐ. ResNet-34 ๋ฐฑ๋ณธ์ด 9๊ฐ ํคํฌ์ธํธ(๋ฌผ์ฒด๋ณ 8 + centroid)๋ฅผ 2.5D ์ขํ๋ก ํ๊ทํฉ๋๋ค.
์ฑ๋ฅ ๊ธฐ๋ฐ ์ปค๋ฆฌํ๋ผ RL
๊ฐ๋น์ผ ADR(Automatic Domain Randomization)์ ๊ฒฝ๋ ์ปค๋ฆฌํ๋ผ์ผ๋ก ๋์ฒดํฉ๋๋ค.
- ์ ๊ทํ ํ๋ํฐ ์ ์ง ์ฆ๊ฐ: ์ด๊ธฐ์ ๊ณผ์ ์ฑ๊ณต์ ์ง์ค, ์ดํ ํํ์ฑ ๊ฐํ.
- ํ๋ ์ง์ฐ ์ ์ง ์ถ๊ฐ: ์ค์ธ๊ณ ๋น๋๊ธฐ์ฑ ๋๋น.
- ์ฑ๊ณต ์๊ฐ ์ฐฝ ์ ์ง ์ถ์: ์ ์ ๋น ๋ฅธ ์ฌ๋ฐฐํฅ ์๊ตฌ.
์ธ ์์ ๋ชจ๋ ์ฐ์ ์ฑ๊ณต ์ด๋ํ๊ท ์ ์ฐ๋๋์ด, ๋ฌผ์ฒด๋ณ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋ ์์ด ์๋ ์ค์ผ์ผ๋ฉ๋๋ค.

Figure 5 โ ์ฑ๋ฅ ๊ธฐ๋ฐ ์ปค๋ฆฌํ๋ผ ablation: 5๊ฐ ๋ฌผ์ฒด(Cube/3D Printed Toy/Rubber Duck/Tablet Bottle/Globe)๋ณ ํ์ต ๋ฐ๋ณต ๋๋น ํ๊ท ์ฐ์ ์ฑ๊ณต ๊ณก์ . ์ ์ฒด ์ปค๋ฆฌํ๋ผ(Ours)์ด No Curriculumยทํ๋ ์ง์ฐ ์ ๊ฑฐยทํ๋ํฐ ์ ๊ฑฐยท์๊ฐ ์ฐฝ ์ ๊ฑฐ ๋๋น ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์๋ ดํ๊ณ ์ต๋ค ์ฐ์ ์ฑ๊ณต์ ๋ฌ์ฑ
์์คํ ์ค์
- ํ๋์จ์ด: 16-DoF Allegro ์ + ์๋ชฉ ์ฅ์ฐฉ Intel RealSense D435i.
- ์ ์ด: ์ถ๋ก 30Hz, ๊ด์ ์ ์ด 300Hz.
- ๋ ๋๋ง ํจ์จ: Isaac Lab tiled ๋ ๋๋ฌ ๋๋น 1.6๋ฐฐ ๋น ๋ฆ, 1,024 ํ๊ฒฝ์์ VRAM 12GB(vs 34GB), augmentation ์ค๋ฒํค๋๋ ํ๋ ์๋น <22ms(~4%).
์คํ

Figure 4 โ (์ข) ์คํ ์ ์ : RGB ์นด๋ฉ๋ผ + Allegro ์ + ์ ๋์ ์กฐ๋ช ์ฉ ๋ค์ ๊ด์. (์ฐ) 5์ข ํ ์คํธ ๋ฌผ์ฒด๋ฅผ ๊ณต์นญ ์กฐ๋ช (1์ด)๊ณผ ์ ๋์ ์กฐ๋ช (2์ด)์์ ์ดฌ์
ํฌ์ฆ ์ถ์ (Table II)
์ฑ๋ฅ ์งํ๋ ADD(mm)์ ์ ํ๋(<10mm, <10ยฐ)์ ๋๋ค.
| ์กฐ๋ช | ๋ฐฉ๋ฒ | ADD (mm) | ์ ํ๋ |
|---|---|---|---|
| ๊ณต์นญ | ViserDex (Ours) | 10.2ยฑ0.66 | 65.4% |
| ๊ณต์นญ | DR Tiled | 12.2ยฑ0.67 | 55.6% |
| ๊ณต์นญ | Naive GS (augmentation ์์) | 14.4ยฑ0.93 | 38.4% |
| ์ ๋์ | ViserDex (Ours) | 12.9ยฑ0.69 | 56.3% |
| ์ ๋์ | DR Tiled | 14.0ยฑ0.96 | 47.2% |
| ์ ๋์ | Naive GS | 18.6ยฑ1.17 | 36.5% |
์ ๋์ ์กฐ๋ช (์ ์กฐ๋ยท๋์ ์ ๋ณํ)์์ DR Tiled ๋๋น ํ๊ท +9.1%p ํฅ์. augmentation ์๋ Naive GS๋ ํฌ๊ฒ ๋ฌด๋์ ธ, 3DGS ์์ฒด๊ฐ ์๋๋ผ SH ๋๋ฉ์ธ ๋๋คํ๊ฐ ํต์ฌ ์์ ๋ณด์ฌ์ค๋๋ค.
Augmentation Ablation (Table III)
| ์ ๊ฑฐ ์์ | ๊ณต์นญ ์ ํ๋ | ์ ๋์ ์ ํ๋ |
|---|---|---|
| ์ ์ฒด (์์ ์ ๊ฑฐ) | 65.4% | โ |
| Global Shift ์ ๊ฑฐ | 51.2% | 23.6% (๋ถ๊ดด) |
| Random Noise ์ ๊ฑฐ | 58.6% | โ |
| Spatial Cluster ์ ๊ฑฐ | โ | 42.5% |
| Color Cluster ์ ๊ฑฐ | โ | 44.7% |
ํนํ Global Shift ์ ๊ฑฐ ์ ์ ๋์ ์กฐ๋ช ์์ ์ ํ๋๊ฐ 23.6%๋ก ๋ถ๊ดดํด, ์ ์ญ ๋ฐ๊ธฐ/์์จ๋ ๋ณํ ๋ชจ๋ธ๋ง์ด ๊ทนํ ์กฐ๋ช ๊ฐ๊ฑด์ฑ์ ํต์ฌ์์ ์ ์ฆํฉ๋๋ค. ์๊ด๋(ํด๋ฌ์คํฐ ๋จ์) ์ญ๋์ด ๋น๊ตฌ์กฐ์ ๋ ธ์ด์ฆ๋ณด๋ค ๋ณธ์ง์ ์ผ๋ก ์ค์ํจ๋ ํ์ธ๋ฉ๋๋ค.
์ค๋ก๋ด ๋ฐฐํฌ (Table IV)
์ฑ๋ฅ ์งํ๋ ํ๊ท ์ฐ์ ์ฑ๊ณต ํ์ ์ ๋๋ค.
| ๋ฌผ์ฒด | ๊ณต์นญ ์กฐ๋ช |
|---|---|
| Cube | 35.4ยฑ13.8 (DeXtreme 27.8ยฑ19.0) |
| 3D Printed Toy | 28.2ยฑ12.6 |
| Rubber Duck | 24.2ยฑ15.3 |
| Tablet Bottle | 12.6ยฑ8.8 (๋ฏธ๋ชจ๋ธ๋ง ์ ๋ง์ฐฐ๋ก ์ ํ) |
| Globe | 87.6ยฑ41.4 |
| ํ๊ท | 37.6ยฑ21.8 |
์ ๋์ ์กฐ๋ช ์์๋ ํ๊ท 25.4ยฑ30.1ํ ์ฐ์ ์ฑ๊ณต ์ ๊ธฐ๋กํ๋ฉฐ, ์ ์๋ค์ ์ด๋ฅผ ๊ทนํ ์๊ฐ ์ญ๋ ํ ์ง์์ ๋ฅ์ ์กฐ์์ ์ฒซ ์ค์ฆ ์ผ๋ก ์ ์ํฉ๋๋ค.

Figure 6 โ ์ค๋ก๋ด ์์ฐจ ๋กค์์: ์ฌ๋ฌ ๋ฌผ์ฒด๋ฅผ ๋ชฉํ ์์ธ๋ก ์ฌ๋ฐฐํฅํ๋ ๊ณผ์ ์ ๋ก๋ด ์นด๋ฉ๋ผ ์์ ํ๋ ์ ์ํ์ค๋ก ํ์(๋งจ ์๋ ํ์ ์ ๋์ ์ปฌ๋ฌ ์กฐ๋ช )
ํ์ต ํจ์จ
- ๊ต์ฌ ํ์ต: Cube ๊ธฐ์ค 26์๊ฐ(๋จ์ผ RTX 4090), ๋ณต์ก ๋ฌผ์ฒด๋ 90์๊ฐ(๋์ผ GPU).
- ํ์ distillation: 16์๊ฐ(๋จ์ผ RTX 4090, 4,096 ํ๊ฒฝ).
- DeXtreme(8ร A40, 60์๊ฐ) ๋๋น ํ ์๋ฆฟ์ ๊ท๋ชจ ํจ์จ ๊ฐ์ .
belief decoder์ ๊ฒฌ๊ณ ์ฑ (Figure 7)
์ธ์์ ๋ ธ์ด์ฆ ์ฃผ์ ๊ตฌ๊ฐ์์, belief decoder๋ ์์๋ ์ ๋ ฅ์ ๋ฅ๊ฐํ๋ฉฐ ๋ฎ์ ์ค์ฐจ๋ฅผ ์ ์งํ๊ณ , 180ยฐ ํ๋ฆฝ ๊ฐ์ ์น๋ช ์ ์ถ์ ์คํจ๋ฅผ ํํฐ๋ง ํ์ต๋๋ค. ์๊ฐ์ belief ์ถ์ ์ด ์ผ์์ ์ง๊ฐ ์คํจ์ ๋ํ ์์ ์ฅ์น ์ญํ ์ ํจ์ ๋ณด์ฌ์ค๋๋ค.

Figure 7 โ ์ค์ธ๊ณ ๋กค์์ ๋์ translation/rotation ์ค์ฐจ์ ์๊ฐ ๋ณํ(Belief Decoder vs Noisified Pose Estimator vs Pose Estimator). ํฌ์ฆ ์ถ์ ๊ธฐ ์ ๋ ฅ์ ์ธ์์ ๋ ธ์ด์ฆ๊ฐ ์ฃผ์ ๋ ๊ตฌ๊ฐ(๋นจ๊ฐ)์์๋ belief decoder๋ ๋ฎ์ ์ค์ฐจ๋ฅผ ์ ์งํ๋ฉฐ, 180ยฐ ํ๋ฆฝ ์ถ์ ์คํจ๋ฅผ ํํฐ๋ง(ํ๋จ Actual/Pose Estimator/Belief Decoder ์ฌ๊ตฌ์ฑ 3์ปท)
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
- ์๊ฐ sim-to-real์ ์ ๋ฉด ๊ณต๋ต. ๋ฅ์ ์กฐ์์ ํต์ฌ ๋ณ๋ชฉ์ธ ๋จ์ ์๊ฐ ํฌ์ฆ ์ถ์ ์, 3DGS ํํ ๊ณต๊ฐ ๋๋ฉ์ธ ๋๋คํ๋ผ๋ ์ ๊ฐ๋๋ก ํ์์ต๋๋ค. ablation์์ Naive GS๊ฐ ๋ฌด๋์ง๋ ๊ฒ์ ๋ณด์ฌ, ๊ธฐ์ฌ์ ์์ฒ์ด โ3DGS ์ฌ์ฉโ์ด ์๋๋ผ โSH ์ฌ์ ๋์คํฐํ augmentationโ์์ ๋ช ํํ ๋ถ๋ฆฌํ ์ ์ด ์ค๋๋ ฅ ์์ต๋๋ค.
- ์ ๊ทผ์ฑ/ํจ์จ. ์นด๋ฉ๋ผ ํ ๋ + ์๋น์๊ธ GPU๋ก ํ์ตยท๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํด, 8ร A40 ๊ฐ์ ๋๊ท๋ชจ ํด๋ฌ์คํฐ๋ฅผ ์๊ตฌํ๋ ์ ํ ์ฐ๊ตฌ์ ์ง์ ์ฅ๋ฒฝ์ ํฌ๊ฒ ๋ฎ์ท์ต๋๋ค. ๋ ๋๋ง 1.6๋ฐฐ ๊ฐ์, VRAM 1/3 ์ ๊ฐ๋ ์ค์ฉ์ ์ ๋๋ค.
- ๊ทนํ ์กฐ๋ช ๊ฐ๊ฑด์ฑ์ ์ค์ฆ. ์ ๋์ ์กฐ๋ช (์ ์กฐ๋ยท๋์ ์)์์ ํ๊ท 25.4ํ ์ฐ์ ์ฑ๊ณต์, ์๊ฐ ๊ธฐ๋ฐ ์์ ์ฌ๋ฐฐํฅ์์ ๋ณด๊ธฐ ๋๋ฌธ ๊ฐ๊ฑด์ฑ ์์ค์ ๋๋ค.
- ๊ฒฝ๋ ์ปค๋ฆฌํ๋ผ. ADR์ ์ฐ์ ์ฑ๊ณต ๊ธฐ๋ฐ ์๋ ์ค์ผ์ผ ์ปค๋ฆฌํ๋ผ์ผ๋ก ๋์ฒดํด, ๋ฌผ์ฒด๋ณ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋ ๋ถ๋ด์ ์์ค ์ ์ด ๊น๋ํฉ๋๋ค.
์ฝ์ ๊ณผ ํ๊ณ
- ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง ์์กด. Tablet Bottle์ด 12.6ํ๋ก ์ ํ๋ ์์ธ์ด โ๋ฏธ๋ชจ๋ธ๋ง ์ ๋ง์ฐฐโ์ด๋ผ๋ ์ ์, ์๊ฐ์ ๊ฐ๊ฑดํด์ก์ผ๋ ๋์ญํ ์ ํ๋๊ฐ ์ฌ์ ํ ์ฑ๋ฅ ์ํ์ ์ข์ฐ ํจ์ ์์ฌํฉ๋๋ค(์ถ์ธก).
- ๋ฌผ์ฒด๋ณ ํคํฌ์ธํธ. ํฌ์ฆ ์ถ์ ๊ธฐ๊ฐ ๋ฌผ์ฒด๋ณ 8๊ฐ ํคํฌ์ธํธ๋ฅผ ์ฐ๋ฏ๋ก, ์์ ํ ์๋ก์ด ๋ฌผ์ฒด๋ก์ ์ฆ์ ์ผ๋ฐํ(category-level/novel object)๋ ์ถ๊ฐ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค(์ถ์ธก).
- ์ฌ๊ตฌ์ฑ ์ ์ฒ๋ฆฌ ๋น์ฉ. ๊ฐ ๋ฌผ์ฒด์ 3DGS ์์ฐ์ ์ฌ์ ์ ์ฌ๊ตฌ์ฑํด์ผ ํ๋ฏ๋ก, ๋๊ท๋ชจ ๋ฌผ์ฒด๊ตฐ์ผ๋ก ํ์ฅ ์ ์์ฐ ์ค๋น ํ์ดํ๋ผ์ธ์ ๋น์ฉ์ด ๋ณ์์ ๋๋ค.
- ๊ฐ์ฒด ๊ฐ์ . ๋ณํ์ฒดยท๊ด์ ๋ฌผ์ฒด๋ก์ ํ์ฅ์ ๋ณธ ํ์์ ์ง์ ๋ค๋ค์ง์ง ์์ต๋๋ค.
๐ฌ ์ฌํ ๋ ธํธ (Reproduction Note)
์๋๋ ๋ ผ๋ฌธ ํด์์ด ์๋๋ผ ์ฐ๋ฆฌ๊ฐ ์ง์ ์ฝ๋๋ฅผ ๋๋ ค ๋ณธ ์ฌํ ๊ด์ ์ ๋ณด์กฐ ์ฝ๋ฉํธ์ ๋๋ค. ์์ ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ(๋ ผ๋ฌธ ์ฃผ์ฅยท์์น)๊ณผ๋ ๋ถ๋ฆฌํด์ ์ฝ์ด ์ฃผ์ธ์. ๊ณต๊ฐ ์๋ณธ leggedrobotics/ViserDex(BSD-3-Clause)๋ฅผ mirror-cloneํด ์ฌํํ๊ณ , ์์ค ๋ ๋ฒจ ํธํ ํจ์น๋ private PR(#1, merge๋จ)๋ก, 3DGS ๋ ๋ ํฌ๋์๋ฅผ ์ก์ ๋ง์ง๋ง ํ ์ค ๊ฐ๋๋ ํ์ PR(#2)๋ก ๊ธฐ๋กํ์ต๋๋ค. ๊ฒฐ๋ก ๋ถํฐ: ๋ ผ๋ฌธ์ ํต์ฌ novelty์ธ 3DGS ๋๋ฉ์ธ ๋๋คํ ๋ ๋๋ง๊น์ง RTX 5090์์ ์์ ํ ์ฌํ๋์ต๋๋ค. ์ฒ์์ ์ด ๋ถ๋ถ์ โ์ต์ GPU์์ ๋งํ๋คโ๊ณ ์๋ชป ์ ์๋ค๊ฐ, ์ถ๊ฐ ๋๋ฒ๊น ์ผ๋ก ์์ธ์ ๊ท๋ช ยท์์ ํด ์๋์ ๊ฐ์ด ์ ์ ํฉ๋๋ค.
์ฌํ ํ๊ฒฝ โ 2 ๋ฉ์ด์ ๋ฒ์ ์๋ก ์ด์
์๋ณธ์ IsaacSim 5.1.0 / IsaacLab 2.3.2๋ฅผ ์๊ตฌํฉ๋๋ค(docker/Dockerfile์ FROM nvcr.io/nvidia/isaac-lab:2.3.2, setup.py์ Isaac Sim :: 5.1.0 classifier). ๊ทธ๋ฐ๋ฐ ์ด ๋จธ์ ์๋ Docker๊ฐ ์ค์น๋ผ ์์ง ์์(passwordless sudo๋ ์์) upstream์ด ๊ถ์ฅํ๋ Docker ์ด๋ฏธ์ง ๊ฒฝ๋ก๋ฅผ ์ธ ์ ์์๊ณ , ๋์ ๋ก์ปฌ์ ์ด๋ฏธ ์ค์น๋ผ ์๋ IsaacSim 6.0.1-rc.7 / IsaacLab 3.0.0-beta2(๊ฐ๊ฐ ํยท๋ ๋ฉ์ด์ ๋ฒ์ ์์)๋ฅผ ์ฌ์ฌ์ฉํด ์๋ณธ ์ฝ๋๋ฅผ ์ด ์คํ์ ๋ง๊ฒ ๋ฆฌํฉํฐ๋งํ๋ ์ชฝ์ผ๋ก ๋ฐฉํฅ์ ์ก์์ต๋๋ค. Docker ์๋ ํ๊ฒฝ์์ upstream ๊ถ์ฅ ๊ฒฝ๋ก๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ฅด๋ ๊ฒ๋ณด๋ค, ๊ธฐ์ค์น ์คํ ์ฌ์ฌ์ฉ์ด ํ์ค์ ์ธ ์ฌํ ๊ฒฝ๋ก์์ต๋๋ค. GPU๋ RTX 5090(Blackwell, compute capability sm_120)์
๋๋ค.
๋ฒ์ ๊ฒฉ์ฐจ ๋๋ฌธ์ ์์ค ๋ ๋ฒจ ํธํ ํจ์น 10๊ฑด์ด ํ์ํ์ต๋๋ค(๋๋ถ๋ถ ๋ช ์ค ๊ท๋ชจ). PhysxCfg ์ด๋๊ณผ SimulationCfg.physxโ.physics ๊ฐ๋ช
, omni.physics.tensors ๊ฒฝ๋ก ํํํ, isaacsim.core.utils/prims์ extsDeprecated ์ด๋์ ๋ฐ๋ฅธ isaacsim.core.experimental.* ํด๋ฐฑ, lazy_export()ยท.pyi ์ง์ฐ-์์ฑ ๋๋ฌธ์ import *๋ก ์ ์ด๋์ง ์๋ base MDP ํจ์ ์ง์ ์ฌ์์ถ, CameraData.pos_w ๋ฑ์ด ์ฝ๊ธฐ ์ ์ฉ ํ๋กํผํฐ๋ก ๋ฐ๋ ๋ฐ ๋ํ ๋น๊ณต๊ฐ ๋ฐฑํน ํ๋ ์ฐํ, rsl-rl-lib 5.0.1์ policy=โactor=/critic= ์คํค๋ง ์ ํ ๋ฑ์
๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ GaussianSplatCamera๊ฐ IsaacLab์ ์ผ์๋ฅผ โ๋ ํ๋์ ์ผ์ ํด๋์คโ๋ก ์์ํ๋ ๊ตฌ์กฐ๋ผ, ํ๋ฉด์ ์ผ๋ก ํฐ ์ฌ์์ฑ์ฒ๋ผ ๋ณด์ด๋ 3.0 ์ด๊ด์ด ์ค์ ๋ก๋ ๋๋๋๋ก ๊ตญ์์ ์ธ ํจ์น๋ก ๋๋ฌ์ต๋๋ค. ๊ฐ์ IsaacLab 3.0 ์ด๊ด ํจํด์ ์์ ๋ค๋ฃฌ regrind ์ฌํ ๋ฆฌ๋ทฐ์์ ํ๋ฆฝํ ์ฒ๋ฐฉ(ProxyArrayร@torch.jit.script ์๋ ์ค์บ ๋ชฝํคํจ์น ๋ฑ)์ ์๋น์ ๊ทธ๋๋ก ์ฌ์ฌ์ฉํ์ต๋๋ค.
๋์๊ฐ ๊ฒ โ PPO ํ์ต ๋ฃจํ๋ ์ค์ ๋ก ํ์ต ์ ํธ๋ฅผ ๋
- 6๊ฐ ํ์คํฌ ๋ฑ๋ก ํ์ธ (
list_envs.py:Isaac-ViserDex-Repose-Allegro-v0์ธ Estimator/Eval/Camera/NoAug/Play ๋ณํ). - ๋งค๋ํฐ๋ ์ด์
PPO ํ์ต ๋ฃจํ ์ค์ฆ (
train.py, 3 iteration ยท 64 env ์ค๋ชจํฌ ํ ์คํธ).OnPolicyRunner๊ฐ ์์ฑ๋๊ณ policy forward โenv.stepโ reward โ PPO update ๋ฃจํ๊ฐ ์ค์ ๋ก ๋์์ผ๋ฉฐ, ์งํ๊ฐ ์์ง์ด๋ ๊ฒ์ ํ์ธํ์ต๋๋ค: Mean reward 0.07(iter 0) โ 0.11(iter 2), success_rate 0.0 โ 0.0052, consecutive_success 0.0104. 3 iter ยท 64 env๋ก๋ ์ ์๋ฏธํ ์๋ ด์ ๋ณผ ์ ์์ง๋ง(๋ ผ๋ฌธ ์๋ณธ์ num_envs ์์ฒ~24,576 ยท ์์ฒ iteration ๊ท๋ชจ), ํ์ต ๋ฃจํ ์์ฒด์ ์ ์ ๋์์ ํ์ฆํ์ต๋๋ค. - ์ ์ฑ
๋กค์์ (
play.py): ํ์ต๋ ์ฒดํฌํฌ์ธํธ๋ฅผ ๋ก๋ํดpolicy(obs)โenv.step์ถ๋ก ๋ฃจํ๊ฐ ์ฝ 2๋ถ๊ฐ ํฌ๋์ ์์ด ์ฐ์ ์คํ๋จ.
์ฆ, ๋ ผ๋ฌธ์ด ๊ฐ์กฐํ โ์๋น์๊ธ GPU์์ ํ์ต ๊ฐ๋ฅโ์ด๋ผ๋ ์ค๋ฌด ์ถ์ โ ์ ์ด๋ ํ์ต ๋ฃจํ ๊ด์ ์์๋ โ ์ฐ๋ฆฌ ํ๊ฒฝ์์๋ ์ฌํ ๋ฐฉํฅ์ผ๋ก ๋์ํ์ต๋๋ค.
ํต์ฌ novelty(3DGS)๋ ๋์๊ฐ๋ค โ ์ฒ์์ โํ๋์จ์ด ํโ์ผ๋ก ์คํํ๋ ๋ถ๋ถ
์ด ๋
ผ๋ฌธ์ ํต์ฌ ๊ธฐ์ฌ์ธ 3DGS ๋๋ฉ์ธ ๋๋คํ ๋ ๋๋ง(check_gs_camera.py)๋ ๊ฒฐ๊ตญ RTX 5090์์ ์์ ํ ์ฌํ๋์ต๋๋ค. ๋ค๋ง ์ฌ๊ธฐ๊น์ง ์ค๋ ๊ธธ์ ํ ๋ฒ ์๋ชป๋ ๊ฒฐ๋ก ์ ๋๋ค๊ฐ ๋ค์ง์๊ธฐ์, ๊ทธ ์ฌ์ ์ ์ ์งํ๊ฒ ๋จ๊น๋๋ค.
1์ฐจ ์กฐ์ฌ(์คํ). gsplat(torch CUDA ํ์ฅ)์ JIT ์ปดํ์ผ ์์ฒด๋ ์ฑ๊ณตํ์ต๋๋ค โ CUDA extension has been set up successfully in 68.33 seconds, nvcc๊ฐ -gencode=arch=compute_120,code=sm_120์ผ๋ก Blackwell์ ์ ํํ ํ๊น ์ปดํ์ผ(pip์ nvidia-cuda-nvcc-cu12๊ฐ ptxas๋ง ์๊ณ nvcc ์คํฌ๋ฆฝํธ๊ฐ ์๋ค๋ ํจ์ ์ conda cuda-nvcc๋ก, ํค๋ ๊ฒฝ๋ก๋ CPATH๋ก ์ฐํ). ๊ทธ๋ฐ๋ฐ ์ค์ rasterization ์ปค๋ ์คํ์์ CUDA error: invalid configuration argument๊ฐ ๋ฌ๊ณ , num_envs=1ยทCUDA_LAUNCH_BLOCKING=1๋ก๋ ๋์ผํ์ต๋๋ค. ์ปดํ์ผ์ sm_120์ผ๋ก ๋ง์๋๋ฐ ์คํ๋ง ๊นจ์ง๋ ์ ํฉ์ด๋ผ, ์ด๋ฅผ gsplat์ Blackwell ๋ฐํ์ ์ปค๋ ๊ฐญ์ผ๋ก ์ฑ๊ธํ ๊ฒฐ๋ก ์ง๊ณ โ์ต์ GPU๊ฐ ์คํ๋ ค ์ฌํ์ ๋ง๋ ํจ์ โ์ด๋ผ๋ ํ๋ ์ด๋ฐ์ผ๋ก ์ฌ๊ธฐ์ ๋ฉ์ท์ต๋๋ค. ์ด ํ๋จ์ ํ๋ ธ์ต๋๋ค.
์ฌ์กฐ์ฌ(์ ์ ). ์นด๋ฉ๋ผ๋ฅผ ๋ช
์์ look-at์ผ๋ก ๋ฌผ์ฒด์ ์ ํํ ๊ฒจ๋ ๋ ๋๊ฐ์ด ์คํจํ๋ค๋ ์ ์ด โ์นด๋ฉ๋ผ ์ต๊ธ ๋ฌธ์ โ๋ฅผ ๋ฐฐ์ ํ๋ ์ฒซ ๋จ์์์ต๋๋ค. ๊ทธ๋์ _update_buffers_impl์ ์ง์ ๊ณ์ธกํด ํธ์ถ ํ์์ env_ids ๊ฐ, ์ค์ camtoworld/Ks/means3d ํ
์๋ฅผ ๋ ๋ ์ง์ ์ ์ฐ์ด ๋ดค์ต๋๋ค. ๊ฒฐ์ ์ ๊ด์ฐฐ:
- ํ ์๋ฎฌ๋ ์ด์
์คํ
๋์ ๋ ๋ ์ฝ๋ฐฑ์ด ๋ ๋ฒ ํธ์ถ๋๊ณ ์์์ต๋๋ค โ 1๋ฒ์งธ๋
env_ids=[True](๊ฐ์ฐ์์ 23,101๊ฐ ํฌ์, ๋ ๋ ์ฑ๊ณต), 2๋ฒ์งธ๋env_ids=[False](0๊ฐ ์ ํ, ๋ ๋ ์ง์ ํฌ๋์). - ๋ ํธ์ถ์ ์นด๋ฉ๋ผ ํฌ์ฆยท์คํ๋ซ ๋ฐ์ดํฐ๋ ์์ ํ ๋์ผํ๊ณ , ์ ์ผํ ์ฐจ์ด๋
env_ids๋ง์คํฌ([True]vs[False])๋ฟ์ด์์ต๋๋ค. โ๋์ผ ์ ๋ ฅ์ธ๋ฐ ๊ฒฐ๊ณผ๊ฐ ๊ฐ๋ฆฐ๋คโ๋ ๊ฒ ์์ฒด๊ฐ ํ๋์จ์ด ๋น๊ฒฐ์ ์ฑ์ด ์๋๋ผ ์ฐ๋ฆฌ ์ฝ๋๊ฐ ๋์น ์ผ์ด์ค๋ผ๋ ์ ํธ์์ต๋๋ค.
์ง์ง ์์ธ. gsplat/ํ๋์จ์ด ๋ฒ๊ทธ๊ฐ ์๋๋ผ ์ฐ๋ฆฌ ์ฌํ ์ฝ๋์ ๋ถ์์ ํ ํจ์น์์ต๋๋ค. IsaacLab 3.0์ ์ผ์ outdated ๋ง์คํฌ๋ฅผ ์ ์ ์ธ๋ฑ์ค(2.x) โ boolean mask๋ก ๋ฐ๊ฟจ๊ณ (์ ํจ์น 10๋ฒ), SensorBase๋ outdated ์ฌ๋ถ์ ๋ฌด๊ดํ๊ฒ .data ํ๋กํผํฐ ์ ๊ทผ๋ง๋ค ๋ ๋ ์ฝ๋ฐฑ์ ๋ค์ ํธ์ถํฉ๋๋ค(ํ์ค camera_0.data๋ฅผ ๋จผ์ ์ฝ์ ๋ค gsplat ์นด๋ฉ๋ผ์ .data๋ฅผ ์ฝ๋ ๊ฒ๋ง์ผ๋ก๋ โ์ด๋ฒ์ ์
๋ฐ์ดํธํ env ์์โ [False] ๋ง์คํฌ๋ก ๋ ๋ฒ์งธ ํธ์ถ ๋ฐ์). ์์ ์ ์-์ธ๋ฑ์ค ์๋งจํฑ์ด๋ผ๋ฉด โ์ ํ ์์ = ๋น ๋ฐฐ์น = ๋ ๋ ์๋ ์คํตโ์ด์๊ฒ ์ง๋ง, boolean mask์์๋ ๋ ๋ ๋ฃจํ๊ฐ ์ ๋ถ False์ธ ์ถํด ๋ฐฐ์น(์นด๋ฉ๋ผ 0๊ฐ) ๋ฅผ ๊ทธ๋๋ก rasterization()์ ๋๊ฒผ๊ณ , gsplat 1.5.3์ด ์ด ๋น ์
๋ ฅ์ ๋ชป ๋ฒํฐ๊ณ CUDA error: invalid configuration argument๋ก ์ฃฝ์ ๊ฒ์
๋๋ค.
ํด๊ฒฐ๊ณผ ๊ฒ์ฆ. ๋ ๋ ๋ฐฐ์น ๋ฃจํ์ if n_selected == 0: continue ํ ์ค ๊ฐ๋๋ฅผ ์ถ๊ฐํด(์์ ์ ์-์ธ๋ฑ์ค์ โ์ ํ ์์ผ๋ฉด ๋ ๋ ์ ํจโ์ boolean mask์์ ๋ช
์์ ์ผ๋ก ๋ณต์) ์์ ํ ํด์๋์ต๋๋ค. ์ดํ ์์ ์๋ ์๋ณธ ๊ทธ๋๋ก์ check_gs_camera.py --num_envs 2๊ฐ ํฌ๋์ ์์ด ์์ฃผ(exit code 0)ํ๊ณ , ์นด๋ฉ๋ผ๋ฅผ ๋ฌผ์ฒด์ ์ ์กฐ์คํ ๋ณ๋ ์ง๋จ์์๋ ์ค์ 3DGS ๋ ๋๋ง ๊ฒฐ๊ณผ(์ด๋ก ํ๋ธ์ ํฐ โEโ ๋ฌธ์) ๊น์ง ๋์ค๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. ์ฆ ๋
ผ๋ฌธ์ ํต์ฌ novelty์ธ 3DGS ๋๋ฉ์ธ ๋๋คํ ๋ ๋๋ง์ด RTX 5090(Blackwell)์์ ์์ ํ ์ฌํ๋ฉ๋๋ค. ๋์๊ฐ ๋ ๋ ๋ธ๋ก์ปค๊ฐ ํ๋ฆฐ ๋ค ํฌ์ฆ ์ถ์ ๊ธฐ ์จ๋ผ์ธ ํ์ต(train_pose_estimator.py)๊น์ง ํ์ธํ์ต๋๋ค โ ๋ฑ๋ก๋ 4๊ฐ ํ์คํฌ ๋ณํ(gsplat ๋ ๋๋ง / ์ค์ RTX ์นด๋ฉ๋ผ๋ง / ๋ ๋์ ๋น๊ต / ์ฆ๊ฐ ์์)์ด ์ ๋ถ ํฌ๋์ ์์ด ์์ฃผํ๋ฉฐ ์ค์ lossยทkeypoint-error๊ฐ ๊ธฐ๋ก๋ผ, ๋
ผ๋ฌธ์ โGS ๋ ๋ vs ์ค์ ๋ ๋โ ablation ๊ตฌ์กฐ๊น์ง RTX 5090์์ ๋์ํจ์ ์ค์ฆํ์ต๋๋ค(๊ด์ฐฐ๊ฐ ๊ณ์ฐ ํจ์ ์์์ loss.backward()+optimizer.step()์ด ํจ๊ป ๋๋ self-supervised ์จ๋ผ์ธ ํ์ต ์ค๊ณ, PR #3). ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ๋
ผ๋ฌธ์ ์ธ ํต์ฌ ๋ชจ๋(๊ต์ฌ RLยท3DGS ๋ ๋๋งยทํฌ์ฆ ์ถ์ ํ์ต)์ด ๋ชจ๋ ์ฐ๋ฆฌ ํ๊ฒฝ์์ ์ฌํ๋์ต๋๋ค.
๋ฐฐ์ด ๊ฒ โ โCUDA ์๋ฌ๊ฐ ํ๋์จ์ด ์ธ๋ ํ์ฒ๋ผ ๋ณด์ฌ๋ ๋จ์ ํ์ง ๋ง ๊ฒโ
์ ๋ฆฌํ๋ฉด, ์ด๋ฒ ์ฌํ์์ ์ ์ ๊ฐ์ง ๊ตํ์ โ์ต์ GPU ์ญ์คโ์ด ์๋๋ผ ๊ทธ ๋ฐ๋์์ต๋๋ค. torch.AcceleratorError/CUDA error๋ผ๋ ํ๋ฉด ์ฆ๊ฑฐ๋ง์ผ๋ก โ์ด ์ํคํ
์ฒ(Blackwell)์ ํ๋์จ์ด ๋ฒ๊ทธโ๋ผ๊ณ ๊ฒฐ๋ก ์ง๋ ๊ฒ์ ์ฑ๊ธํ๊ณ , ์ค์ ์์ธ์ ํ๋ ์์ํฌ ๋ฉ์ด์ ๋ฒ์ ์ ํ(์ ์ ์ธ๋ฑ์ค โ boolean mask) ๋ ์ฐ๋ฆฌ ํธํ ์ด๋ํฐ๊ฐ ๋์น ๋น-๋ฐฐ์น ์ผ์ด์ค์์ต๋๋ค. ๋ฐฐ์ด ์ ์ฐจ๋ ๋จ์ํฉ๋๋ค โ ์๋ฌ๊ฐ ํ๋์จ์ด๋ฅผ ๊ฐ๋ฆฌ์ผ๋, ๋๊ฐ์ ์
๋ ฅ์ผ๋ก ๋ ๋ฒ ํธ์ถํด ๊ฒฐ๊ณผ๊ฐ ๊ฐ๋ฆฌ๋์ง(๊ฒฐ์ ์ฑ)๋ถํฐ ๊ณ์ธกํ๋ผ. ์ด๋ฒ์ ๋ ํธ์ถ์ ์นด๋ฉ๋ผยท๋ฐ์ดํฐ๊ฐ ์์ ํ ๋์ผํ๋๋ฐ env_ids ๋ง์คํฌ๋ง ๋ฌ๋๋ค๋ ์ฌ์ค์ด โํ๋์จ์ด ํโ์ ์ฆ์ ๋ฐ์ฆํ๊ณ , ์์ธ์ ์ฐ๋ฆฌ ์ฝ๋์ ํ ์ค๋ก ์ขํ ์ฃผ์์ต๋๋ค. โGitHub์ ๋น์ทํ ์ด์๊ฐ ์๋คโ(gsplat #107/#346/#1027 ๋ฑ, 0๊ฐ ์
๋ ฅ ํฌ๋์)๋ ์ ํฉ๋, ์ค์ ์ฐ๋ฆฌ ์ฝ๋๊ฐ ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ ค์ง edge case๋ฅผ ์ค์๋ก ์ ๋ฐํ๊ณ ์๋ค๋ ์ชฝ์ด ์ง์ค์ด์์ต๋๋ค. ์ต์ ํ๋์จ์ด + ํ๋ ์์ํฌ ๋์ ํ์ด ๊ฒน์น ์๋ก, ์๋ฌ ๋ฉ์์ง๊ฐ ๊ฐ๋ฆฌํค๋ ๊ณณ๋ณด๋ค ์ฐ๋ฆฌ ์ด๋ํฐ๋ฅผ ๋จผ์ ์์ฌํ๋ ํธ์ด ๋ซ์ต๋๋ค.
์์ฝ ๋ฐ ๊ฒฐ๋ก
ViserDex๋ ๋จ์ RGB ๊ธฐ๋ฐ ์์ ์ฌ๋ฐฐํฅ์ ์๊ฐ sim-to-real ๊ฒฉ์ฐจ ๋ฅผ, 3D Gaussian Splatting ํํ ๊ณต๊ฐ์์์ ๋๋ฉ์ธ ๋๋คํ ๋ก ํด์ํฉ๋๋ค. ๋์คํฐํ ์ด์ SH ๊ณ์์ ๊ฐํ๋ ๊ณต๊ฐ/์/์ ์ญ ํด๋ฌ์คํฐ augmentation ์ผ๋ก ๊ดํ์ค์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ray tracing ์์ด ํจ์จ์ ์ผ๋ก ๋ง๋ค๊ณ , ๊ต์ฌ-ํ์ distillation + ์ฑ๋ฅ ๊ธฐ๋ฐ ์ปค๋ฆฌํ๋ผ RL ๋ก ๊ฐ๊ฑดํ ์ ์ฑ ์ ํ์ตํฉ๋๋ค.
ํต์ฌ ์์น๋ก ์ ๋ฆฌํ๋ฉด, ํฌ์ฆ ์ถ์ ์ ๊ณต์นญ/์ ๋์ ์กฐ๋ช ์์ ๊ฐ๊ฐ 65.4%/56.3% ์ ํ๋(DR Tiled ๋๋น ์ฐ์), ์ค๋ก๋ด ๋ฐฐํฌ๋ ๊ณต์นญ ์กฐ๋ช ํ๊ท 37.6ํ, ์ ๋์ ์กฐ๋ช ํ๊ท 25.4ํ ์ฐ์ ์ฑ๊ณต ์ ๋ฌ์ฑํ๊ณ , ํ์ต์ ์๋น์๊ธ RTX 4090์ผ๋ก ๊ฐ๋ฅํด DeXtreme ๋๋น ํ ์๋ฆฟ์ ํจ์จ ๊ฐ์ ์ ์ด๋ค์ต๋๋ค.
์ค๋ฌด ๊ด์ ์ ๊ฐ์น๋ โ์นด๋ฉ๋ผ ํ ๋์ ์๋น์๊ธ GPU๋ง์ผ๋ก, ๊ทนํ ์กฐ๋ช ์์๋ ๊ฒฌ๋๋ ๋ฅ์ ์กฐ์โ ์ ์ค์ฆํ๋ค๋ ๋ฐ ์์ต๋๋ค. ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง ์์กด์ฑ๊ณผ ๋ฌผ์ฒด๋ณ ์์ฐ ์ค๋น๋ผ๋ ํ๊ณ๋ ๋จ์ง๋ง, 3DGS ํํ ๊ณต๊ฐ ๋๋ฉ์ธ ๋๋คํ ๋ผ๋ ์์ด๋์ด๋ ์๊ฐ ๊ธฐ๋ฐ ๋ก๋ด ์กฐ์์ sim-to-real ์ ์ด์์ ๊ฐ๋ ฅํ ์ ํ์ค์ ์ด ๋ ์ ์ฌ๋ ฅ์ด ํฝ๋๋ค.