MosaicMem: Hybrid Spatial Memory for Controllable Video World Models

Paper: arXiv:2603.17117 Code: AbdelStark/mosaicmem(非官方 Rust synthetic scaffold;官方项目页当前仅给 Paper 链接,未公开官方代码仓库) Code reference: main @ 3178e01e (2026-03-26)

1. Motivation(研究动机)

现有视频扩散模型正在从短片段生成走向可交互 world simulator,但长时一致性依赖 spatial memory:模型需要在相机移动、离开后回访、用户插入事件或编辑场景时,仍记得哪些结构应保持、哪些动态应更新。

显式 3D memory 的问题:点云、surfel、Gaussian/Splat cache 能通过重投影保证静态几何一致,但把生成器变成强约束的 video inpainting,动态物体和文本驱动事件容易僵硬,跨视角误差还会在全局重建里累积。 隐式 memory 的问题:以历史帧/latent 为 memory 能保留动态和外观,但 retrieval 粒度粗、上下文冗余大;即使给定正确 camera pose,也容易出现相机运动误差和 revisit drift,且 memory 不易解释或编辑。 本文目标:在不牺牲视频扩散模型动态生成能力的前提下,提供可定位、可检索、可操纵的长期空间记忆,让模型同时支持 precise camera control、promptable events、minute-level navigation 和 memory manipulation。

Figure 1 解读:左侧把 memory 机制拆成 explicit / implicit / hybrid 三类;MosaicMem 的核心折中是用 patch 作为 memory 单元,既保留 3D localization,又不把整段生成锁死成静态重投影。右侧示例显示:相对隐式 memory,它能更准地跟随 camera motion;相对显式 memory,它允许新物体和事件随 prompt 发生变化。

2. Idea(核心思想)

核心洞察:不要在“全局 3D cache”和“整帧 latent cache”之间二选一,而是把 patch 提升到 3D 后再作为 DiT 的条件 token 使用。Patch 是比点云更有语义/纹理的信息单元,又比整帧 memory 更可定位、可裁剪、可重排。

与 GEN3C / SEVA / VMem 这类显式 memory 相比,MosaicMem 不直接渲染固定几何结果,而是把查询视角下对齐的 patch 作为参考,让扩散模型决定哪些区域保持、哪些区域重新生成;与 WorldMem / Context-as-Memory 这类隐式 memory 相比,它不是靠整帧重用或 FOV overlap 粗检索,而是通过 3D patch location 做 targeted retrieval 和 alignment。

3. Method(方法)

3.1 总体框架:patch-and-compose hybrid memory

MosaicMem 的 pipeline 分为四步:1)从已生成/观测帧中抽取 patch;2)用 off-the-shelf 3D estimator 估计 depth、intrinsics、extrinsics,把 patch lift 到 3D;3)给定目标 camera pose,检索会投影到当前视野的 patch,并 compose 成 queried-view mosaic;4)把 mosaic patch tokens 与当前 noised latent tokens 一起送入 DiT,通过 attention conditioning、Warped RoPE / Warped Latent 和 PRoPE 对齐。

Figure 2 解读:左侧展示 patch 被 lift 到 3D 后按 target view 重新 gathering;中间展示 camera control 由 MosaicMem retrieval 与 PRoPE 共同提供;右侧是 DiT 内部 token 级融合:clean latent / noisy latent / memory latent 展平后通过 attention 交互,最终生成当前 view 的 output video。

直觉上,MosaicMem 把 memory 从“必须被完全相信的几何渲染”降级为“空间对齐的证据”。这使模型能在墙面、建筑、道路等应持久的部分复用 memory,同时在车、人、动物、天气等应变化的区域用文本条件重新 inpaint,因此适合交互式 world model。

3.2 Patch lifting 与 queried-view retrieval

给定源帧 patch 坐标 、深度 、相机内参 和外参 ,patch token 可被反投影到世界坐标,再投影到目标视角 检索阶段不必把整帧历史都塞进上下文,而是依据目标 frustum、可见性、时间衰减、空间多样性与 token budget 选出 top- patch。由于同一场景视频高度冗余,只要覆盖关键 spatiotemporal locations,就能用较少 token 维持 long-term persistence。

3.3 Memory alignment:Warped RoPE 与 Warped Latent

3D VAE 的时空压缩会降低 RoPE 坐标分辨率,导致检索 patch 和当前 latent token 的中心不完全对齐。MosaicMem 用两种互补 alignment:

Warped RoPE:不移动 latent feature,而是把每个 memory patch token 的 RoPE 坐标改成重投影后的 fractional target coordinate 。论文的核心投影式为: Warped Latent:直接在 feature space 中对 memory latent 做 differentiable bilinear grid sampling,可写作: 其中 是由源/目标相机和 depth 计算得到的 warp grid。Warped RoPE 更像“改 attention 坐标”,Warped Latent 更像“把 patch feature 本身 warp 到目标视角”;二者混合训练在极端慢相机运动和 autoregressive rollout 中更稳。

Figure 3 解读:即使不 fine-tune,直接注入 Mosaic Memory 也能给 Wan 2.2 提供空间参考;但 training-free 版本只能证明 patch memory 是有效条件,不能替代后续的 Warped RoPE / Warped Latent / PRoPE 对齐训练。

3.4 PRoPE camera conditioning

Mosaic Memory 本身提供的是“哪里有可复用视觉证据”,并不足以严格表达连续 camera trajectory;大幅旋转、稀疏 memory 或 3D VAE 的 temporal compression 都会让 motion signal 不够细。论文因此把 PRoPE 作为 DiT self-attention 内的 camera-conditioning interface。

给定每帧投影矩阵 ,PRoPE 用相对投影变换 编码 view-to-view geometry,并在 attention 中通过 camera-dependent transformation 作用到 。由于视频 latent frame index 对应原始四帧 ,实现上需要为同一个 latent slice 展开 sub-index ,保证每个 compressed latent token 使用正确的 per-frame camera matrix。

Figure 5 解读:隐式 memory baseline 在回访和大旋转时 camera path 明显偏移;MosaicMem + PRoPE 同时利用 memory registration 与显式 trajectory signal,因此能把 replay frame 对齐到更准确的相机位置。图中不带 PRoPE 的版本说明:memory reference 不能完全替代 camera control。

3.5 Pseudocode(基于论文与公开 Rust scaffold 的 PyTorch 风格重写)

公开仓库是非官方 Rust synthetic scaffold,不含 Wan 2.2 checkpoint、训练脚本或真实 DiT 权重;下面伪代码对应其 src/memory/*src/attention/*src/pipeline/* 的组件边界,并按论文公式补齐张量语义。

import torch
import torch.nn.functional as F
 
class MosaicMemoryStore:
    def __init__(self, max_patches=4096, patch_size=16, latent_patch_size=2):
        self.patches = []
        self.max_patches = max_patches
        self.patch_size = patch_size
        self.latent_patch_size = latent_patch_size
 
    def add_frame(self, image, latent, depth, K, T, timestamp):
        # src/memory/store.rs + src/geometry/depth.rs + src/geometry/projection.rs
        for rect, z_patch in patchify(latent, size=self.latent_patch_size):
            uv = patch_center(rect)
            xyz = backproject(K, T, uv, depth[uv])
            self.patches.append({
                "latent": z_patch,
                "source_rect": rect,
                "source_xyz": xyz,
                "source_depth": depth[uv],
                "K": K,
                "T": T,
                "timestamp": timestamp,
            })
        self.evict_low_score_if_needed()
def retrieve_mosaic(store, target_K, target_T, target_time, top_k):
    # src/memory/retrieval.rs + src/memory/mosaic.rs
    candidates = []
    for p in store.patches:
        uv_t, visible = project_to_view(target_K, target_T, p["source_xyz"])
        if not visible:
            continue
        recency = torch.exp(-abs(target_time - p["timestamp"]) / store.temporal_half_life)
        visibility = frustum_visibility_score(uv_t)
        diversity = spatial_diversity_penalty(uv_t, candidates)
        score = visibility * recency - diversity
        candidates.append((score, p, uv_t))
    selected = sorted(candidates, key=lambda x: x[0], reverse=True)[:top_k]
    return compose_mosaic_frame(selected, target_T)
def warped_rope_positions(retrieved_patches, target_K, target_T):
    # src/attention/warped_rope.rs; paper Eq. (2)
    coords = []
    for p in retrieved_patches:
        uv = token_grid(p["source_rect"])
        depth = p.get("depth_tile", p["source_depth"])
        xyz = backproject(p["K"], p["T"], uv, depth)
        uv_target = project(target_K, target_T, xyz)  # fractional (u', v')
        t_rel = p["timestamp"]
        coords.append(torch.stack([torch.full_like(uv_target[..., :1], t_rel), uv_target], dim=-1))
    return torch.cat(coords, dim=0)
def warped_latent_patch(z_patch, source_K, source_T, target_K, target_T, depth_tile):
    # src/attention/warped_latent.rs
    grid = compute_warp_grid(source_K, source_T, target_K, target_T, depth_tile)
    # grid: [H, W, 2] normalized to [-1, 1]
    valid_mask = (grid[..., 0].abs() <= 1) & (grid[..., 1].abs() <= 1)
    z_warped = F.grid_sample(z_patch[None], grid[None], mode="bilinear", align_corners=False)[0]
    return z_warped * valid_mask.float()[None]
def generate_window(dit, noisy_latent, text_emb, memory_store, trajectory, intrinsics):
    # src/pipeline/inference.rs
    mosaics = [retrieve_mosaic(memory_store, intrinsics, pose.T, pose.t, top_k=512)
               for pose in trajectory]
    mem_tokens = flatten_memory_tokens(mosaics)
    rope_coords = warped_rope_positions(mem_tokens, intrinsics.K, trajectory.target_T)
    prope = build_prope_transforms(trajectory.camera_matrices, temporal_compression=4)
    return dit(noisy_latent, text_emb, memory_tokens=mem_tokens,
               memory_rope=rope_coords, prope=prope)
def autoregressive_rollout(pipeline, init_frame, trajectory, segment_len=80, total_seconds=120):
    # src/pipeline/autoregressive.rs; paper Mosaic Forcing
    memory = MosaicMemoryStore()
    prev = init_frame
    outputs = []
    for poses in chunk_trajectory(trajectory, segment_len):
        segment = pipeline.generate(prev, poses, memory)
        memory.add_frame_sequence(segment, poses)     # generated segment updates memory
        prev = segment[-1:]                           # last frame becomes next first frame
        outputs.append(segment)
    return torch.cat(outputs, dim=1)

Code reference: main @ 3178e01e (2026-03-26)

Paper ConceptSource FileKey Class/Function
Patch-based 3D memory storesrc/memory/store.rs, src/memory/mosaic.rsMosaicMemoryStore, MosaicFrame, patch metadata
Target-view retrieval / patch-and-composesrc/memory/retrieval.rsMemoryRetriever, retrieve, retrieve_window, frustum and diversity selection
Warped RoPEsrc/attention/warped_rope.rsWarpedRoPE, compute_warped_positions
Warped Latentsrc/attention/warped_latent.rsWarpGrid, WarpOperator, compute_warp_grid
PRoPE camera conditioningsrc/attention/prope.rsProjectiveTransform, PRoPEOperator, projection matrix transforms
Single-window generationsrc/pipeline/inference.rsInferencePipeline, build_memory_context
Long-horizon / AR rolloutsrc/pipeline/autoregressive.rsAutoregressivePipeline, segment chaining
Synthetic vs real backend boundarysrc/backend.rs, src/pipeline/config.rsBackendMode, BackendBridge, SyntheticBridge
Memory editingsrc/memory/manipulation.rserase / translate / splice-style patch operations

代码差距:该 repo 明确称自己是 synthetic scaffold;默认 backend 是 syntheticreal backend 需要 checkpoint 与 feature gate。因此它能帮助理解模块划分和 data structures,但不能作为论文中 Wan 2.2 fine-tuning、MosaicMem-World training config 或 Table 1/2 数值的复现实证来源。

4. Experimental Setup(实验设置)

Dataset / benchmark:MosaicMem-World。论文从四类来源收集带 revisitation 的轨迹:licensed Unreal Engine 5 scenes、商业游戏环境(如 Cyberpunk 2077)、真实第一人称采集、以及 Sekai 等已有数据中 revisit frequency 最高的序列;每类来源规模描述为 “on the order of tens of hours”,论文未给精确视频数/样本数。每个 sequence 切成 32-frame segments,并用 Gemini 3 生成 static scene description 与 dynamic description;

过滤 inaccurate 3D estimates 或 excessive motion blur。Baselines:显式 memory:VMem、GEN3C、SEVA、VWM;隐式 memory:WorldMem、Context-as-Memory (CaM);camera-control / alignment ablation:ControlMLP alone、PRoPE alone、MosaicMem w/o PRoPE、PRoPE + Warped Latent、PRoPE + Warped RoPE、MosaicMem full;AR video generation:Matrix-Game、RELIC、MosaicMem-WRoPE。

Metrics:camera control 用 RotErr(degree,越低越好)和 TransErr(越低越好);video quality 用 FID / FVD;retrieval consistency 用 SSIM / PSNR / LPIPS;dynamic ability 用 Dynamic Score;AR 评测还采用 VBench-style Subject Consistency、Background Consistency、Motion Smoothness、Temporal Flickering、Aesthetic Quality、Imaging Quality,并报告 PSNR、SSIM、RotErr、TransErr。

Training config:fine-tune Wan 2.2 5B TI2V DiT;optimizer 为 AdamW;learning rate ;250k training steps;effective batch size 64;8 × H100 GPU clusters;inference 使用 Wan default sampler,50 denoising steps。Mosaic Forcing 版本把 bidirectional MosaicMem distill 到 causal architecture,并结合 Rolling Forcing;

报告实时 16 FPS、640 × 360 resolution。

Figure 4 解读:显式 memory baseline(GEN3C / VWM)在空间一致性上有优势,但动态物体生成和 prompt adherence 变弱;MosaicMem 能在已有场景中添加 knight、horse、car 等新动态元素,说明 patch memory 没有把生成过程锁死成静态重建。

5. Experimental Results(实验结果)

5.1 Spatial memory 主表

MethodRotErr↓TransErr↓FID↓FVD↓SSIM↑PSNR↑LPIPS↓Dynamic↑
VMem1.590.1477.12363.340.6421.640.171.18
GEN3C1.610.1377.41372.080.6421.580.171.21
SEVA1.420.1274.67301.770.6622.010.151.22
VWM1.500.1375.83323.670.6521.860.161.41
WorldMem5.870.4985.72403.500.4715.340.461.67
CaM4.650.4385.32392.110.4915.780.421.72
ControlMLP alone6.510.5289.17458.450.3713.550.561.84
PRoPE alone4.910.3686.44412.850.4514.320.521.75
MosaicMem w/o PRoPE0.790.1173.18250.840.6822.330.142.11
PRoPE + Warped Latent0.660.0875.46268.130.6521.490.151.98
PRoPE + Warped RoPE0.700.0971.89243.590.6922.800.122.24
MosaicMem (full)0.510.0665.67232.950.7523.570.112.58

结论:MosaicMem full 在全部指标上最佳。相对隐式 memory,最大差异来自 camera control 与 memory consistency;相对显式 memory,最大差异来自 Dynamic Score 和视觉质量,说明 hybrid patch memory 既保留几何定位,又释放了动态生成能力。

5.2 Long-horizon、memory manipulation 与 AR rollout

Figure 6 解读:2 分钟 navigation 中,蓝/绿框标出 MosaicMem 能在长时间、大尺度相机运动后召回已观察区域;红框显示 CaM 在 extended sequence 中更易产生 artifacts 或不一致。

Figure 7 解读:因为 memory 单元带 3D spatiotemporal location,作者可以把不同 scene 的 memory 在水平或垂直方向拼接,构造不现实但几何连续的探索空间。这是 frame-level implicit memory 很难直接做到的能力。

Figure 8 解读:Mosaic Forcing 把 bidirectional MosaicMem 转成 autoregressive 生成器;RELIC 会出现 memory retrieval error,只有 Warped RoPE 的版本在极端情况下可能 collapse,full 模型通过加入 Warped Latent 提升 few-step inference 的稳定性。

AR MethodTotal↑Subject Consist↑Bg Consist↑Motion Smooth↑Temporal Flicker↑Aesthetic Quality↑Imaging Quality↑PSNR↑SSIM↑RotErr↓TransErr↓
Matrix-Game75.1182.4087.9288.3589.1043.1259.7718.570.5245.320.38
RELIC79.0886.2191.0894.1292.0547.0164.0220.230.5914.990.36
MosaicMem-WRoPE77.8185.0390.4192.7391.2245.8861.6019.010.5661.630.16
MosaicMem (full)81.1188.3293.4096.5894.2148.1565.9721.570.6520.890.11

论文未单列 Limitations section;可确认的风险来自正文:1)MosaicMem-World 需要过滤 inaccurate 3D estimates / excessive motion blur,说明上游 depth / pose 质量仍是瓶颈;2)Warped RoPE 在极慢相机运动等极端场景会让新观察物体在边界反复生成,需 Warped Latent 修正;3)官方实现尚未发布,公开可见代码主要是非官方 synthetic scaffold,无法验证训练配置和主表结果。

5.3 结果解读:为什么这些指标能支撑 hybrid memory

Camera-control 指标的含义:RotErr / TransErr 不是单纯看画面是否“像”,而是检查生成视频中估计出的相机轨迹是否跟目标轨迹一致;MosaicMem full 的 RotErr=0.51、TransErr=0.06,说明 patch retrieval 与 PRoPE 共同把空间记忆绑定到了目标相机坐标系。Visual-quality 指标的含义:FID / FVD 体现生成分布质量;显式 memory baseline 的几何约束更硬,但容易把动态内容锁死成静态重建,因此 FVD 和 Dynamic Score 都弱于 MosaicMem。

Consistency 指标的含义:SSIM / PSNR / LPIPS 面向 revisit 场景,衡量回到旧视角时是否能召回相同结构;MosaicMem 的 SSIM=0.75、PSNR=23.57、LPIPS=0.11,说明 patch-level memory 比 frame-level implicit memory 更能做局部精确召回。Dynamic Score 的含义:论文在 minimal camera motion 的轨迹上计算 optical-flow magnitude,用它隔离 object / scene dynamics;

MosaicMem full 的 Dynamic=2.58,明显高于 VWM=1.41、GEN3C=1.21,说明 hybrid memory 没有把视频世界退化成静态 3D 重建。PRoPE alone 的失败模式:PRoPE alone 能注入相机几何,但没有可检索的场景证据,所以 RotErr / TransErr 仍高,consistency 也弱;这对应论文中“camera control 不等于 memory”的核心区分。

MosaicMem w/o PRoPE 的失败模式:单靠 patch memory 可以给出局部外观参考,但在大幅运动或 sparse memory 时没有足够的 frame-level motion signal,导致相机控制和跨 patch 对齐仍不稳。Warped Latent 与 Warped RoPE 的互补性:Warped RoPE 更偏 positional correspondence,Warped Latent 更偏 feature / latent content alignment;表中 full 同时优于二者单独版本,支持论文把二者组合成 memory alignment 的设计。

AR 表的意义:Mosaic Forcing 把 bidirectional video generator 改造成 autoregressive 系统后仍保留 memory retrieval;MosaicMem full 在 Total、PSNR、SSIM、RotErr、TransErr 都优于 RELIC 和 MosaicMem-WRoPE,说明 Warped Latent 对 few-step rollout 稳定性关键。长视频定性结果的意义:Figure 6 不是只展示更长时长,而是展示“离开视野再回来”的闭环;这正是 spatial memory 的核心评测,比普通 text-to-video 长度扩展更难。

memory manipulation 的意义:Figure 7 展示的水平 / 垂直拼接说明 MosaicMem 的 memory 单元有可编辑的 3D / spatiotemporal location;这比把整段历史压进隐式 token memory 更接近可控世界模型接口。

5.4 复核链接、代码状态与素材来源

ItemVerified valueNotes
PaperarXiv:2603.17117标题为 MosaicMem: Hybrid Spatial Memory for Controllable Video World Models,作者与 frontmatter 一致。
PDFhttps://arxiv.org/pdf/2603.17117用于论文内容、表格数值、caption 与实验设置核对。
Project pagehttps://mosaicmem.github.io/mosaicmem/当前页面只列作者主页与 Paper 链接,没有官方 GitHub / code 按钮。
Hugging Face paper pagehttps://huggingface.co/papers/2603.17117作为论文聚合页使用;不能替代官方代码来源判断。
Public code used herehttps://github.com/AbdelStark/mosaicmem公开仓库是 Rust synthetic scaffold;README / specs 将其定位为 paper-faithful scaffold,而非官方 Wan 2.2 训练代码。
github_refmain@3178e01egit ls-remote 核对 main HEAD 为 3178e01e3639d7e2e7a487d5d589fd5f53719904
Code date2026-03-26GitHub API 显示该仓库 main 最近 push 时间为 2026-03-26T16:07:06Z
Figure assets8 source assetsarXiv source package含 dynamic.pnglongvid.pngar.pngcamera.pngmem_comparison_V7.jpgmethod_v4.jpgmanipulation.pngtrainingfree.png;本 note 的 assets 目录已转成 / 保存为 8 个可嵌入图片。

代码复核结论:

src/memory/store.rssrc/memory/mosaic.rs 覆盖 patch metadata、MosaicMemoryStoreMosaicFrame、latent canvas 与 coverage 统计,适合映射论文的 patch memory / patch-and-compose 概念。

src/memory/retrieval.rs 覆盖 target-pose retrieval、frustum / visibility 查询与 per-frame patch selection,适合映射 “query target view, retrieve visible patches” 的 memory read path。src/attention/prope.rs 定义 ProjectiveTransformPRoPEOperatorcompute_projective_transformapply_to_attention,适合映射论文的 PRoPE camera-conditioning 接口。

src/attention/warped_rope.rssrc/attention/warped_latent.rs 分别实现 WarpedRoPEWarpGridDenseWarpOperator,适合映射论文的两类 alignment mechanism。src/attention/memory_cross.rs 汇总 MemoryContextMemoryFrameContextMemoryCrossAttention,适合映射 memory tokens 如何进入 attention / DiT conditioning。

src/backend.rssrc/pipeline/config.rs 包含 BackendModeAblationConfigenable_memoryenable_propeenable_warped_ropeenable_warped_latent 等 toggles;这些是 scaffold 层面的 ablation 开关,不等同于论文训练日志。src/pipeline/inference.rssrc/pipeline/autoregressive.rs 覆盖 single-window inference 与 Mosaic Forcing / AR rollout 的 pipeline 骨架。

src/memory/manipulation.rs 覆盖 erase / translate / splice-style memory editing,适合映射 Figure 7 的 memory manipulation,但仍是工程骨架,不是论文定量实验来源。

5.5 读者复现时应避免的误读

不要把 AbdelStark/mosaicmem 当成官方发布代码:它能解释模块化设计,但不能证明论文中 Wan 2.2 5B、250k steps、batch size 64、8×H100、50 denoising steps 的训练细节已经可复现。不要把 MosaicMem 等同于 3DGS / point-cloud memory:它借用 explicit memory 的 lifting / localization,但最终把 patch 作为 conditioning 交给生成模型,让未观察区域、动态物体与 prompt-following 仍由 DiT 生成。

不要把 PRoPE 当成唯一贡献:PRoPE 解决 camera relation injection,Mosaic Memory 解决可检索 scene evidence,Warped RoPE / Warped Latent 解决检索 patch 与 latent tokens 的对齐;三者缺一时表中都有明显退化。不要只看 FID / FVD:world-model memory 的关键是 revisit consistency 与 camera accuracy;因此论文同时报告 RotErr、TransErr、SSIM、PSNR、LPIPS 和 Dynamic Score。

不要把 long-horizon 展示理解成简单拼接视频:Mosaic Forcing 的重点是每个生成 segment 继续写回 memory,并用 memory retrieval 支撑后续 segment 的闭环召回。不要忽略数据分布:MosaicMem-World 特意收集 revisit trajectories;若换成普通前向导航数据,memory recall 能力会被低估,也更难训练离开再返回的闭环行为。不要把 memory manipulation 当成传统图像编辑:Figure 7 操作的是 memory 中的空间位置和 scene stitching,生成器随后根据这个编辑后的 memory 重新渲染可探索场景。

不要过度外推到真实机器人部署:论文展示的是 video world model 的 controllable generation;真实机器人闭环控制还需要传感器噪声、实时定位、动作-相机耦合和安全约束。

5.6 一句话定位

MosaicMem 的核心价值不是“给视频模型加更多历史帧”,而是把历史观察拆成可定位、可检索、可编辑的 patch-level spatial memory,再用 PRoPE、Warped RoPE 与 Warped Latent 把这些 patch 精确接回目标视角的 DiT latent space,从而同时获得 camera controllability、revisit consistency、dynamic generation 和 long-horizon exploration。

5.7 快速检查清单

研究问题:可控视频世界模型在大相机运动、revisit 和动态对象场景下缺少可靠 spatial memory。核心表示:patch-level memory,介于 explicit 3D point / splat 与 implicit full-frame memory 之间。核心接口:lift patches into 3D,按 target camera retrieval,再把 mosaic patches 作为 conditioning token 接入 DiT。核心对齐:Warped RoPE 处理 reprojected positional correspondence,Warped Latent 处理 latent content alignment。

核心控制:PRoPE 注入 relative camera frustum geometry,补足 sparse memory 和 temporal compression 下的 motion signal。核心数据:MosaicMem-World 专门强调 revisitation,而不是只做 forward navigation。核心证据:主表同时覆盖 camera accuracy、visual quality、revisit consistency 和 dynamics。核心边界:公开代码是 scaffold,可读结构,不可当作官方训练复现。