Skip to content

Memory Revisit Fidelity

This metric evaluates whether a revisited viewpoint reproduces the frame the model itself generated earlier at the same estimated pose. Pairs are read from the pose track, so the score measures memory rather than whether the action program was executed symmetrically. It does not verify epipolar geometry or illumination statistics—see memory_geometric_closure and memory_rendering_recovery.

The metric shares one analyze_memory_rollout pass with the other memory metrics. A failed memory_return_gate does not block scoring. If strict revisit pairs are absent, nearest earlier poses satisfying the minimum time gap supply fallback pairs (pair_source=nearest_pose_fallback); gate status and pose distances remain in the details. Revisit pairs are bucketed by time gap and at most KK pairs are kept (default max_scored_pairs = 24), always retaining the shortest and longest gaps for the forgetting curve. Only those paired frames are decoded; the full 6060-second video is never loaded.

For the kk-th pair (Iik,Ijk)(I_{i_k}, I_{j_k}), DINOv2 yields L2L_2-normalized features z(⋅)\mathbf{z}(\cdot); cosine similarity is mapped into [0,1][0,1]. The structural term is per-channel RGB SSIM, averaged and clamped to [0,1][0,1]:

sDINO(I,I′)=clamp[0,1] ⁣(z(I)⋅z(I′)+12)(1)s_{\mathrm{DINO}}(I,I') = \mathrm{clamp}_{[0,1]}\!\left( \frac{\mathbf{z}(I)\cdot\mathbf{z}(I') + 1}{2} \right) \tag{1} sk=0.7⋅sDINO(Iik,Ijk)+0.3⋅SSIM(Iik,Ijk)(2)s_k = 0.7\cdot s_{\mathrm{DINO}}(I_{i_k}, I_{j_k}) + 0.3\cdot \mathrm{SSIM}(I_{i_k}, I_{j_k}) \tag{2}

The video score is the mean over the selected pairs:

Sfid=1K∑k=1Ksk(3)S_{\mathrm{fid}} = \frac{1}{K}\sum_{k=1}^{K} s_k \tag{3}

A missing DINOv2 checkpoint degrades only this metric. Geometry and rendering can still score.

In WorldAtlas this algorithm is implemented as the official metric memory_revisit_fidelity (pose_aligned_dino backend). Under the default normalization config, raw and normalized outputs lie in [0,1][0,1] with higher is better. On memory_loop it is official when scorable pairs and DINOv2 are available, including after a failed gate. Per-pair scores also supply the exploratory decay fit memory_half_life, which is also an official metric when its fit is reliable; if fidelity is unavailable, half-life is skipped with it. The memory_revisit_consistency probe compares protocol-sampled first and last frames. It does not verify a geometric revisit and uses a different measurement protocol.

Audit manifest: docs/assets/metric_examples/longseq_memory_60s_examples_20260909.json.

Input image: memory-yaw_loop_180-memory_pool_407
Input image
60s memory_loop · same benchmark case · gap 0.4712

memory-yaw_loop_180-memory_pool_407

Suite: memory_loopScene: photorealistic / indoor / living_spaces
Benchmark prompt target

Turn the camera to the right, then turn back to the starting view.

prompt source: memory_loop_prompt

Look at the same place on the return: the better example recovers the original appearance; the weaker one redraws a different room.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.9143 · official

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.4431 · official
Input image: memory-double_yaw_loop-memory_pool_262
Input image
60s memory_loop · same benchmark case · gap 0.2863

memory-double_yaw_loop-memory_pool_262

Suite: memory_loopScene: photorealistic / indoor / living_spaces
Benchmark prompt target

Turn away and back to the start twice in a row.

prompt source: memory_loop_prompt

Look at the same place on the return: the better example recovers the original appearance; the weaker one redraws a different room.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.7799 · official

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.4936 · official
Input image: memory-palindrome_loop-memory_pool_446
Input image
60s memory_loop · same benchmark case · gap 0.4354

memory-palindrome_loop-memory_pool_446

Suite: memory_loopScene: photorealistic / indoor / passageways
Benchmark prompt target

Move forward, turn and continue, then retrace the whole path back.

prompt source: memory_loop_prompt

Look at the same place on the return: the better example recovers the original appearance; the weaker one redraws a different room.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.8564 · official

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.4210 · official
Input image: memory-dolly_loop-memory_pool_259
Input image
60s memory_loop · same benchmark case · gap 0.4457

memory-dolly_loop-memory_pool_259

Suite: memory_loopScene: photorealistic / indoor / dining_spaces
Benchmark prompt target

Move the camera forward through the scene, then back to where it started.

prompt source: memory_loop_prompt

Look at the same place on the return: the better example recovers the original appearance; the weaker one redraws a different room.

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Higher metric scoreScore 0.8797 · official

Model result videos will be available with the ModelScope release. / 模型推理视频将在 ModelScope 方案上线后提供。

Lower metric scoreScore 0.4340 · official