Noise-Invariant Spatial Encoding for 3D Manipulation Policies under Depth Corruption
Organizations: Singapore Institute of Manufacturing Technology (SIMTech), Agency for Science, Technology and Research (A*STAR), Singapore · Nanyang Technological University (NTU), Singapore · National University of Singapore (NUS), Singapore
Abstract
3D manipulation policies derive actions from explicit scene geometry rather than color images alone, enabling them to reason over metric distances, object relations, and robot-scene reachability. This geometric interface is also a vulnerability: commodity RGB-D sensors return missing measurements, boundary artifacts, and plausible but wrong surfaces around transparent, reflective, thin, or textureless objects. We study this failure under realistic depth corruption and observe a sharp depth-noise cliff across modern 3D policies, even when they are trained with matched noisy depth. This residual gap motivates a spatial-encoding approach: corrupted depth becomes entangled with the token coordinates and geometry features consumed by the action expert. We propose Noise-Invariant Spatial Encoding (NISE), a 3D policy architecture that learns trustworthy geometry features even facing imperfect depth. NISE uses Geometric Cross-View Self-Supervision to shape shared policy features with calibrated multi-view depth, and Gaussian Marginalized 3D Attention to carry position uncertainty into deployed attention rather than treating every lifted token as exact. Across simulated benchmarks with sensor-realistic corruption and real-robot tasks involving transparent and reflective materials, NISE improves depth-noise robustness while preserving clean-depth performance, supporting 3D policies designed for commodity RGB-D deployment rather than clean-depth benchmarks alone.
Figures & tables
| Method | Close Jar | Drag Stick | Insert Peg | Meat off Grill | Open Drawer | Place Cups | Place Wine | Push Buttons | Put Cupboard | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|
| PerAct [ 2 ] | ||||||||||
| RVT [ 36 ] | ||||||||||
| 3D Diffuser Actor [ 8 ] | ||||||||||
| RVT-2 [ 6 ] | ||||||||||
| ARP [ 37 ] | ||||||||||
| TVVE [ 38 ] |
| RLBench PerAct-18 | |||
|---|---|---|---|
| Method | Clean | Mild | Saturated |
| 3DDA [ 8 ] | |||
| RVT-2 [ 6 ] | |||
| SAM2Act [ 7 ] | |||
| NISE | |||
| Trained on Clean Depth Setting GCVSS GM3A SR (%) FLOPs Baseline + GM3A + GCVSS + Both | Trained on Noisy Depth Setting GCVSS GM3A SR (%) FLOPs Baseline + GM3A + GCVSS NISE |
Appendix figures & tables17 assets
Supplementary material from the paper’s appendix.
Appendix
| Preset | (px) | (px) | ||
|---|---|---|---|---|
| Clean | 0.00 | 0.000 | 0.000 | 0.0000 |
| Mild | 0.30 | 0.150 | 0.300 | 0.0020 |
| Saturated | 0.50 | 0.250 | 0.500 | 0.0050 |
| Policy stack | Ablation row | GCVSS | GM3A | Clean | Mild | Saturated |
| Native 3DDA insertion | ||||||
| 3DDA | Plain noise-aware | 41.0 | 54.0 | 56.7 | ||
| 3DDA | + GCVSS | 45.0 | 62.0 | 63.5 | ||
| 3DDA | + GM3A | 43.0 | 59.0 | 61.0 | ||
| 3DDA | + GCVSS + GM3A | 47.0 | 68.0 | 70.3 | ||
| Native RVT-2 insertion | ||||||
| Input / policy | Clean | Mild | Saturated |
|---|---|---|---|
| NISE + raw depth | |||
| NISE + D3RoMa repair | |||
| NISE + Marigold-DC repair |
| Target construction | Success (%) |
|---|---|
| Clean-depth references | |
| Per-camera clean target | 64.0 |
| Masked clean consensus | 62.4 |
| Noisy-depth targets | |
| Raw cross-camera target | 38.2 |
| Warped target without z-buffer visibility | 55.2 |
| GM3A variant | Clean | Mild | Saturated |
|---|---|---|---|
| Frequency-only | 79.3 | 70.7 | 66.7 |
| Adaptive residual | 85.3 | 77.3 | 73.3 |
| Task type | Task | GCVSS only | GCVSS + GM3A | |
|---|---|---|---|---|
| Coarse actuation | push_buttons | |||
| Coarse actuation | open_drawer | |||
| Coarse actuation | turn_tap | |||
| Precision geometry | insert_peg | |||
| Precision geometry | stack_cups |
| Setting | Mild drift | Mild CKA | Saturated drift | Saturated CKA | Mild SR (%) |
|---|---|---|---|---|---|
| Clean-trained same-stack baseline | 0.44 | 0.55 | 0.63 | 0.39 | 52.1 |
| Noisy-trained same-stack baseline | 0.31 | 0.68 | 0.48 | 0.54 | 75.5 |
| + GM3A | 0.28 | 0.71 | 0.42 | 0.59 | 78.2 |
| + GCVSS | 0.18 | 0.82 | 0.26 | 0.74 | 80.5 |
| NISE | 0.12 | 0.89 | 0.17 | 0.84 | 85.7 |
| Task type | Task | Reliable surface | Depth boundary | Transparent/specular proxy | Contact region |
|---|---|---|---|---|---|
| Coarse | push_buttons | 0.06 | 0.15 | 0.18 | 0.10 |
| Coarse | open_drawer | 0.07 | 0.16 | 0.19 | 0.12 |
| Precision | insert_peg | 0.08 | 0.27 | 0.31 | 0.29 |
| Precision | stack_cups | 0.09 | 0.25 | 0.34 | 0.28 |
| Real transparent | remove_petri_lid | 0.10 | 0.31 | 0.39 | 0.32 |
| Real transparent | pour_test_tube | 0.11 | 0.33 | 0.42 | 0.35 |
| Method | Training depth | Clean | Mild | Saturated |
|---|---|---|---|---|
| 3DDA | Clean only | |||
| NISE | Clean only | |||
| NISE | Mixed |
| Setting | GCVSS | GM3A | Params (K) | FLOPs | Latency (ms) | Throughput (Hz) |
|---|---|---|---|---|---|---|
| Same-stack baseline | ||||||
| + GCVSS | ||||||
| + GM3A | ||||||
| NISE |
| MetaWorld easy tasks | |||||||
|---|---|---|---|---|---|---|---|
| Method | Btn Press | Btn Topdown | Btn TD Wall | Btn Wall | Coffee Btn | Dial Turn | Door Close |
| 3D Diffusion Policy | |||||||
| 3D Flow Matching | |||||||
| 3D ManiFlow | |||||||
| NISE | |||||||
| MetaWorld easy tasks | |||||||
| MetaWorld medium tasks | |||||||
|---|---|---|---|---|---|---|---|
| Method | Box Close | Coffee Pull | Coffee Push | Hammer | Peg Insert Side | Push Wall | Soccer |
| 3D Diffusion Policy | |||||||
| 3D Flow Matching | |||||||
| 3D ManiFlow | |||||||
| NISE | |||||||
| MetaWorld medium / hard tasks | |||||||
| Task | DP3 | 3DDA | RVT-2 | NISE |
|---|---|---|---|---|
| Assemble the Gear | 4/30, 13.3 [5.3, 29.7] | 7/30, 23.3 [11.8, 40.9] | 11/30, 36.7 [21.9, 54.5] | 25/30, 83.3 [66.4, 92.7] |
| Remove the Petri Lid | 6/30, 20.0 [9.5, 37.3] | 10/30, 33.3 [19.2, 51.2] | 5/30, 16.7 [7.3, 33.6] | 20/30, 66.7 [48.8, 80.8] |
| Insert the Metal Pipe | 3/30, 10.0 [3.5, 25.6] | 8/30, 26.7 [14.2, 44.4] | 12/30, 40.0 [24.6, 57.7] | 22/30, 73.3 [55.6, 85.8] |
| Pour Test Tube into Mortar | 2/30, 6.7 [1.8, 21.3] | 6/30, 20.0 [9.5, 37.3] | 4/30, 13.3 [5.3, 29.7] | 13/30, 43.3 [27.4, 60.8] |
| Vision-Sorted Gear Collection | 4/30, 13.3 [5.3, 29.7] | 3/30, 10.0 [3.5, 25.6] | 7/30, 23.3 [11.8, 40.9] | 16/30, 53.3 [36.1, 69.8] |
| Sweep | Value | Val SR (%) | Selected | Readout |
| GCVSS weight | ||||
| GCVSS | 0.00 | 78.2 | – | GM3A-only control; no cross-view geometry shaping |
| GCVSS | 0.03 | 82.4 | – | useful signal, but still underweighted |
| GCVSS | 0.10 | 85.7 | best balance between geometry shaping and policy supervision | |
| GCVSS | 0.30 | 84.8 | – | similar but begins to overemphasize the auxiliary target |
| GCVSS | 1.00 | 81.6 | – | geometry loss competes too strongly with action learning |
Robotic Manipulation
Robotic manipulation studies how robots perceive, plan, and control physical interactions to grasp, move, assemble, and use objects.
See all 1,685 papers