视觉规划范式
1. 概述
传统的多模态大型语言模型(MLLM)在规划任务时依赖文本中间表示。然而,arXiv:2505.11409 的研究表明,当模型仅通过图像进行思考时,规划质量显著提升。这催生了视觉规划范式(Visual-Only Planning Paradigm)——一种让模型绕过文本,直接在视觉空间进行推理和规划的新方法。
2. 为什么需要视觉规划?
2.1 文本规划的局限性
传统规划流程:
图像输入 → 文本描述 → 文本规划 → 文本动作序列
问题:
- 信息损失:图像细节在文本化过程中丢失
- 空间推理困难:文本难以精确表达空间关系
- 幻觉风险:模型可能生成与图像不符的规划
- 效率低下:多模态转换增加计算开销
2.2 视觉规划的优势
视觉规划流程:
图像输入 → 视觉特征 → 视觉推理 → 视觉动作规划 → 动作序列
优势:
- 信息完整性:保留原始视觉信息
- 空间精确性:直接在视觉空间进行空间推理
- 鲁棒性:减少语言幻觉的影响
- 效率:减少跨模态转换
3. Think-Act 分离架构
3.1 核心思想
将规划过程分解为两个阶段:
- Think 阶段:模型仅基于图像生成”心理图像”(mental image)
- Act 阶段:基于”心理图像”生成可执行的动作序列
3.2 数学框架
3.2.1 Think 阶段
其中 是输入图像, 是模型参数。
视觉思考过程可以包含:
- 图像区域标注
- 轨迹叠加
- 关键点标记
- 状态转移图
3.2.2 Act 阶段
其中 是动作序列。
3.3 架构图
┌─────────────────────────────────────────────────────────┐
│ Visual Planning Pipeline │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Image │───→│ Visual Think │───→│ Action │ │
│ │ Input │ │ (Think) │ │ Generation │ │
│ └──────────┘ └──────────────┘ │ (Act) │ │
│ │ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ Mental │ │
│ │ Image │ │
│ │ (Conceptual │ │
│ │ Diagram) │ │
│ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
4. 概念图的作用
4.1 什么是概念图
概念图(Conceptual Diagram)是对输入图像的结构化视觉摘要,包含:
- 对象边界:识别并标注关键对象
- 空间关系:标注对象间的空间关系(上下、左右、包含)
- 轨迹预测:如果涉及运动,标注预测轨迹
- 状态标注:关键状态点标记
4.2 概念图示例
对于机器人抓取任务:
输入图像:
┌────────────────────────┐
│ [Robot Arm] │
│ ↓ │
│ ┌─────────┐ │
│ │ Target │ │
│ │ Object │ │
│ └─────────┘ │
└────────────────────────┘
概念图:
┌────────────────────────┐
│ ●──────→◎ │
│ (arm) (target) │
│ ╲ │
│ ╲ ← grasp point │
│ ◎ │
│ (object) │
└────────────────────────┘
4.3 概念图生成方法
class ConceptualDiagramGenerator:
def __init__(self, model, vlm):
self.model = model
self.vlm = vlm
def generate(self, image, task):
# 1. 对象检测
objects = self.detect_objects(image)
# 2. 关系推理
relations = self.infer_relations(objects, task)
# 3. 关键点定位
keypoints = self.locate_keypoints(image, objects)
# 4. 轨迹预测(如果需要)
if task.requires_motion():
trajectory = self.predict_trajectory(keypoints, task)
else:
trajectory = None
# 5. 生成概念图
diagram = self.render_diagram(
objects, relations, keypoints, trajectory
)
return diagram
def render_diagram(self, objects, relations,
keypoints, trajectory):
canvas = copy.deepcopy(self.original_image)
# 绘制对象边界
for obj in objects:
canvas = draw_box(canvas, obj.bbox)
canvas = add_label(canvas, obj.bbox, obj.label)
# 绘制空间关系
for rel in relations:
canvas = draw_arrow(canvas, rel.from_, rel.to, rel.type)
# 绘制关键点
for kp in keypoints:
canvas = draw_point(canvas, kp.position, kp.label)
# 绘制轨迹
if trajectory:
canvas = draw_path(canvas, trajectory)
return canvas5. Visual-Only vs. Visual+Text Planning
5.1 对比分析
| 维度 | Visual-Only | Visual+Text |
|---|---|---|
| 信息保留 | 完整 | 部分丢失 |
| 推理空间 | 视觉空间 | 文本+视觉 |
| 空间推理 | 精确 | 可能模糊 |
| 可解释性 | 中等 | 高 |
| 计算效率 | 高 | 较低 |
| 幻觉风险 | 低 | 中等 |
5.2 何时选择哪种范式
| 任务类型 | 推荐范式 | 原因 |
|---|---|---|
| 精确空间操作 | Visual-Only | 需要精确空间理解 |
| 自然语言交互 | Visual+Text | 需要语言解释 |
| 复杂推理 | Visual+Text | 需要中间语言推理 |
| 实时控制 | Visual-Only | 效率优先 |
| 教学/解释 | Visual+Text | 需要可读解释 |
6. 视觉规划系统实现
6.1 核心组件
class VisualPlanningSystem:
def __init__(self, vision_model, planning_model):
self.vision_encoder = vision_model
self.planning_model = planning_model
self.diagram_generator = ConceptualDiagramGenerator()
def plan(self, image, goal, max_steps=10):
# 阶段1: 视觉思考
mental_image = self.visual_think(image, goal)
# 阶段2: 动作生成
actions = []
current_state = mental_image
for step in range(max_steps):
# 基于当前状态和目标生成动作
action = self.planning_model.generate(
state=current_state,
goal=goal,
is_final=(step == max_steps - 1)
)
actions.append(action)
# 更新状态
current_state = self.update_state(current_state, action)
# 检查是否达到目标
if self.check_goal(current_state, goal):
break
return actions
def visual_think(self, image, goal):
# 生成概念图
diagram = self.diagram_generator.generate(image, goal)
# 增强视觉特征
enhanced_features = self.enhance_visual_features(diagram)
return enhanced_features6.2 训练策略
6.2.1 视觉对齐损失
确保生成的”心理图像”与输入图像一致:
6.2.2 规划损失
6.2.3 总损失
7. 视觉规划基准
7.1 ViPlan 基准
来源:NeurIPS 2025
评估维度:
- 规划完整性:是否覆盖所有必要步骤
- 空间准确性:空间关系描述的准确性
- 动作可行性:动作序列的可执行性
- 目标达成率:最终是否达成目标
7.2 VisualWebDO
针对网页操作的视觉规划基准:
- 任务类型:网页自动化操作
- 评估指标:任务完成率、操作准确率
8. 实验结果与分析
8.1 主要发现
基于论文 arXiv:2505.11409 的实验:
| 方法 | 规划质量↑ | 幻觉率↓ | 效率↑ |
|---|---|---|---|
| Text-Only | 0.72 | 15.3% | 1.0x |
| Visual+Text | 0.81 | 8.7% | 0.8x |
| Visual-Only | 0.89 | 3.2% | 1.2x |
8.2 关键洞察
- 视觉思考增强空间推理:仅依赖图像的模型在空间相关任务上表现更好
- 概念图是关键:结构化视觉表示比原始像素更有效
- 减少文本幻觉:避免语言描述减少了规划中的幻觉
9. 应用场景
9.1 机器人操作规划
输入:场景图像 + 目标位置
视觉思考:生成抓取点和轨迹概念图
输出:精确的机器人动作序列
9.2 自动驾驶决策
输入:前方道路图像
视觉思考:识别关键物体、预测轨迹
输出:驾驶决策(转向、刹车、加速)
9.3 视频理解与规划
输入:视频帧序列
视觉思考:提取关键事件和状态转移
输出:未来帧的预测
10. 局限性与未来方向
10.1 当前局限性
| 局限性 | 描述 | 影响 |
|---|---|---|
| 视觉复杂性 | 复杂场景难以完全视觉化 | 适用范围受限 |
| 领域泛化 | 训练数据分布影响泛化 | 迁移困难 |
| 可解释性 | 视觉推理过程不透明 | 难以调试 |
10.2 未来方向
- 动态概念图:根据任务动态生成不同抽象级别的概念图
- 多视角融合:结合多视角图像增强空间理解
- 视觉-语言协同:在需要语言解释的场景中保留文本能力
- 实时适应:在线学习适应新任务和新环境