DL0162 World Model Object Permanence

How do world models maintain object permanence over long video generation horizons when an object is fully occluded behind another vehicle or building?

Answer

Object permanence is not a property a next-frame predictor gets for free. During a full occlusion the pixels that evidence the object are simply absent, so nothing in the current observation constrains what should re-emerge, and the only thing that can carry the object across the gap is state that outlives the pixels. Production world models therefore rely on three memory mechanisms, usually in combination: a long context of past frame latents that the generator can re-attend to, a recurrent latent state whose prior propagates unobserved objects forward, and an explicit pose-indexed geometric memory (object slots, 3D boxes, or a bird’s-eye-view layout) that is re-projected into the image when the occluder clears. Google DeepMind’s Genie 3 makes the first mechanism explicit, generating 720p frames at 24 fps with a reported visual memory extending roughly one minute into the past, while driving world models in the GAIA line lean on structured conditioning such as other agents’ 3D boxes and the ego trajectory. The practical question in an interview is therefore never “does the model understand permanence” but “does the information survive the occlusion window, and at what cost”, because a 2.5 second occlusion at 24 fps is 60 frames of pure extrapolation and the memory horizon either covers it or the object is re-invented rather than remembered.

(1) Occlusion Is A Missing-Evidence Problem: the observation likelihood contributes nothing about the hidden object, so generation must fall back on the dynamics prior rather than on perception.
(2) Long Context Buys Re-Readable Memory: keeping the last H frames of latents lets attention look back at the pre-occlusion view, at the price of a KV cache linear in H and a quadratic prefill.
(3) Recurrent State Buys Constant Cost: a fixed-size latent s_t carries the object at O(1) memory per step, but its finite capacity makes identity attributes drift instead of vanishing abruptly.
(4) Explicit 3D Memory Buys Correct Re-Projection: storing object records with poses turns re-emergence into geometry, so the vehicle reappears at the right pixel and the right moment.
(5) The Failure Signature Differs Per Mechanism: a hard cliff when T_{\mathrm{occ}} exceeds H, a smooth decay for recurrent state, and mis-registration under ego-pose drift for geometric memory.
(6) Rollout Stability Is A Separate Axis: teacher-forced training with fully autoregressive inference creates exposure bias, so small per-frame errors compound and corrupt identity even when the object is never occluded.

Architecture diagram in which an observation, an action, and a video tokenizer feed three parallel memory blocks: a long-context attention cache over the last H frames, a recurrent latent state whose prior propagates hidden objects, and a pose-indexed 3D or bird's-eye-view memory holding explicit object slots; all three condition a diffusion or autoregressive generator that predicts the next frame, which is appended back into the context as an autoregressive loop

Figure 1: Three places a hidden object can live. The generator is identical in all three cases; what changes is which memory still contains the occluded vehicle at frame t, and therefore whether the model re-renders the same car or invents a new one.

The cleanest way to reason about the recurrent path is the standard latent-dynamics factorization used by Dreamer-style world models. A posterior q(s_t \mid s_{t-1}, a_t, o_t) fuses the new observation, while a prior p(s_t \mid s_{t-1}, a_t) predicts the next state without one. Under full occlusion the object’s contribution to the posterior disappears, so the model is effectively running the prior for T_{\mathrm{occ}} steps on that part of the scene, which is exactly the regime where capacity limits and accumulated error show up. Long-context attention avoids that open-loop integration by re-reading the original evidence, but only if the pre-occlusion frames are still inside the window: once they are evicted, the model has no way to distinguish “a red hatchback was there” from “some vehicle may exist”, and it samples a plausible fresh instance. Explicit memory sidesteps both problems by storing a symbol rather than a distributed code, which is why driving-domain world models condition on agent boxes and map layouts instead of hoping attention rediscovers them.

Line chart of a target vehicle's lateral road position in metres against frame index from 0 to 140, with a shaded band marking a 60-frame full occlusion. The ground-truth trajectory is a dotted grey line; an explicit 3D memory model tracks it closely after the occlusion, a long-context model re-emerges about 1.2 metres off-lane and slowly converges back, and a short-context model produces no object after the occlusion until a spurious new vehicle appears far from the true trajectory

Figure 2: What re-emergence actually looks like. The occlusion window is identical for all three models; the difference appears only after the occluder clears, where the short-context rollout hallucinates a fresh instance in the wrong lane and the long-context rollout keeps the object but mis-registers its position, while pose-indexed memory lands on the true trajectory.

Mathematical Formulation:
p(x_{1:T} \mid a_{1:T}) = \prod_{t=1}^{T} p(x_t \mid m_t, a_t)
m_t = (x_{t-H:t-1},\; s_{t-1},\; \mathcal{M}_{t-1})
q_t = q(s_t \mid s_{t-1}, a_t, o_t)
p_t = p(s_t \mid s_{t-1}, a_t)
T_{\mathrm{occ}} = \Delta t \cdot \mathrm{fps}
H \geq T_{\mathrm{occ}}

Where:

  • x_t is the generated frame latent at step t and a_t the conditioning action or control (steering, camera pose, text instruction).
  • m_t is everything the generator may condition on: the context window of past latents, the recurrent state, and the persistent geometric memory.
  • H is the memory horizon in frames and N_p the number of latent tokens per frame, so the window holds H N_p tokens.
  • q_t is the posterior that uses the observation o_t and p_t the prior that does not; under full occlusion the object is carried only by p_t.
  • \mathcal{M}_t is the explicit memory: object records with identity, extent, and pose, plus the camera pose needed to re-project them.
  • T_{\mathrm{occ}} is the occlusion length in frames, obtained from its duration \Delta t and the frame rate; the last line is the necessary condition for a pure context window to bridge it.
  • L and d are the number of attention layers and the model width, which set the cache and prefill costs below.

Bridging A 2.5 Second Occlusion At 24 fps:
T_{\mathrm{occ}} = 2.5 \times 24 = 60
H N_p = 60 \times 256 = 15360
\mathrm{cache} = O(H N_p L d)
\mathrm{prefill} = O((H N_p)^2 d)
R(600) = 0.995^{600} \approx 0.05

Sixty frames of latents at 256 tokens per frame is 15,360 tokens of context bought for a single occlusion, and every additional second of horizon costs another 6,144 tokens of cache plus a quadratic increase in prefill work, which is precisely why real-time interactive world models cap H aggressively and then need a cheaper memory. The last line models the orthogonal failure: if identity is corrupted independently at each step with probability \delta = 0.005, the retention rate R(T) = (1-\delta)^{T} leaves only about 5% of objects intact after a 600-frame (25 second) rollout even with no occlusion at all. Permanence over long horizons is therefore two bugs wearing one coat: a horizon bug that shows up as a cliff, and a drift bug that shows up as exponential decay.

Chart of correct re-emergence rate against occlusion duration in frames from 0 to 240 for four memory mechanisms: a 16-frame context window collapses sharply just after 16 frames, a 96-frame context window stays high then collapses just after 96 frames, a recurrent latent state decays smoothly and geometrically, and a pose-indexed 3D memory stays near 0.9 across the whole range, with vertical markers at the two context horizons and at the 60-frame mark

Figure 3: Two distinct shapes of failure. Finite context gives a step cliff exactly at T_{\mathrm{occ}} = H, recurrent state gives geometric decay from capacity limits and compounding error, and explicit pose-indexed memory is nearly flat because duration costs it almost nothing.

PropertyLong-context attentionRecurrent latent stateExplicit 3D / object memory
What survives the gapRaw pre-occlusion frame latents, re-readable by attentionA compressed distributed code of the whole sceneSymbolic object records: identity, extent, pose, velocity
Cost of a 60-frame occlusionAbout 15,360 cached tokens, with quadratic prefill growthOne fixed-size state vector, independent of durationA few object records plus one camera pose per frame
Hard limitThe horizon itself: nothing outside H frames existsState dimensionality and compounding prior errorDetector, tracker, and pose accuracy; assumes rigid objects
Dominant failure modeCliff: a fresh instance with new colour, size, and laneDrift: right object class, wrong attributes and timingMis-registration under pose drift, or duplicated instances
Typical homeVideo diffusion transformers and interactive frame modelsDreamer-style latent world models for controlDriving world models conditioned on agent boxes and layouts

Login to view more content


Log in to track your progress

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *