跳转到内容

Memory Return Gate

本指标用于判断闭环 rollout 是否真正离开锚点视点,并在之后回到先前访问过的视点。它是 long_sequence 维度闭环族的正式指标。gate 未通过也继续计算后续 memory 指标,并在 details 中保留 gate_passed=false 和 gate_failure_reason。配对全部从估计位姿读出,不依赖 GT 动作索引。

从预测视频旁的 ViPE sidecar 读取 camera-to-world 轨迹 {Tt}t=0T−1⊂SE(3)\{\mathbf{T}_t\}_{t=0}^{T-1}\subset\mathrm{SE}(3)。缺失时整条 memory 链路记 not_applicable。记 pt\mathbf{p}_t 为平移、Rt\mathbf{R}_t 为旋转。先用轨迹自身相对锚点的最大平移幅度 E=max⁡t∥pt−p0∥E=\max_t\|\mathbf{p}_t-\mathbf{p}_0\| 把平移归一化,再与测地旋转角 θ(i,j)=∠(Ri,Rj)\theta(i,j)=\angle(\mathbf{R}_i,\mathbf{R}_j)(单位:度)组合成无尺度位姿距离:

d(i,j)=∥pi−pj∥E+λ⋅θ(i,j)180(1)d(i,j) = \frac{\|\mathbf{p}_i-\mathbf{p}_j\|}{E} + \lambda\cdot\frac{\theta(i,j)}{180} \tag{1}

默认 λ=1\lambda = 1(rotation_weight)。当 EE 退化(原地旋转回路)时,平移项置零,距离退化为纯旋转。

离开要求锚点到轨迹上最远帧的距离至少是配对阈值的若干倍:

ddep=max⁡td(0,t)≥α⋅τ,α=3, τ=0.15(2)d_{\mathrm{dep}} = \max_{t} d(0,t) \ge \alpha\cdot\tau, \qquad \alpha = 3,\ \tau = 0.15 \tag{2}

即 min_departure_factor * max_pair_distance。返回则对每个帧 jj,在至少 Δtmin⁡\Delta t_{\min} 秒(默认 11 秒,对应 g=⌈Δtmin⁡⋅fps⌉g=\lceil\Delta t_{\min}\cdot\mathrm{fps}\rceil 帧)之前的窗口里取几何最近的 i⋆=arg⁡min⁡i≤j−gd(i,j)i^\star=\arg\min_{i\le j-g}d(i,j)。若 d(i⋆,j)≤τd(i^\star,j)\le\tau,且中间行程满足

e(i⋆,j)=max⁡i⋆<k<jd(i⋆,k)≥β⋅τ,β=3(3)e(i^\star,j) = \max_{i^\star < k < j} d(i^\star,k) \ge \beta\cdot\tau, \qquad \beta = 3 \tag{3}

则记为一对回访(min_excursion_factor * max_pair_distance)。excursion 判据防止连续缓慢运动把每一帧都和自己的近期过去配上对。走不回去的模型被记为「没有回访」,而不是「忘了场景」。

门控分数为指示函数乘积:

Sgate=1 ⁣[ddep≥ατ]⋅1 ⁣[∃ (i,j): d(i,j)≤τ ∧ e(i,j)≥βτ](4)S_{\mathrm{gate}} = \mathbf{1}\!\left[d_{\mathrm{dep}}\ge\alpha\tau\right] \cdot \mathbf{1}\!\left[\exists\,(i,j):\ d(i,j)\le\tau\ \wedge\ e(i,j)\ge\beta\tau\right] \tag{4}

Sgate∈{0,1}S_{\mathrm{gate}}\in\{0,1\}。WorldAtlas 中本算法对应正式指标 memory_return_gate(pose_loop_gate 后端);归一化配置下 raw 与 normalized 均为 {0,1}\{0,1\}。它作为正式指标报告 gate 通过率;组合权重遵循榜单公布的聚合规则。没有严格回访对时,后续评分使用满足相同最小时间间隔的最近历史位姿配对,不再要求返回距离和中间 excursion 达标(pair_source=nearest_pose_fallback)。Scene F1 优先使用有支持的回访事件;gate 失败且没有可用事件时,比较位姿轨迹的前后半段(split_source=temporal_midpoint_fallback),每段至少两个位姿帧。回退分数可能包含视点和控制差异,应结合 gate 阅读。输入缺失、后端不可用、帧对支持不足或半衰期拟合不可靠时,仍明确记录不可用原因。

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

输入图像: memory-dolly_loop-memory_pool_002
输入图像
60 秒 memory_loop · 同一 benchmark case · gap 1.0000

memory-dolly_loop-memory_pool_002

套件: memory_loop场景: photorealistic / outdoor / city
基准 prompt target

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

prompt source: memory_loop_prompt

请看镜头是否真正离开起点并在之后回到已访问视点。回不到起点是控制失败,不应记成记忆失败。

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

较高指标分分数 1.0000 · official

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

较低指标分分数 0.0000 · official
输入图像: memory-double_yaw_loop-memory_pool_090
输入图像
60 秒 memory_loop · 同一 benchmark case · gap 1.0000

memory-double_yaw_loop-memory_pool_090

套件: memory_loop场景: photorealistic / outdoor / terrestrial_landscape
基准 prompt target

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

prompt source: memory_loop_prompt

请看镜头是否真正离开起点并在之后回到已访问视点。回不到起点是控制失败,不应记成记忆失败。

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

较高指标分分数 1.0000 · official

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

较低指标分分数 0.0000 · official
输入图像: memory-yaw_loop_360-memory_pool_478
输入图像
60 秒 memory_loop · 同一 benchmark case · gap 1.0000

memory-yaw_loop_360-memory_pool_478

套件: memory_loop场景: photorealistic / outdoor / terrestrial_landscape
基准 prompt target

Rotate the camera a full turn in place and come back to the starting view.

prompt source: memory_loop_prompt

请看镜头是否真正离开起点并在之后回到已访问视点。回不到起点是控制失败,不应记成记忆失败。

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

较高指标分分数 1.0000 · official

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

较低指标分分数 0.0000 · official
输入图像: memory-yaw_loop_180-memory_pool_471
输入图像
60 秒 memory_loop · 同一 benchmark case · gap 1.0000

memory-yaw_loop_180-memory_pool_471

套件: memory_loop场景: photorealistic / indoor / living_spaces
基准 prompt target

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

prompt source: memory_loop_prompt

请看镜头是否真正离开起点并在之后回到已访问视点。回不到起点是控制失败,不应记成记忆失败。

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

较高指标分分数 1.0000 · official

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

较低指标分分数 0.0000 · official
输入图像: memory-square_loop-memory_pool_476
输入图像
60 秒 memory_loop · 同一 benchmark case · gap 1.0000

memory-square_loop-memory_pool_476

套件: memory_loop场景: stylized / indoor / workspaces
基准 prompt target

Walk a closed square around the scene and return to the starting view.

prompt source: memory_loop_prompt

请看镜头是否真正离开起点并在之后回到已访问视点。回不到起点是控制失败,不应记成记忆失败。

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

较高指标分分数 1.0000 · official

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

较低指标分分数 0.0000 · official