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

On this page

  • ๐Ÿ” Ping Review
    • ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก 
    • ๊ธฐ์ˆ ์  ์„ฑ๊ณผ
  • ๐Ÿ”” Ring Review
    • ์„œ๋ก 
    • ๋ฐฉ๋ฒ•
      • 1๋‹จ๊ณ„: ๊ต์‚ฌ RL ํ•™์Šต
      • 2๋‹จ๊ณ„: ํ•™์ƒ distillation
      • 3๋‹จ๊ณ„: ์‹œ๊ฐ ํฌ์ฆˆ ์ถ”์ • โ€” 3DGS ๋„๋ฉ”์ธ ๋žœ๋คํ™” (ํ•ต์‹ฌ)
      • ์„ฑ๋Šฅ ๊ธฐ๋ฐ˜ ์ปค๋ฆฌํ˜๋Ÿผ RL
      • ์‹œ์Šคํ…œ ์„ค์ •
    • ์‹คํ—˜
      • ํฌ์ฆˆ ์ถ”์ • (Table II)
      • Augmentation Ablation (Table III)
      • ์‹ค๋กœ๋ด‡ ๋ฐฐํฌ (Table IV)
      • ํ•™์Šต ํšจ์œจ
      • belief decoder์˜ ๊ฒฌ๊ณ ์„ฑ (Figure 7)
    • ๋น„ํŒ์  ๊ณ ์ฐฐ
    • ๐Ÿ”ฌ ์žฌํ˜„ ๋…ธํŠธ (Reproduction Note)
      • ์žฌํ˜„ ํ™˜๊ฒฝ โ€” 2 ๋ฉ”์ด์ € ๋ฒ„์ „ ์œ„๋กœ ์ด์‹
      • ๋Œ์•„๊ฐ„ ๊ฒƒ โ€” PPO ํ•™์Šต ๋ฃจํ”„๋Š” ์‹ค์ œ๋กœ ํ•™์Šต ์‹ ํ˜ธ๋ฅผ ๋ƒ„
      • ํ•ต์‹ฌ novelty(3DGS)๋„ ๋Œ์•„๊ฐ”๋‹ค โ€” ์ฒ˜์Œ์—” โ€œํ•˜๋“œ์›จ์–ด ํƒ“โ€์œผ๋กœ ์˜คํŒํ–ˆ๋˜ ๋ถ€๋ถ„
      • ๋ฐฐ์šด ๊ฒƒ โ€” โ€œCUDA ์—๋Ÿฌ๊ฐ€ ํ•˜๋“œ์›จ์–ด ์„ธ๋Œ€ ํƒ“์ฒ˜๋Ÿผ ๋ณด์—ฌ๋„ ๋‹จ์ •ํ•˜์ง€ ๋ง ๊ฒƒโ€
    • ์š”์•ฝ ๋ฐ ๊ฒฐ๋ก 

๐Ÿ“ƒViserDex

dexterity
in-hand-reorientation
gaussian-splatting
sim2real
rl
pose-estimation
ViserDex: Visual Sim-to-Real for Robust Dexterous In-hand Reorientation
Published

June 24, 2026

  • 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
  1. ๐Ÿš€ ViserDex๋Š” 3D Gaussian Splatting(3DGS)์˜ ํ‘œํ˜„๋ ฅ์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ ๋‚ด์—์„œ ๋ณต์žกํ•œ ๊ฐ์ฒด์˜ ์‹œ๊ฐ์  ๋‹ค์–‘์„ฑ์„ ํ™•๋ณดํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋…ธํ˜๋Ÿฌ RGB ์นด๋ฉ”๋ผ๋งŒ์œผ๋กœ๋„ ๊ฐ•๊ฑดํ•œ sim-to-real ์ „์ด๊ฐ€ ๊ฐ€๋Šฅํ•œ dexterous in-hand manipulation ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

  2. ๐Ÿ’ก ์—ฐ๊ตฌํŒ€์€ ๊ฐ€์šฐ์‹œ์•ˆ ํ‘œํ˜„ ๊ณต๊ฐ„์—์„œ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ผ๊ด€๋œ ์ „์ฒ˜๋ฆฌ ์ฆ๊ฐ•(pre-rasterization augmentations) ๊ธฐ๋ฒ•์„ ๊ฐœ๋ฐœํ•˜์—ฌ, ์กฐ๋ช… ๋ณ€ํ™”๋‚˜ ๊ฐ€๋ ค์ง์ด ์‹ฌํ•œ adversarial ํ™˜๊ฒฝ์—์„œ๋„ ์ •ํ™•ํ•œ ๊ฐ์ฒด ์ž์„ธ ์ถ”์ •์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  3. ๐Ÿค– ์‹ค์ œ 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 ํ•™์Šต์œผ๋กœ, ๊ทนํ•œ ์กฐ๋ช…์—์„œ๋„ ๊ฐ•๊ฑดํ•œ ์†์•ˆ ์žฌ๋ฐฐํ–ฅ์„ ๋‹ฌ์„ฑํ•œ๋‹ค.

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

๋ฐฉ๋ฒ•

์ „์ฒด ์‹œ์Šคํ…œ์€ ๊ต์‚ฌ 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์ด ํ•„์š” ์—†์–ด ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค.

  1. Random Noise: ๋…๋ฆฝ ๊ฐ€์šฐ์‹œ์•ˆ ์„ญ๋™(๋น„๊ตฌ์กฐ์  ๋…ธ์ด์ฆˆ).
  2. Spatial Cluster: ์œ„์น˜ ๊ธฐ์ค€ 64๊ฐœ k-means ํด๋Ÿฌ์Šคํ„ฐ ๋‹จ์œ„ ์„ญ๋™ โ†’ ๊ตญ์†Œ ๊ทธ๋ฆผ์ž/์†์ƒ ๋ชจ์‚ฌ.
  3. Color Cluster: SHโ‚€ ๊ณ„์ˆ˜ ๊ธฐ์ค€ 32๊ฐœ ํด๋Ÿฌ์Šคํ„ฐ ๋‹จ์œ„ ์„ญ๋™ โ†’ ์žฌ์งˆ๋ณ„ ๋ฐ˜์‚ฌ์œจ ๋ณ€ํ™”.
  4. 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 ์ „์ด์—์„œ ๊ฐ•๋ ฅํ•œ ์ƒˆ ํ‘œ์ค€์ ์ด ๋  ์ž ์žฌ๋ ฅ์ด ํฝ๋‹ˆ๋‹ค.

Copyright 2026, JungYeon Lee