PAPER DEEP DIVE
CAP: Continuously Adaptive Perception-Blind Humanoid Locomotion via Learned Denoising
Humanoid locomotion across complex terrain demands forward-looking exteroception to anticipate obstacles, yet this signal is unreliable in real-world deployment, failing partially and intermittently. Existing perceptive policies often assume that depth observations remain clean and in-distribution, while recent attempts to unify perceptive and blind control typically route or switch between separate sub-policies, leaving recoverable information in partially corrupted depth unexploited. We instead propose CAP, a single-stage humanoid locomotion policy that recovers this signal with a perceptive world-model encoder trained as a learned denoiser to reconstruct clean depth from a corrupted input, together with a co-active proprioceptive variational encoder that supplies depth-free body-state information. A coupled training recipe pairs a depth-noise curriculum on the world-model input with world-model feature dropout on the policy-facing latent, exposing the policy to failures across the entire perception-quality spectrum. In simulation, CAP matches or improves upon perceptive baselines when depth remains informative, and degrades more smoothly than a binary-switching baseline as perception worsens. On the Unitree G1, controlled trials and indoor-outdoor deployments demonstrate perception-robust locomotion under intermittent occlusion, real-sensor corruption, and outdoor depth artifacts.
In One Sentence
CAP replaces the perceptive-or-blind binary with a single continuously adaptive policy: a world-model encoder trained as a learned denoiser (corrupted depth in, rotation-stabilized clean depth out) fused with a co-active 50 Hz proprioceptive VAE, reaching 97.9% success under heavy depth corruption in simulation (Hiking 47.6%, binary switching 20.1%) and deploying zero-shot on a Unitree G1 with 19/20 successes under partial occlusion.
Background and Motivation
Humanoid locomotion over stairs, gaps, and hurdles cannot be solved by reacting to the ground underfoot; the policy must see ahead. A forward-facing depth camera supplies exactly this anticipation, but the signal is unreliable in deployment: motion blur, self-occlusion, and intermittent dropouts corrupt the depth stream. The crucial observation is that these corruptions are graded and transient rather than all-or-nothing. Depth may be partially degraded at one moment and usable again shortly after, so a real-world locomotion policy must remain competent across the entire perception-quality spectrum, from clean depth through partial corruption to complete loss.
Prior work attacks the spectrum from both ends and has recently tried to bridge them. Blind policies infer terrain and body state from proprioception alone and are immune to exteroceptive corruption by construction, at the cost of any anticipation. Perceptive policies consume depth directly; PIE enriches the visual latent with heightmap reconstruction and WMP with world-model autoencoding, but both assume depth observations stay clean and in-distribution, and they degrade when that assumption fails. Switching-based unification systems (VB-Com, MBC, RENet) train a perceptive and a blind sub-policy and route between them according to estimated perception reliability.
The paper's critique targets the assumption these paradigms share: that unreliable perception should be bypassed by the blind branch. That assumption is safe under complete sensor failure, but it treats partially corrupted depth as if it were fully corrupted, discarding information that could still be recovered. Concretely, perceptive policies trust degraded input as clean and degrade with it, while switching systems throw away usable depth the instant their gate flips and can introduce abrupt control changes. The authors note that no existing method recovers corrupted depth through denoising.
CAP occupies exactly this intermediate regime. Partial corruption typically leaves recoverable geometric cues in the depth history that prior policies neither denoise nor exploit. The paper recasts perception-robust humanoid locomotion as continuous adaptation rather than binary mode switching.
Figure 1 (paper Figure 1): CAP lets a single humanoid policy traverse complex terrain while adapting continuously under changing and corrupted perception. (a) Mixed-terrain cover-uncover episode. (b) Partial-occlusion examples with raw depth inputs (left, red) beside world-model reconstructions (right, green). (c) Outdoor deployment streams on grass and stairs.
Figure 2 (paper Figure 2): Dataflow of four paradigms. Blind policies omit depth, perceptive policies consume depth, and binary-switching systems gate between perceptive and blind branches. CAP keeps the denoising world-model and proprioceptive pathways co-active and continuously fused. Training-only critics and privileged signals are omitted.
Method
Architecturally, CAP is an asymmetric actor-critic coupled with two co-trained encoders: a perceptive world-model (WM) encoder and a proprioceptive variational (VAE) encoder. The asymmetry collapses training into a single stage: the actor receives only signals available on the deployed robot, while the critic additionally sees privileged simulation signals. Optimization runs on three concurrent tracks: PPO updates actor and critic; the VAE is co-trained on every PPO step under a reconstruction-plus-KL objective; and the WM is updated by a separate optimizer alongside PPO.
1. Policy and value networks: a shared-gate mixture of experts
The policy-side raw observations are a proprioceptive vector $o_t$ and an egocentric depth image $d_t$. The proprioceptive vector stacks
$$o_{t}=[\,\omega_{t},\,g_{t},\,c_{t},\,\theta_{t},\,\dot{\theta}_{t},\,a_{t-1}\,]^{\top}\in\mathbb{R}^{45}$$
body angular velocity $\omega_t$, projected gravity $g_t$, velocity command $c_t$, joint positions $\theta_t$, joint velocities $\dot{\theta}_t$, and the previous action $a_{t-1}$. The depth image $d_t$ comes from a forward-facing depth camera at 10 Hz and may be corrupted during training.
The two encoders compress these signals into latents: the WM encoder fuses $o_t$ and $d_t$ into $z^{\text{wm}}_t$ at 10 Hz, while the VAE encoder compresses a proprioceptive history $o^H_t=[o_{t-H+1},\dots,o_t]$ of length $H$ into $z^{\text{vae}}_t$ at 50 Hz. The actor input concatenates proprioception with both latents,
$$z^{a}_{t}=[\,o_{t},\,z^{\text{wm}}_{t},\,z^{\text{vae}}_{t}\,]^{\top}$$
and is routed through the actor branch of a shared-gate mixture of experts: a gating network reads $z^a_t$ and combines the outputs of $K$ experts into the action $a_t$. Per Appendix A.1 the actor input is $45+32+16=93$ dimensional, the gate is a 128-unit hidden layer with a softmax over $K=4$ experts, and each expert is a [256, 128, 64] MLP with ELU activations. Because the gate reads the joint visual-proprioceptive representation, both pathways remain co-active across all perception conditions instead of being selected between.
The critic mirrors the actor input and additionally accesses privileged signals unavailable on the deployed robot:
$$z^{c}_{t}=[\,z^{a}_{t},\,v_{t},\,e_{t},\,m_{t}\,]^{\top}$$
where $v_t$ is base linear velocity, $e_t$ the external disturbance force applied during domain randomization, and $m_t$ a local heightmap scan sampled from terrain ground truth. The heightmap gives the critic a clean exteroceptive signal for value estimation, independent of the actor-side depth path exposed to corruption. The critic routes through $K$ experts reusing the actor's gating weights with a stop-gradient, so the value loss cannot perturb routing, and outputs $\hat{V}_t$. Appendix B.4 quantifies this choice: removing the heightmap-augmented critic drops Noisy average success from 97.9% to 94.8% and average return from 40.6 to 38.7.
2. Perceptive WM encoder: decoupling input from target
This is the paper's central design decision. In standard Dreamer-style autoencoding the decoder reconstructs the encoder's own input; CAP decouples input from target. The encoder ingests the observed depth $d_t$, while the decoder is trained against a separate rotation-stabilized clean depth $d^{\mathrm{tgt}}_t$. The target view is rendered with camera roll and pitch fixed to nominal values (yaw still follows body heading), so the objective forces the encoder to learn two things at once: a denoising map from corrupted to clean depth, and a transformation from the body-tilted sensor frame into a horizon-aligned reference frame. Neither transformation is induced by a standard autoencoding objective.
The encoder is instantiated as a DreamerV3 recurrent state-space model (RSSM) with state $s_t=(h_t,z_t)$ comprising a deterministic recurrent component $h_t$ and a stochastic latent $z_t$:
$$\begin{aligned} h_{t}&=f_{\phi}(h_{t-k},\,z_{t-k},\,a_{t-k:t-1}),\\ z_{t}&\sim q_{\phi}(\cdot\mid h_{t},o_{t},d_{t}),\\ \hat{z}_{t}&\sim p_{\phi}(\cdot\mid h_{t}),\\ (\hat{o}_{t},\hat{d}_{t}^{\mathrm{tgt}})&\sim p_{\phi}(\cdot\mid h_{t},z_{t}) \end{aligned}$$
The four lines are the recurrent update, posterior, prior, and decoder. Here $k$ is the number of policy steps between consecutive WM updates (WM runs at 10 Hz against a 50 Hz policy, so $k=5$) and $a_{t-k:t-1}$ is the action sequence executed in between. The RSSM is trained jointly with the policy by minimizing
$$\mathcal{L}_{\mathrm{WM}}=\mathbb{E}_{q_{\phi}}\Big[-\log p_{\phi}\big(d_{t}^{\mathrm{tgt}}\mid h_{t},z_{t}\big)-\log p_{\phi}\big(o_{t}\mid h_{t},z_{t}\big)+\beta_{\text{wm}}\,\mathrm{KL}\big(q_{\phi}(\cdot\mid h_{t},o_{t},d_{t})\,\|\,p_{\phi}(\cdot\mid h_{t})\big)\Big]$$
the denoising reconstruction, the proprioceptive reconstruction, and a KL regularizer. It is precisely the input-target mismatch $d_t\neq d^{\mathrm{tgt}}_t$ that distinguishes $\mathcal{L}_{\mathrm{WM}}$ from prior Dreamer-based formulations. The relative weighting of reconstruction and KL terms is balanced by harmony-style adaptive scaling rather than a hand-tuned constant. The prior $p_\phi(\cdot\mid h_t)$ lets the WM predict forward when observations become unreliable; this temporal carry-over bridges brief corruption but can overshoot under sustained perception loss, a failure regime the authors call WM overshoot. It motivates both the dual-pathway design and the feature dropout below.
Structurally, the RSSM uses a 512-dimensional deterministic state and a $32\times32$ categorical stochastic latent. A small MLP learned with the actor under PPO projects $h_t$ into the actor-facing latent $z^{\text{wm}}_t=\mathrm{MLP}_\psi(h_t)$, mapping 512 dimensions through [64, 64] down to 32. The stochastic component $z_t$ stays internal to the WM.
3. Proprioceptive VAE encoder: body state at the control rate
The VAE encoder runs at the 50 Hz control rate, takes no depth input, and maps the proprioceptive history $o^H_t$ to a body-state latent $z^{\text{vae}}_t$ while predicting the next-step proprioception $\hat{o}_{t+1}$. It complements the WM along modality and time-scale: the VAE tracks short-horizon body dynamics at control rate, while the WM integrates depth and proprioception at 10 Hz to capture longer-horizon terrain structure. Its objective is the standard $\beta$-VAE form
$$\mathcal{L}_{\mathrm{VAE}}=\mathrm{MSE}\big(\hat{o}_{t+1},\,o_{t+1}\big)+\beta_{\text{vae}}\,\mathrm{KL}\big(q_{\theta}(z^{\text{vae}}_{t}\mid o^{H}_{t})\,\|\,p(z^{\text{vae}}_{t})\big)$$
Per Appendix A.1 the VAE encoder is [128, 32], the decoder [32, 128], the latent is 16-dimensional, the history length is $H=5$ (a 100 ms window at 50 Hz), $\beta_{\text{vae}}=0.005$, and it is co-optimized on every PPO iteration.
Neither pathway is sufficient alone. The WM can drift in the overshoot regime; the VAE, lacking exteroceptive input, cannot anticipate exteroception-required terrain such as platform edges, gaps, or hurdles. The design is therefore co-active rather than primary-backup, and Appendix B.3 supplies direct evidence: on a threshold-tuned binary-switch baseline the proprioception-only branch duty stays below 1% at every test stage, i.e. the gate almost never actually switches, yet CAP still wins across all conditions.
4. Coupled training: input-side noise curriculum and latent-side feature dropout
Real depth carries artifacts the simulator does not model. The authors inject five composable corruption channels into $d_t$ during training, ordered from pixel-level to frame-level disturbance: Gaussian sensor noise for read noise, salt-and-pepper noise for sporadic invalid pixels, patch occlusion for lens contamination, edge occlusion for parallax and self-occlusion at depth discontinuities, and full-frame failure for sensor failures. A per-environment severity $n_e$ scales all five channels jointly, and three profiles Nominal / Degraded / Severe correspond to clean, partial perception loss, and complete perception loss.
Within each profile an adaptive update tracks each environment's rolling success rate $\bar{s}_e$ and steps the difficulty by
$$n_{e}\leftarrow\begin{cases}n_{e}+1 & \bar{s}_{e}\geq\tau_{\uparrow}\\ n_{e}-1 & \bar{s}_{e}\leq\tau_{\downarrow}\\ n_{e} & \text{otherwise}\end{cases}$$
clipped to $[0,N_{\max}]$ with $N_{\max}=10$. Difficulty therefore tracks policy competence per environment automatically, with no hand-built curriculum schedule. On exteroception-required terrains (Platform, Gap, Hurdle) the Severe profile is excluded to keep the depth signal usable, and the full-frame failure time ratio is capped at 0.05.
The second mechanism acts on the latent side. During training the WM produces a reliable $z^{\text{wm}}_t$; without regularization the policy leans on it heavily and leaves the proprioceptive pathway under-exercised. CAP applies per-environment WM-feature dropout with drop probability
$$p_{e}=\big(n_{e}/N_{\max}\big)\,p_{\max}$$
sharing the severity $n_e$ with the depth-noise curriculum, so each environment trains under matched input-side and latent-side corruption. When triggered, the $z^{\text{wm}}_t$ entering the policy is replaced by one of three corruptions chosen uniformly: Absent (zeroed out, removing WM support), Corrupted (additive Gaussian noise at per-feature scale), and Misaligned (a cross-environment shuffle that swaps in another environment's $z^{\text{wm}}_t$).
The two mechanisms cover complementary axes of perception failure: depth noise is input-side corruption training in-distribution WM denoising, while feature dropout is latent-side corruption exposing the policy to OOD-like WM prediction errors. The division of labor shows up in Appendices B.4 and B.5: removing feature dropout barely moves the Clean/Noisy anchors (Noisy average success 97.5% versus CAP's 97.9%, average return even slightly higher at 40.9), because those anchors do not expose the regime it targets.
flowchart TB
subgraph INPUT[Sensor input]
DN[Depth noise curriculum
5 channels, severity n_e]
D[Corrupted depth d_t
10 Hz]
O[Proprioception o_t
50 Hz]
end
DN -- injects --> D
subgraph WM[Perceptive world model - RSSM at 10 Hz]
ENC[Encoder q_phi
h_t, z_t
recurrent on a_t-k:t-1]
DEC[Decoder p_phi]
TGT[Rotation-stabilized
clean depth d_t_tgt]
PROJ[MLP_psi projects h_t
to z_wm 32d]
end
D --> ENC
O --> ENC
ENC --> DEC
DEC -- reconstructs --> TGT
ENC --> PROJ
subgraph VAE[Proprioceptive VAE at 50 Hz]
HIST[History o_t_H, H=5]
VE[Encoder q_theta to z_vae 16d]
end
O --> HIST
HIST --> VE
subgraph POL[Shared-gate MoE policy at 50 Hz]
DROP[WM feature dropout
p_e = n_e/N_max * p_max
Absent / Corrupted / Misaligned]
GATE[Gate 128 to softmax over K=4]
EXP[4 experts 256-128-64 ELU]
ACT[Action a_t, 12 joints]
end
PROJ --> DROP
DROP --> GATE
VE --> GATE
O --> GATE
GATE --> EXP
EXP --> ACT
subgraph CRIT[Privileged critic - training only]
HM[Heightmap m_t + base vel v_t + push e_t]
VAL[V_hat_t with stop-gradient gate]
end
GATE --> VAL
HM --> VAL
Training and Evaluation Protocol
All simulation experiments use the Unitree G1 in Isaac Gym with 16384 parallel environments over four terrain classes: Stair, Platform, Gap, and Hurdle. PPO runs for 20000 iterations with rollout length 24, 5 epochs and 4 minibatches per update, Adam at learning rate 1e-3 with KL-adaptive scheduling (target KL 0.01), clip ratio 0.2, discount $\gamma=0.99$, and GAE $\lambda=0.95$. The WM uses a separate optimizer at learning rate 1e-4, batch 16 with sequence length 48, and 10 gradient steps per PPO iteration. Rewards weight velocity tracking and yaw tracking at 2.0 each, lateral velocity at -2.0, and base height as $-12.0\,(h-0.72)^2$. Robot domain randomization covers payload ±5 kg, friction [0, 1.25], pushes ±0.75 m/s, forces ±50 N, and actuation delay 0-15 ms; camera randomization covers position ±0.02 m, roll/pitch/yaw ±[1°, 2°, 1°], focal scale $f_x$ in [0.9, 1.15] and $f_y$ in [0.85, 1.1] of nominal, and principal-point offsets ±0.05 of the image center.
Evaluation uses fixed corruption stages rather than the adaptive training curriculum: Clean draws the Nominal profile with $n_e\sim\mathrm{U}[0,3]$, Noisy draws the Degraded profile with $n_e\sim\mathrm{U}[7,9]$, and Full failure draws the Severe profile with $n_e=9$ on Stairs only. Every method is evaluated on 4096 environments split equally across the four terrain categories under three random seeds, reporting the seed mean. Auto-reset is disabled, so each environment contributes a single trajectory and its first termination locks the outcome; each environment's noise realization is fixed across methods by seed, isolating architecture and training recipe from the evaluation distribution. All policies follow a constant 0.8 m/s forward command over a 20 s horizon, with the goal placed 0.5 m before the end of a 10 m tile. Failure conditions are time-out, lateral deviation beyond 0.75 m, posture collapse (base height below 0.3 m above local terrain, or roll/pitch beyond 1.0 rad), or leaving the evaluation envelope. Terrain difficulty is sampled in the high band $d\sim\mathrm{U}[0.8,1.0)$: stair step height 0.05 to 0.23 m, platform step height 0.10 to 0.45 m, gap width 0.10 to 0.85 m, hurdle height up to 0.45 m.
Results
1. Anchor cells: no clean-depth tax, no noisy-depth collapse
Table 1 evaluates two anchor cells and should be read as two tests: does robust training compromise clean-depth locomotion, and does the method remain usable when depth degrades? CAP passes both, achieving the best average success rate and average return at both anchors.
| Method | Clean Stair | Clean Plat. | Clean Gap | Clean Hurd. | Clean Avg. SR | Clean Avg. Ret. | Noisy Avg. SR | Noisy Avg. Ret. |
|---|---|---|---|---|---|---|---|---|
| Hiking (perceptive, no reconstruction) | 92.3 | 93.7 | 96.3 | 83.0 | 91.3 | 38.3 | 47.6 | 22.7 |
| PIE (heightmap reconstruction) | 98.7 | 95.8 | 99.8 | 97.4 | 97.9 | 38.8 | 88.4 | 35.2 |
| Binary-switch (hard switching) | 94.4 | 96.1 | 91.0 | 92.7 | 93.6 | 38.5 | 20.1 | 14.5 |
| CAP without noise curriculum | 98.9 | 99.6 | 100.0 | 99.8 | 99.6 | 41.7 | 89.2 | 37.3 |
| CAP without VAE encoder | 95.7 | 99.6 | 99.9 | 93.4 | 97.1 | 40.4 | 94.3 | 39.3 |
| CAP without MoE | 87.3 | 98.0 | 100.0 | 99.0 | 96.1 | 39.7 | 91.2 | 38.5 |
| CAP (full) | 99.3 | 99.9 | 100.0 | 99.4 | 99.6 | 41.7 | 97.9 | 40.6 |
Several entries deserve individual attention. Hiking collapses to 1.7% on Gap and 47.6% average success under Noisy depth despite training with the same depth-noise curriculum: the curriculum alone, without a denoising reconstruction objective, does not buy robustness. PIE is the strongest non-world-model perceptive baseline at 88.4% Noisy average success, still 9.5 points below CAP. Binary-switch retains only 20.1% under Noisy, with Platform, Gap, and Hurdle all at 0.0 and Stair alone at 80.6%, because stairs are the one terrain proprioception can support on its own.
The ablation rows separate the component roles. Removing the MoE hurts both anchors, with the largest Clean loss on Stair (99.3% down to 87.3%). Removing the noise curriculum leaves Clean performance untouched (99.6% either way) but drops Noisy from 97.9% to 89.2%, confirming that corrupted-depth robustness comes from the curriculum. Removing the VAE encoder causes a consistent loss at both anchors, especially on Stair and Hurdle, at 94.3% Noisy; this refutes the reading of the VAE as a vision-absent fallback and supports its role as a high-frequency co-active stream complementing the lower-rate WM.
2. Perception-quality sweep: gradual degradation becomes gradual locomotion degradation
Figure 3 (paper Figure 3): Graceful degradation across the eight-stage sweep. Top: exteroception-required average success rate over Platform, Gap, and Hurdle. Bottom: exteroception-optional Stair success rate. CAP degrades smoothly through the Degraded range, while Binary-switch drops abruptly when its gate selects the blind branch.
The sweep runs eight stages from nominal depth to severe failure, with the severe endpoint tested only on Stair. On exteroception-required terrains the Blind baseline stays near the proprioceptive floor; CAP degrades smoothly across the Degraded range, Hiking steadily loses performance without a reconstruction objective, PIE declines more mildly thanks to reconstruction regularization, and Binary-switch suffers an abrupt drop when its gate selects the blind branch. On Stair, where exteroception is optional, the desired behavior is to approach the blind reference as the exteroceptive signal becomes uninformative: CAP stays close to that reference through the Degraded sweep and the Severe tail, whereas Binary-switch remains below the blind reference even under Severe failure. Hard branch selection stays brittle even when blind locomotion is viable. The authors present this curve shape as the central behavioral evidence for graceful degradation: smoothness across the perception-quality spectrum is not generic to perceptive policies but is achieved by CAP's continuous fusion.
To rule out the explanation that the switching baseline was simply poorly tuned, Appendix B.3 trains a matched variant: same policy and world-model backbone, matched training capacity, CAP's depth-noise curriculum, and fixed reward, terrain suite, and training budget. The switching threshold is selected on a validation set over the grid $\{0.25,0.5,0.75,1,1.25,1.5,2,4,8,16\}\beta_0$ using three validation seeds at Nominal, Deg-3, and Deg-9, then frozen for testing on separate seeds.
| Method (success rate %) | Nominal | Low corruption [0,3] | High corruption [7,9] | Full cover (Stair only) |
|---|---|---|---|---|
| Binary-switch (matched capacity and curriculum) | 97.96 | 91.90 | 86.27 | 84.96 |
| CAP | 99.40 | 98.68 | 97.59 | 93.78 |
Validation selects the largest threshold in the grid, $16\beta_0$. With that threshold fixed, the mean proprioception-only branch duty remains below 1% at every test stage, and CAP achieves higher success rates across all four reported conditions. The authors' reading is that corruption-aware training reduces the need for a hard handoff: the perceptive branch learns to operate with degraded depth, so partial corruption does not make its features unusable, and switching away discards useful terrain information.
3. Real-world experiments: zero-shot deployment on the G1
The policy transfers directly from simulation to the Unitree G1 with no real-world fine-tuning, controlling only the lower body: 12 joint commands for the two legs (hip pitch/roll/yaw, knee, ankle pitch, ankle roll per side), with waist and arm joints held at fixed position targets. The low-level interface uses Unitree's DDS command/state channels: a 500 Hz control loop publishes the latest PD joint targets while the learned policy updates lower-body targets at 50 Hz. The depth path keeps preprocessing deliberately simple: the D435i stream is read at 480x270 and converted to the 48x64 depth tensor by clipping to the training depth range, resizing/cropping to the network input size, and normalization. No depth completion, hole filling, or temporal denoising is added at deployment; the same lightweight geometric preprocessing serves clean, occluded, and flash-corrupted episodes, and residual real-sensor artifacts are handled by the trained WM-policy system.
Real-time execution separates the low-rate WM update from the high-rate policy graph. The WM loop runs at 10 Hz, consuming proprioception, the latest depth frame, and recent actions to update its recurrent latent, then copies the deterministic latent into a thread-safe shared buffer. In parallel, the 50 Hz policy loop reads the latest available WM latent together with the current proprioceptive history. Both models are exported as ONNX graphs executed with ONNX Runtime; preallocated input buffers and short non-nested locks keep policy-side update latency at approximately 2 ms.
| Perception condition ($n=5$ trials per cell) | Stair | Platform | Gap | Mixed | Total |
|---|---|---|---|---|---|
| Clean | 5/5 | 5/5 | 5/5 | 5/5 | 20/20 |
| Partial occlusion | 5/5 | 4/5 | 5/5 | 5/5 | 19/20 |
| Full cover | 5/5 | 0/5 | 0/5 | 0/5 | 5/20 |
Figure 4 (paper Figure 4): Real-world deployment of CAP on the G1. (a) Mixed-terrain cover-uncover. (b) Flash-induced depth corruption on mixed terrain. (c) Outdoor deployment on platform, grass, and stair scenes. Insets show synchronized raw depth inputs (left, red) and WM reconstructions (right, green).
Clean and partial-occlusion conditions together yield 39/40 successes, with the single failure on Platform. Under full cover, Stair succeeds 5/5 while Platform, Gap, and Mixed each fail 0/5: covering the camera entirely removes the visual cues needed to anticipate platform edges and gap widths, and proprioception alone is insufficient for those obstacles in the tested conditions. This matches the simulation sweep's division between exteroception-optional and exteroception-required terrain, and it is the capability boundary the authors acknowledge.
Figure 4(a) is the key transition case: in a single mixed-terrain episode the robot ascends stairs under camera cover, then continues through the gap and stair descent after perception is restored, testing continuity through transient exteroceptive loss and re-acquisition. Denoising is illustrated by Figure 1(b), where corrupted but informative raw depth is paired with WM reconstructions that preserve traversable structure; the partial-occlusion row of Table 2 is its controlled quantitative counterpart. Beyond physical occlusion, Figure 4(b,c) tests real-sensor artifacts and outdoor deployment: flash corruption creates large invalid regions in raw depth while the WM reconstruction preserves the main traversable structure, and outdoor platform, grass, and stair trials expose the policy to vegetation-induced depth artifacts beyond the simulator's noise channels.
Figure 5 (paper Figure A1): Full-cover stair-to-plane recovery. Stroboscopic rollouts on the same four-step ascending-stair-to-plane transition under full camera cover. Red boxes mark unnecessary stair-like high-clearance steps after the robot reaches flat ground; green boxes mark recovery to a steady plane stride. (a) With WM-feature dropout, CAP returns to plane walking after one extra clearance. (b) Without dropout, the policy continues stair-like high clearance for two steps before recovery.
This case study answers what feature dropout actually fixes. It has almost no effect at the Clean/Noisy anchors because those anchors do not expose the regime it targets. The setup: the robot climbs a four-step ascending staircase with the camera fully covered, then steps from the final stair onto flat ground. With depth unavailable, the WM predicts forward from a prior fit to the training terrain distribution and keeps "seeing" stairs that are no longer there, the overshoot regime. With dropout, the policy returns to plane walking after one extra high-clearance step; without it, two. The difference is a single step, but it is a qualitative behavioral difference, and the authors offer only this qualitative evidence, with no quantitative metric attached.
Figure 6 (paper Figure A2): Additional real-world deployment episodes beyond Figure 4. Indoor panels show controlled stair, platform, and mixed-terrain trials with synchronized raw-depth insets; outdoor panels show transfer to platform edges, outdoor stairs, and grass/vegetation scenes with depth artifacts.
Discussion: What Actually Changes Here
First, the paper recasts perception robustness from a gating problem into a representation-learning problem. Switching methods implicitly assume one must first decide whether perception is reliable and then decide whether to use it; reliability estimation needs a detector, the detector needs a threshold, and the threshold gets selected on a validation set (the matched Binary-switch here searched ten candidates and landed on the largest, $16\beta_0$). CAP sidesteps the whole chain: it never estimates reliability, instead training the encoder to map corrupted input into a latent from which the decoder reconstructs clean depth, so "whether to use perception" becomes a continuous consequence of fusion weights. The sub-1% branch duty is the sharpest evidence available that when continuous fusion is on the table, hard switching barely gets selected at all.
Second, input-target decoupling is the most reusable trick in the paper. The DreamerV3 RSSM is off the shelf, the MoE is off the shelf, the $\beta$-VAE is off the shelf, and depth noise injection is not new. The genuine novelty is making the decoder's supervision target something other than the encoder's input: a rotation-stabilized clean depth. That single change buys both a denoising map and a frame alignment, with no new modules and no new hyperparameters. The natural comparison is MGDP, which learns noise-resistant depth representations via a contrastive U-Net reconstructing clean targets from corrupted inputs; the idea is related, but MGDP evaluates only moderate pixel-level corruption and stays inside the perceptive-policy regime, never covering the complete-failure end of the spectrum.
Third, the paper gives graceful degradation a measurable definition. Robustness claims usually amount to success rates under a handful of corruption settings; here it becomes a curve across eight perception-quality stages with two distinct expected behaviors: smooth decline on exteroception-required terrain, and convergence to the blind reference on exteroception-optional terrain. That evaluation protocol transfers more readily than any single number in the tables.
Limitations and Risks
The authors state three boundaries explicitly. CAP does not yet address safety at the boundary of perception-conditioned locomotion. Large out-of-distribution geometric errors, such as substantial camera-extrinsic drift, may still make the denoised percept unreliable. And under complete perception loss on exteroception-required terrain, degrading toward blind locomotion must be paired with recovery from failed steps or fall-prone states, which the paper does not provide. Their stated future directions are reliability estimation, risk-aware action selection, and safe recovery; in other words, the current system does not know when it should stop walking.
Beyond the authors' own list, several results deserve reader-side discounting. The real-robot quantitative results use $n=5$ trials per cell, so the difference between 19/20 and 39/40 carries no statistical significance at that sample size, and the 0/5 cells under full cover demonstrate capability absence without quantifying its margin. Simulation evaluation fixes a single 0.8 m/s forward command and a fixed high-difficulty band $d\in[0.8,1.0)$, so Table 1 numbers should not be extrapolated to variable speeds or moderate terrain. Binary-switch is the authors' own controlled adaptation of the switching paradigm inside the CAP framework rather than a verbatim RENet reimplementation (Appendix B.2 states this), which bounds how strongly the continuous-fusion-over-hard-switching conclusion can be pushed. WM overshoot rests on a single qualitative case study with no quantitative metric. Code is not yet released, leaving the appendix hyperparameter tables as the only implementation reference.
Conclusion and Outlook
CAP composes three ingredients into a single-stage policy: a world-model encoder trained as a learned denoiser that maps corrupted depth to a latent from which the decoder reconstructs rotation-stabilized clean depth, a co-active proprioceptive variational encoder running at the control rate, and a coupled degradation recipe pairing an input-side depth-noise curriculum with latent-side WM-feature dropout. Simulation and Unitree G1 experiments show that this design turns partial perception failure into graceful degradation within one policy rather than a discrete perceptive-to-blind handoff.
For the embodied-AI community the practical takeaway is a different first instinct. When a system collapses under sensor degradation, the reflex is to add a reliability detector and switch branches; this paper suggests checking the perception encoder's reconstruction target instead. If the decoder reconstructs its own input, the encoder has no incentive whatsoever to recover corrupted information. Replace the target with a clean reference and denoising capacity arrives as a byproduct. The engineering difficulty then moves from "deciding whether perception is broken" to "defining the clean reference", and for depth cameras that reference happens to be renderable from simulation ground truth.

