Visual Prompt Discovery via Semantic Exploration¶
会议: ECCV 2026
arXiv: 2603.16250
论文: ECCV 原文
领域: 多模态 VLM
关键词: 视觉提示 (Visual Prompting)、大视觉语言模型 (LVLM)、自动提示工程 (APE)、语义探索 (Semantic Exploration)、视觉感知缺陷 (Visual Perception Failures)
一句话总结¶
针对大视觉语言模型(LVLM)在细粒度感知任务上的系统性失效及传统逐样本工具调用的高昂开销,本文提出自动化语义探索框架 SEVEX,将视觉提示搜索空间抽象至高层语义理念层,通过新颖性引导树搜索与样本级失败回传,高效发现兼具高准确率与低推理成本的任务级视觉提示策略。
研究背景与动机¶
大视觉语言模型(LVLMs)在高级视觉推理和开放式多模态对话中表现优异,但在辨别细粒度属性、识别重叠几何形状、数交叉线条等基础感知任务上频繁遭遇瓶颈。这种基础感知的失真往往直接导致后续推理严重偏离真实事实,产生难以预测的幻觉现象。为了弥补 LVLM 的感知盲区,近年来的视觉提示(Visual Prompting)研究探索了通过代码介入对输入图像实施几何标注、高亮裁剪或调用外部感知工具等显式引导手段。
然而,现有的视觉提示范式面临两大核心矛盾。一方面,以 SketchPad 为代表的测试时零样本工具生成方法在推理阶段为每个样本动态合成代码,不仅单样本推理开销极其高昂(通常达到数万 token),而且将 LVLM 视作外部工具控制器而非诊断并修复其内在感知缺陷;一旦模型初始意图理解发生偏差,就会引发工具错配与级联错误。另一方面,针对模型内在感知缺陷的手工脚手架式视觉提示依赖专家反复进行试错实验,代价极其沉重;更为关键的是,由于不同基础模型的隐空间与感知偏置存在显著差异,为某一模型调优的视觉策略在迁移到另一模型时往往完全失效,迫切需要针对不同模型和任务自动发现定制化提示。
如果直接通过 LLM 智能体在原始的图像处理代码与参数空间中进行搜索,冗长且充斥低级细节的代码极易分散智能体的注意力,且无限的组合空间会引发严重的搜索失焦与过拟合。本文的切入角度是将具体的图像操作代码与高级语义意图解耦。核心 idea:将视觉提示发现建模为抽象语义空间中的闭环搜索树探索(SEVEX),结合新颖性引导的节点选择与样本级语义反向传播,以极小开发集预算自动提炼出反直觉且高效的任务级视觉提示代码。
方法详解¶
整体框架¶
SEVEX 采用闭环智能体迭代机制,在由抽象意图构成的动态搜索树 \(\mathcal{T}\) 上进行探索,搜索过程将高级视觉理念(Idea)与底层 Python 执行代码(Implementation)严格解耦。系统的单轮探索由四个串联阶段构成:首先根据节点潜力与饱和度选择最具探索价值的节点;工程师智能体(Engineer)随后将抽象意图编译为具体的图像变换代码并接入视觉工具箱;代码在小型开发集(30 个样本)上执行并获取定量收益与中间诊断图;最后分析师智能体(Analyst)通过样本级诊断提取高层有效洞见,将语义反馈反向传播回祖先节点,驱动后续新节点的拓展。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["任务定义与开发集"] --> B["新颖性引导树搜索 (NUCT)<br/>平衡历史上限收益与未探索节点新颖性"]
B --> C["抽象语义空间与代码实现<br/>意图解耦并调用基础/模型视觉工具"]
C --> D["小型开发集实证评测<br/>获取量化奖励与中间图像反馈"]
D --> E["样本级语义反向传播<br/>分析成败根因并提炼可迁移洞见"]
E --> F["洞见驱动的节点衍生与扩展<br/>动态生成高潜力子节点与同级候选"]
F -->|迭代回环| B
B -->|收敛输出| G["最优任务级视觉提示代码"]
关键设计¶
1. 抽象语义空间与意图解耦:消除长上下文代码干扰
直接在原始 Python 代码或像素操作序列中搜索会导致智能体陷入低级语法和超参数微调的局部陷阱,触发长上下文干扰问题。SEVEX 明确将搜索树节点 \(N\) 定义为四元组:抽象意图 \(I\)、代码实现 \(P\)、先验自评估计 \(S = \{s_{\text{gain}}, s_{\text{novel}}\}\) 和实验历史记录 \(H\)。智能体在高层理念空间中构思诸如“画出字母参考线辅助判定大小写”或“利用拼接图像后测深度图突变判别嵌合度”,再由专属的工程师角色依托标准化工具库(包含几何裁剪、颜色填充、GroundingDINO 检测、DepthAnything 深度估计和 SemanticSAM 分割等)转化为可运行代码,有效降低了智能体的认知负荷。
2. 新颖性引导树搜索(NUCT):避免过度分支与无效局部搜索
常规 Monte Carlo 树搜索算法要求遍历所有子节点,但在 LLM 开放生成场景下,子节点空间几乎无限且容易高度相似。NUCT 依据节点的执行状态进行针对性评分。对于已执行节点(访问次数 \(n_i > 0\)),优先选择层级间相对提升最大的分支:
式中 \(R_i^{\max}\) 为节点 \(i\) 及其所有子树所取得的历史最高奖励,\(R_{p_i}\) 为父节点奖励,\(n_{p_i}\) 为父节点访问次数。对于未执行节点(\(n_i = 0\)),由于缺乏实证测试分数,NUCT 结合智能体的自评收益、相对兄弟节点的新颖度以及父节点的探索饱和度惩罚:
其中 \(c_{\text{exec}, p_i}\) 为父节点已执行的子节点总数。该饱和度惩罚项防止智能体在已充分探索的父节点下不断生成低潜力变体,强制算法深入挖掘具有实质差异的全新路径。
3. 样本级语义反向传播:由具象案例提炼抽象感知经验
单纯回传一个标量准确率无法告诉智能体“为什么失败”。SEVEX 引入分析师智能体执行定性归因。在小规模开发集上执行视觉提示后,分析师对比模型预测结果与真实标签,并调取成功与失败的代表性输出图像。分析师诊断出具体的失效根因(例如“直接画框遮挡了交叉线端点”或“缩放导致关键边缘模糊”),提炼为高层可行洞见(Actionable Insights)。这些文本洞见随后沿搜索树反向注入到所有祖先节点的实验历史 \(H\) 中,从根本上防止后续分支重蹈覆辙。
4. 洞见驱动的闭环节点衍生:兼顾广度探索与深度特化
每次选定节点并完成实证评估后,智能体会根据更新后的祖先经验历史并发生成两类新节点:一类是同级兄弟节点,负责在同一抽象层级探索替代性假设;另一类是深度子节点,负责继承当前方案优势并进行细化或特化。新生成节点在入树前需通过可行性自评(Feasibility Check),无法用给定工具箱落地的死胡同构想会被直接过滤,保证了树结构的质量与高效自增。
一个完整示例¶
以 BLINK 基准中的拼图(Jigsaw)任务为例:原始任务要求从两幅候选拼接块中选出能够完美填补主图像缺失部分的图块。 - 初始探索阶段:智能体尝试了常规方案,例如通过边缘高亮检测图块边缘匹配度,但 LVLM 仍无法稳定判断复杂纹理边界,收益停滞。 - 反直觉灵感生成:智能体提出将候选块分别与底图拼接,并调用外部深度估计模型(DepthAnything)计算拼接画面的深度图。 - 机制落地:若拼接图块错误,接缝处会产生剧烈且不自然的深度断裂与非连续边界;若图块正确,整幅画面的景深过渡将高度连贯平滑。 - 提示重写与决策:生成的视觉提示代码将拼接图像转换为伪彩色深度图输入 LVLM,配套文本提示更新为“对比两张深度图,选出过渡自然且无突兀阶梯断裂的选项”。该策略一举将该任务准确率从 Naive 基线的 75.8% 提升至 95.8%。
优化配置与搜索策略¶
搜索过程严格限制在 50 次迭代预算内,在每项任务仅抽取 30 张图像构成的小型开发集上运行。超参数固定设定为:探索平衡权重 \(\lambda_{\text{expl}} = 0.5\)、新颖性权重 \(\lambda_{\text{novel}} = 0.15\)、饱和度惩罚权重 \(\lambda_{\text{sat}} = 0.5\),且每个执行节点维持 \(k = 3\) 个未执行子节点。该配置在极低算力开销下实现了高效收敛。
实验关键数据¶
主实验¶
论文在针对 LVLM 视觉感知缺陷设立的 BlindTest 与 BLINK 两大基准上进行了系统测试,主干模型采用 Gemini-2.5-flash,对比了无视觉提示的直接推理(Naive)、动态零样本代码生成的代表性方法 SketchPad,以及带有自动提示词工程增强的 SketchPad+APE。
| 评测基准与任务 | Naive 准确率 (%) | Naive 推理开销 (tokens) | SketchPad 准确率 (%) | SketchPad 推理开销 (tokens) | SEVEX (本文) 准确率 (%) | SEVEX (本文) 推理开销 (tokens) |
|---|---|---|---|---|---|---|
| LineIntersections | 73.0 | 981 | 33.3 | 16,730 | 90.5 | 991 |
| CircledLetter | 78.8 | 1,323 | 82.0 | 13,902 | 83.7 | 1,337 |
| SubwayMap | 60.0 | 1,333 | 58.1 | 16,482 | 62.8 | 1,585 |
| OverlappingShapes | 50.4 | 2,429 | 16.3 | 24,833 | 52.4 | 2,612 |
| BlindTest 平均 | 65.6 | 1,517 | 47.4 | 13,987 | 72.4 | 1,631 |
| Jigsaw | 75.8 | 869 | 70.8 | 14,896 | 95.8 | 682 |
| Depth | 83.0 | 1,349 | 85.1 | 14,158 | 85.1 | 1,457 |
| Spatial | 81.4 | 1,525 | 85.8 | 15,818 | 86.7 | 1,555 |
| SemanticCorr. | 55.0 | 712 | 58.7 | 9,477 | 63.3 | 1,358 |
| VisualCorr. | 87.3 | 641 | 90.9 | 14,291 | 89.4 | 801 |
| BLINK 平均 | 76.5 | 1,019 | 78.3 | 13,728 | 84.1 | 1,171 |
| 全任务总平均 | 71.6 | 1,240 | 64.6 | 15,621 | 78.9 | 1,375 |
同时,在与同样经历开发集搜索调优的 SketchPad+APE 基线对比中,SEVEX 在探索成本与推理成本上均展现出压倒性优势:
| 评估维度与指标 | SketchPad+APE (全任务平均) | SEVEX 本文 (全任务平均) | 相对变化与优势 |
|---|---|---|---|
| 开发集准确率 (Dev Acc, %) | 67.8 | 83.3 | +15.5% |
| 测试集准确率 (Test Acc, %) | 57.7 | 78.9 | +21.2% |
| 泛化差距 (Dev - Test Gap, %) | 10.1 | 4.4 | 泛化稳定性显著更高 |
| 单轮探索开销 (Exploration Cost, tokens) | 738,000 | 85,000 | 探索成本降低 88.5% |
| 单样本推理开销 (Inference Cost, tokens) | 16,800 | 1,375 | 推理成本降低 91.8% |
核心特性与跨模型非迁移性分析¶
论文深入探讨了视觉提示在不同底层 LVLM 之间的可迁移性。在 LineIntersections 任务上分别以不同模型探索出的提示互换测试:
| 提示来源与具体策略 | Gemini-2.5-flash 准确率 (%) | Claude Sonnet 4.0 准确率 (%) | GPT-4o 准确率 (%) |
|---|---|---|---|
| Naive 基线(无提示直接推理) | 73.0 | 66.3 | 8.2 |
| 提示 1 (Gemini 发现:提供交点少样本视觉参照示例) | 90.5 | 82.9 | 59.1 |
| 提示 2 (Claude 发现:三分重叠子图独立计数并容斥求和) | 87.9 | 87.8 | 31.0 |
| 提示 3 (GPT-4o 发现:裁剪聚焦高密交叉区域) | 62.3 | 35.0 | 57.1 |
关键发现¶
- 逐样本零样本生成的严重失效:SketchPad 在 BlindTest 上甚至显著差于 Naive(47.4% vs 65.6%),特别是在 OverlappingShapes 任务上跌至 16.3%(Naive 为 50.4%),原因是零样本调用的检测或分割工具引入了严重噪声,彻底误导了 LVLM,而 SEVEX 能够在开发集试错中及时抛弃失效工具。
- 惊人的摊销推理效率:SEVEX 将提示探索集中于离线阶段,推理时仅运行固定的最优轻量级 Python 脚本,单样本推理 token 仅比 Naive 增加 10.9%,相比 SketchPad 减少 91.2%。折算前期搜索代价后,当单个任务的线上推理需求超过 273 次时,SEVEX 的总体计算成本便全面低于 SketchPad。
- 视觉提示的强模型专属性与不可迁移性:针对某一模型优化的视觉提示无法直接跨模型通用。例如 Claude 偏好分块容斥求和,在 Claude 上取得 87.8%,但在 GPT-4o 上暴跌至 31.0%;GPT 偏好的局部裁剪策略在 Gemini 上反而导致准确率从 73.0% 跌至 62.3%。这证明自动化、模型专属性的离线提示搜索具有绝对的工程与学术必要性。
亮点与洞察¶
- 将视觉工程抽象至语义理念空间:摆脱了传统直接对 Python 代码字符或向量做优化带来的认知发散,通过“高层理念构思 \(\to\) 工程师落地代码 \(\to\) 分析师提炼洞见”的分工闭环,有效规避了 LLM 在低级代码上的注意力涣散。
- 反直觉的跨模态工具重用:框架发现了人类预先难以想到的奇妙视觉策略,例如在 Jigsaw 拼图任务中调用单目深度估计模型检测拼缝处的几何突变,而非传统依赖轮廓匹配或文本推理,体现了自主探索突破人类直觉偏见的潜力。
- 饱和度惩罚与语义经验回传的组合拳:在树搜索中引入兄弟节点执行饱和度惩罚,逼迫智能体在陷入死胡同前横向跳出;同时借助分析师提炼的自然语言经验更新整条祖先链,形成了可沉淀的学术性搜索记忆。
局限与展望¶
- 依赖预置外部工具集:代码生成阶段仍然受限于预先定义的工具列表(如 SAM、GroundingDINO、OpenCV 等操作),如果任务所需的视觉变换无法通过现有工具组合表达,框架无法从零合成全新的底层视觉算法。
- 开发集代表性要求:虽然框架验证了 30 张图在小样本下具有鲁棒的搜索稳定性,但在分布漂移极大或具有长尾长相的复杂真实任务中,极小样本集可能存在过拟合到特定子场景的潜在风险。
- 未来方向:探索动态工具库扩展机制,允许智能体在搜索过程中自主引入新的开源图像处理模型;同时探索在多模态强化学习框架下将发现的视觉提示策略蒸馏回 LVLM 视觉编码器本体。
相关工作与启发¶
- vs SketchPad / Visual Programming: 传统方法是在每个测试样本到来时临时编写代码调用工具,推理成本极其昂贵且无法在全局层面诊断 LVLM 认知盲区;SEVEX 采用“离线小样本系统性探索 + 线上固定任务级策略复用”,大幅降低推理成本并提高稳定性。
- vs APE / 文本自动提示工程: 传统 APE 聚焦于自然语言文本序列的微调与重采样;SEVEX 拓展到具有高度非连续性和复杂视觉效应的多模态领域,通过“理念-代码”双层解耦克服了代码提示带来的搜索空间爆炸与语义噪声。
- vs 视觉软提示微调 (Visual Prompt Tuning): 连续特征级的前缀调优需要访问白盒模型权重与梯度计算,计算开销巨大且不适用于商用闭源 LVLM API;SEVEX 作用于黑盒图像输入端与提示文本端,完全保持非侵入性与通用性。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次提出面向任务级视觉提示的高级语义树搜索范式,彻底摆脱了低级代码与纯人工试错的局限。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖 BlindTest 与 BLINK 的 9 个细粒度感知任务,兼备消融实验、探索成本剖析及多主流大模型的跨架构非迁移性验证。
- 写作质量: ⭐⭐⭐⭐⭐ 逻辑严密,图表清晰,对 LVLM 感知缺陷与视觉提示机制的剖析极其深刻到位。
- 价值: ⭐⭐⭐⭐⭐ 为解决多模态大模型的视觉感知盲区提供了开箱即用且成本极低的新范式,工程实用性与启发性极强。