A hole sits in the middle of the view. Move the camera slowly: the hole fills from a
remembered image that is carried with the motion. Before it is believed, the memory is checked
against what is visible right now. Point the camera somewhere else, or inject a stored memory of
another place, and watch the trust drop to zero. From
SihtiImageModel5.
What it sees. The grey box is the occluder. Drag it.This frame only. Smooth guess from the edges of the hole.Living paper. Memory inside the same fill energy, weighted by trust.Memory held × trust. Bright: remembered and believed. Dark: unknown or rejected.
waiting for frames…
What is going on
Each frame the page estimates how the whole view moved (an integer shift, from pixels visible in both
frames), carries its remembered image m and its per-pixel confidence π along with that motion,
and fills the hole by minimising one energy: smoothness between neighbouring pixels plus
β·trust·π·(x − m)². Only real observations add confidence; filled-in pixels never do, so the paper
cannot learn from its own guesses.
The check
On visible pixels the carried memory makes a prediction. Each prediction error is scored by how expected
it is under "this memory is of this scene" versus "unrelated", pooled near each pixel and over the frame:
trust = P(same | nearby errors) · P(same | all errors). A memory of somewhere else is switched off; the
hole falls back to the plain guess.
Honest limits
This is a simplified browser version. It uses a smoothness prior instead of Model 5's learned patch
mixture, handles only sideways/up-down camera motion (not rotation, zoom or moving objects), and the
trust pooling constants are tuned for live video by hand. If the world changes only behind the occluder,
nothing visible can reveal it, and the paper will paint the old content. Everything runs locally; no
video leaves your browser.