跳转至

EPOS-VLM: Memory-Augmented Vision-Language Agents for Persistent and Semantically Consistent Object Captioning

日期: 2026-03-25
arXiv: 2603.24257
代码: https://github.com/hsp-iit/epos-vlm (有)
领域: 多模态VLM / 具身智能
关键词: embodied captioning, episodic memory, VLM agent, multi-view consistency, data association

一句话总结

提出 EPOS-VLM,一个统一的记忆增强 Vision-Language-Action 模型,将数据关联、物体描述和导航策略整合到单一自回归框架中,通过物体级 episodic memory 的文本序列化使 VLM 能跨视角推理,在 HM3D 上实现标准 captioning 指标 +11.86% 和跨视角描述一致性 +7.39% 的提升。

研究背景与动机

  1. 领域现状:现代 VLM(BLIP-2、Qwen-VL、LLaVA)在静态图像 captioning 上表现优异,但它们是在独立图文对上训练的,本质上是无状态的——每次看到一张图就独立生成描述,不具备跨帧记忆能力。
  2. 现有痛点:当 VLM 被部署到具身 agent 中进行场景探索时,同一个物体(如灰色沙发)从正面可能被描述为"gray sofa",侧面变成"armchair",远处甚至被认成"bed"。这种语义漂移严重破坏了物体身份的持久性,导致下游任务(场景图构建、人机对话、导航规划)无法可靠地引用物体。
  3. 核心矛盾:VLM 的无状态推理 vs 具身场景要求的持久化语义一致性。现有解决方案要么是离线的(先收集所有视角、再统一聚合描述,如 IC3),要么是多阶段流水线(探索→关联→描述各自独立学习,如 Galliena et al. ICCV2025),前者不支持实时交互,后者各模块无法联合优化。
  4. 本文要解决什么? (a) 如何在 agent 导航过程中实时维护物体身份的持久性?(b) 如何让描述生成器"看到"历史观测信息以消除视角歧义?(c) 如何让导航策略主动去找能消解歧义的视角?
  5. 切入角度:人类通过移动、多角度观察来建立稳定的物体认知——语义一致性来自记忆和重复观察,而非单帧推理。受此启发,给 VLM 加上 episodic memory(情景记忆),把"记住看过什么"和"去哪里看"统一到一个模型中端到端学习。
  6. 核心 idea 一句话将物体级 episodic memory 序列化为文本 token 注入 VLM 的自回归序列,统一数据关联+描述生成+动作预测三个任务,实现在线、持久、一致的物体 captioning。

方法详解

整体框架

输入:当前 RGB-D 帧 \(I_t\)(含实例分割的 bounding box 和临时 ID 标注)+ 俯视探索地图 \(E_t\) + 上一步的 episodic memory \(M_{t-1}\)。这三部分被统一编码为 VLM 的输入上下文。模型自回归地生成一个结构化输出序列:[MATCH] → [CAPTION] → [ACTION],分别输出数据关联决策、物体描述和导航动作。循环执行,memory 持续更新。

核心流程:Agent 导航 → 检测当前帧物体 → 模型根据 memory 做数据关联(当前检测对应哪个已知物体?) → 对关联上的物体生成视角不变的描述 → 选择下一步导航动作(倾向于去看不一致的物体)→ 更新 memory。

关键设计

  1. Episodic Object Memory 的文本序列化

    • 做什么:将场景中所有已知物体的记忆表示为结构化文本,注入 VLM 语言上下文
    • 核心思路:每个物体编码为 [OBJ] oid [POS](x̂,ŷ,ẑ) [CAPTIONS]{(ci, fi)},其中 \(o_{id}\) 是持久 ID,\((x̂,ŷ,ẑ)\) 是离散化 3D 坐标,\((c_i, f_i)\) 是历史描述及其出现频率。所有条目连接后包裹在 [SCENE-START]...[SCENE-END] 中。这样完全不修改 VLM 架构,仅通过文本协议将记忆注入模型
    • 设计动机:利用预训练 VLM 的语言推理能力来处理结构化记忆。把位置和描述历史明确写成文本,让模型能"看到"之前对同一物体说过什么,从而在新视角下做出一致的描述。描述频率信息 \(f_i\) 则作为跨视角一致性的语义先验——出现多次的描述更可靠
  2. 基于 [MATCH] Token 的数据关联

    • 做什么:将"当前检测属于哪个已知物体"的关联决策转化为自回归序列生成任务
    • 核心思路:每帧的检测物体被分配临时 ID \(r_t^j\)(随机采样,直接渲染在 RGB 图上)。模型生成形如 [MATCH] r_t^j → oid[MATCH] r_t^j → [NEW_ID] 的 token。前者表示匹配到已有物体,后者表示发现新物体。关键是身份分配不是从视觉外观直接预测的,而是通过联合推理当前视觉证据、空间相近性和 memory 中积累的语义信息来决定
    • 设计动机:传统方法用点云匹配或特征相似度做关联,是独立于描述的模块。将关联放入与 caption/action 相同的自回归流中,使三者能联合优化——关联的准确性直接影响描述的一致性,描述的不确定性又反过来驱动探索策略
  3. 3D-Aware Consistent Pseudo-Captioner (3D-CPS) 自监督训练信号

    • 做什么:在训练阶段为每个物体生成视角不变的伪标签(pseudo-caption),用于自监督微调
    • 核心思路:分两步——(i) 用"描述-频率字典" \(C_o\) 统计每个物体的所有历史描述及出现次数,频繁出现的描述更可能是正确的物体固有属性,偶发描述可能是视角依赖的噪声;(ii) 利用物体的 3D 点云估计空间范围,选择表面覆盖率最大、视角多样性最高的图像 crop,然后用大模型(Qwen3-VL-30B)综合频率表和精选图像生成最终伪标签。训练时,无论从哪个视角看到物体 \(o\),模型都被监督生成同一个 \(\tilde{c}_o\)
    • 设计动机:之前的伪标签方法(LD-CPS)完全基于语言层面的聚合,无法处理视觉歧义。3D-CPS 引入几何信息选择最具信息量的视角,并通过频率过滤抑制噪声描述,使伪标签质量本身就更一致、更准确
  4. 联合导航策略

    • 做什么:预测导航动作 \(a_t \in \{\)move_forward, turn_left, ...\(\}\),引导 agent 去看描述不一致的物体
    • 核心思路:动作预测和 caption/关联在同一个自回归序列中联合训练。训练数据由 disagreement-based 策略生成——先用启发式策略让 agent 导航到描述不一致度高的物体附近,收集轨迹作为监督。学到的策略会主动重访语义不稳定的物体,而非仅追求几何覆盖
    • 设计动机:语义一致性不只是记忆和聚合的函数,还取决于"看什么"。Frontier exploration 只追求空间覆盖,不关心语义。而将动作选择纳入统一模型后,不确定性可以直接驱动探索

损失函数 / 训练策略

  • 基于预训练 VLM 微调(Qwen3-VL-2B),采用 LoRA 高效微调
  • 损失函数:标准 cross-entropy,在 [MATCH][CAPTION][ACTION] 三种 token 上联合计算,最大化 \(P(Y_t^*|X_t)\)
  • 训练配置:3 epochs,AdamW,lr=\(2\times10^{-4}\),weight decay \(0.01\),线性 warmup 3%,2×A100,batch 16,gradient accumulation 4

实验关键数据

主实验 — 物体级 Caption 精度与跨视角一致性 (HM3D test set)

模型 SPICE↑ CIDEr↑ CS↑ Mean CS↑ IQR↓
Qwen3-VL-2B 29.88 0.84 60.01 59.65 29.12
BLIP-2 26.16 0.57 56.88 60.15 25.29
InternVL-3B 30.02 0.98 61.18 55.19 27.34
Galliena et al. (ICCV25) 39.78 1.12 70.00 81.98 8.87
EPOS-VLM 41.82 1.87 77.12 89.37 2.79
w/o memory 27.67 0.85 64.62 52.12 32.01

消融实验 — 导航策略对 Caption 质量的影响

探索策略 SPICE↑ CIDEr↑ Mean CS↑ IQR↓
Random Goal 33.88 1.38 80.33 9.03
Frontier Exploration 35.36 1.50 80.21 8.45
EPOS-VLM policy 41.82 1.87 89.37 2.79

关键发现

  • Memory 是核心:去掉 episodic memory 后 SPICE 从 41.82 暴跌到 27.67(-14.15 p.p.),Mean CS 从 89.37 降到 52.12(-37.25 p.p.),证明记忆机制是跨视角一致性的根本保障
  • 主动探索 >> 被动覆盖:EPOS-VLM 的学习策略比 Frontier Exploration 在 Mean CS 上高 9.16 p.p.,IQR 低 5.66,说明主动重访不一致物体对语义一致性至关重要
  • 联合 vs 多阶段:相比 Galliena et al. 的多阶段流水线,端到端方法在 CIDEr 上 +0.75、Mean CS +7.39 p.p.,联合优化的收益显著
  • 跨域泛化:HM3D 训练 → Gibson 测试,EPOS-VLM 仍大幅优于 baseline(SPICE 39.14 vs 35.58),说明学到的记忆机制可迁移
  • 计算效率:文本化 memory 维持恒定 ~0.7s/step 和 <10kB 内存;点云 baseline 随时间线性增长,episode 末尾达 ~1GB

亮点与洞察

  • 记忆的文本序列化设计非常巧妙:不改模型结构,用结构化文本协议把 episodic memory 注入预训练 VLM 的上下文窗口。这意味着任何预训练 VLM 都可以用相同方式获得持久记忆能力,迁移成本极低
  • 三任务统一自回归:把数据关联(MOT 层面的任务)、caption(语言生成任务)、action(RL 层面的任务)压入同一个 token 序列自回归生成。这种"所有决策共享同一个思考过程"的范式可以推广到其他具身多任务场景
  • 描述频率作为一致性先验\(f_i\) 的引入非常直觉——"被多次描述为 gray couch 的物体更可能确实是 gray couch"。这种自监督信号不依赖任何人工标注,可以复用到其他需要跨视角对齐的场景(如 3D 场景图构建)

局限性 / 可改进方向

  • 外部分割器依赖:使用 Mask2Former 做实例分割,预测不准的 mask 会导致关联和描述双重错误。未来可以将分割模块集成到统一框架中
  • 静态环境假设:实验在 Habitat 仿真中进行,假设理想传感器和静态场景。真实世界中需要处理传感器噪声、动态物体
  • 描述粒度有限:伪标签训练只生成一个 concise caption,不支持多粒度描述(如"带木腿的灰色布艺沙发"vs "沙发")。可以扩展到层次化描述生成
  • 记忆容量:目前 memory 条目数等于环境中物体数,大规模场景下 token 序列会很长。需要选择性记忆/遗忘机制
  • 相关 idea 参考:Language-Conditioned Gaussian Map Pruning for Embodied Navigation

相关工作与启发

  • vs IC3 (Chan et al. EMNLP 2023):IC3 用 LLM 聚合多视角 caption,假设所有输入视角都正确,缺乏噪声过滤。EPOS-VLM 的频率先验和 3D 筛选机制能有效过滤视角依赖的错误描述
  • vs Galliena et al. (ICCV 2025):前作将探索、关联、描述解耦为多阶段流水线。EPOS-VLM 将三者统一,并从裁剪物体改为使用完整图像帧+memory context,上下文更丰富,端到端优化收益显著(CIDEr +0.75, Mean CS +7.39)
  • vs 3DLLM-Mem / MemoryVLA:这些方法为导航/操作任务优化 memory,目标不是描述一致性。EPOS-VLM 专门为"准确且一致的物体描述"设计 memory 结构和训练目标
  • 启发:文本序列化 memory 的思路可以迁移到 3D 场景图增量构建——agent 在探索中实时构建节点(物体)和边(空间关系),用类似 [SCENE-START]...[SCENE-END] 的方式为 VLM 提供场景级上下文

评分

  • 新颖性: ⭐⭐⭐⭐ 统一框架有创意,但各组件(memory augmented VLM, 数据关联, 自回归动作预测)单独看并不新
  • 实验充分度: ⭐⭐⭐⭐⭐ 五个评估维度(伪标签质量/描述精度/跨视角一致性/数据关联/导航策略),跨域泛化,计算效率分析,7 个表 + 7 个图
  • 写作质量: ⭐⭐⭐⭐⭐ 问题定义精准,方法描述结构清晰,Fig.1 的例子非常直观
  • 价值: ⭐⭐⭐⭐ 对具身 AI 语义理解有直接贡献,开源了代码/模型/数据,但应用范围限于仿真环境的物体描述