← 返回 2026-01-15

FocusUI:通过位置保持视觉Token选择实现高效UI定位 FocusUI: Efficient UI Grounding via Position-Preserving Visual Token Selection

Mingyu Ouyang, Kevin Qinghong Lin, Mike Zheng Shou, Hwee Tou Ng 📅 2026-01-07 👍 16 2026-07-13 08:35
GUI Agent UI定位 多模态大模型 效率优化 视觉Token剪枝

通过指令感知的视觉token选择和位置保持策略,在保持UI定位精度的同时大幅提升推理效率

前置知识

UI Visual Grounding(UI视觉定位)

给定一张高分辨率的UI截图和一条自然语言指令(如「点击搜索栏」),模型需要在截图中定位出目标元素的位置。这是GUI Agent的核心能力,决定了Agent能否准确与界面交互。现代方法通常使用Vision-Language Model(VLM)处理截图,输出目标元素的坐标或对应的视觉patch。

本文的核心任务就是UI定位,理解这个任务的输入输出格式、评估方式和实际应用场景是理解全文的基础

Visual Token(视觉Token)

VLM处理图像时,首先将图像分割成固定大小的patch(如14×14像素),每个patch经过视觉编码器后变成一个向量表示,即视觉token。对于高分辨率UI截图(如3840×2160),会产生数千个视觉token。这些token与文本token拼接后送入语言模型进行推理。token数量直接影响计算复杂度和内存占用。

本文的核心动机就是UI截图产生过多视觉token导致效率问题,理解token化过程是理解本文技术方案的前提

Multimodal Rotary Position Embedding(M-RoPE,多模态旋转位置编码)

Qwen2-VL系列模型采用的位置编码方案,将旋转位置编码分解为时间(t)、高度(h)、宽度(w)三个分量,分别编码序列中的时序和空间位置信息。这种设计使模型能够理解视觉token在2D图像中的空间位置关系。当token序列的连续性被破坏时,M-RoPE的空间编码也会被打乱。

本文发现直接丢弃视觉token会破坏M-RoPE的空间连续性,这是本文提出POSPAD策略的关键原因

Visual Token Pruning(视觉Token剪枝)

一种加速VLM推理的技术,通过识别和丢弃不重要的视觉token来减少计算量。现有方法如FastV、HiPrune、VisionZip等主要针对自然图像设计,基于注意力分数或冗余度来选择保留哪些token。这些方法在一般视觉理解任务上效果良好,但会破坏token序列的空间连续性。

本文要解决的核心问题就是现有剪枝方法在UI定位任务上失效,理解这些方法的工作原理才能理解本文的改进

Union-Find(并查集)

一种经典的数据结构,用于管理不相交集合的合并与查询操作。本文用它来将视觉patch按照颜色相似性聚类成连通分量,每个分量代表一个视觉上相似的区域(如空白背景、大面积色块)。分量越大,说明该区域越同质化,其重要性权重越低。

本文用Union-Find构建UI-Graph先验分数来抑制背景区域,理解这个数据结构有助于理解技术细节

研究动机

UI视觉定位任务面临一个独特的效率困境:高分辨率UI截图被patch化后会产生大量视觉token,例如2K分辨率(2560×1440)截图产生约2348个视觉token,4K分辨率(3840×2160)更是高达约4700个。这些视觉token占据了整个序列预算的85%以上(在ScreenSpot-V2/Pro基准上,Jedi-1080P模型的视觉token占比为85.4%-86.7%,GUI-Actor模型更是高达95.3%-98.1%),造成严重的计算开销。更关键的是,UI截图与自然图像有本质区别:它们由大面积同质化区域(如空白背景、纯色面板)和少量小型widget组成,存在大量视觉冗余。然而,现有针对自然图像设计的视觉token剪枝方法(如FastV、HiPrune、VisionZip)直接应用于UI定位任务时,会产生灾难性的精度下降——在30%保留率下,ScreenSpot-V2平均精度下降42.6%-52.7%,ScreenSpot-Pro下降60.9%-81.6%。这种失败的根本原因是token剪枝破坏了序列的位置连续性,而UI定位恰恰对空间位置信息高度敏感。

本文的目标是本文的目标是开创性地解决高效UI定位这一新任务:在大幅减少视觉token数量(保留30%-50%)的同时,保持甚至提升UI定位精度。具体而言,作者希望实现三个可量化的目标:(1)推理速度提升至少1.4倍;(2)峰值GPU内存降低15%以上;(3)在ScreenSpot-Pro等基准上保持与全token基线相当的精度(差距在3-4个百分点以内)。此外,方法需要无缝集成到现有VLM架构中,无需修改底层模型结构。

与已有工作不同的是,本文的独特切入角度在于发现了UI定位任务的两个被忽视的关键特性:第一,UI截图存在极端的token分布不均衡——视觉token占比高达85%-98%,这为指令感知的选择性压缩提供了巨大空间。第二,也是更重要的发现,UI定位对位置连续性的敏感度远高于一般视觉理解任务。作者通过实验证明,直接丢弃token导致的精度下降不是因为信息丢失,而是因为位置编码被打乱。这一洞察直接指向了本文的核心创新:不是简单地丢弃不重要的token,而是在选择性压缩的同时保持序列的位置结构。这种「位置保持」的设计哲学与现有「直接丢弃」的方法形成了本质区别。

核心方法

FocusUI的设计思路可以用一个类比来理解:想象你在一张大地图上寻找某个地点。全token方法相当于把整张地图铺在面前逐格查看,效率很低。现有剪枝方法相当于随机撕掉地图的一部分,虽然看得少了,但剩下的碎片拼在一起已经失去了原本的空间关系。FocusUI则是先根据你的目的地(指令)标记出地图上可能相关的区域,然后只保留这些区域,同时用特殊标记保持剩余区域的空间位置信息——就像在地图上用书签标记跳过的区域,这样即使只看局部,也能知道它们在整体中的位置。技术路线分为三步:(1)构建Instruction-to-Patch显著性分数作为监督信号;(2)训练轻量级Query-Guided显著性预测器来选择相关token;(3)应用POSPAD策略保持位置连续性。

本文最核心的创新是POSPAD(Position-Preserving Padding)策略。现有剪枝方法的失败根源在于:它们将视觉token视为一维序列来处理,丢弃token后序列变短,但每个token对应的M-RoPE空间位置信息被打乱了。POSPAD的解决方案是:对于每一组连续被丢弃的token,不是简单地删除它们,而是用一个可学习的特殊标记替换整个连续序列,放置在该序列的最后一个位置上。这样做的精妙之处在于:(1)序列长度被压缩了——如果连续丢弃10个token,只用1个标记代替;(2)位置信息被保留了——标记放在序列末尾,继承了原始位置的(h,w)编码;(3)序列的连续性被维持了——没有跳跃,M-RoPE的空间编码不被打乱。实验表明,这种策略在50%保留率下可以将ScreenSpot-Pro精度从直接丢弃的28.5%提升到38.2%,几乎恢复到全token基线的水平。

方法步骤详情

FocusUI的完整流程分为训练阶段和推理阶段。训练阶段:(1)构建监督信号——对于每张截图和对应的ground-truth边界框,计算每个patch的边界框重叠分数S_bbox(与GT框的IoU归一化到[0,1]);同时用Union-Find对patch进行聚类,计算UI-Graph分数S_uig(大区域权重低);两者加权融合得到S_Ins2Patch = λ·S_bbox + (1-λ)·S_uig,其中λ=0.8。(2)训练Query-Guided Saliency Scorer——这是一个轻量级模块,接收视觉编码器的patch特征和文本编码器的指令嵌入,通过自注意力层增强特征后计算token-wise相似度矩阵P,再对文本维度取均值得到每个patch的显著性分数s_i,用KL散度损失与融合监督信号对齐。(3)端到端微调——Saliency Scorer与VLM一起训练,损失函数包括显著性分数的KL损失、next-token prediction损失和action-attention损失。推理阶段:(1)Saliency Scorer预测每个patch的显著性分数;(2)按分数排序选择top-K个patch(K=⌊rM⌋,r为保留率);(3)对被丢弃的连续序列应用POSPAD;(4)压缩后的序列送入LM decoder进行定位。

技术新颖性

FocusUI的技术新颖性体现在三个层面。首先,在任务定义层面,这是第一篇明确提出并系统研究高效UI定位问题的工作,此前的效率优化主要关注自然图像场景。其次,在监督信号设计层面,本文创新性地融合了边界框监督和UI-Graph先验:边界框监督提供了指令相关的定位信号,而UI-Graph先验通过Union-Find识别大面积同质区域并降低其权重,两者互补。这种融合策略比单纯的边界框监督或单纯的视觉显著性更有效——消融实验显示,去掉UI-Graph先验会导致SS-Pro精度下降2.5个百分点。最后,也是最重要的,POSPAD策略提供了一种全新的token压缩范式:不是在「保留」和「丢弃」之间二选一,而是通过位置保持的压缩实现两全。这与FastV、HiPrune等直接丢弃的方法形成了本质区别,也比Full Padding(在每个丢弃位置都插入标记)更高效。

FocusUI框架整体架构
Figure 2: FocusUI框架整体架构
Instruction-to-Patch显著性分数构建示例
Figure 3: Instruction-to-Patch显著性分数构建示例
POSPAD序列变换策略对比
Figure 4: POSPAD序列变换策略对比

实验结果

本文在四个UI定位基准上进行了全面实验,结果令人印象深刻。在性能方面(RQ1),FOCUSUI在所有基准上都超越了同规模的GUI专用基线。具体而言,FOCUSUI-7B(100%保留率)在ScreenSpot-V2上达到93.1%平均精度,超过GUI-Actor-7B的92.1%和Jedi-7B的91.7%;在ScreenSpot-Pro上达到48.3%,超过GUI-Actor-7B的44.6%(提升3.7个百分点)和Jedi-7B的39.5%(提升8.8个百分点)。即使在30%保留率的激进设置下,FOCUSUI-7B仍保持91.8%(SS-V2)和45.1%(SS-Pro)的精度。在与通用剪枝方法的对比中(RQ2),优势更加明显:在30%保留率下,FOCUSUI-3B在SS-Pro上达到40.6%,而FastV仅4.8%,HiPrune为18.0%,VisionZip为18.9%。这意味着FOCUSUI的精度分别是这些方法的8.5倍、2.3倍和2.1倍。在效率方面(RQ3),FOCUSUI-7B在30%保留率下实现1.44倍推理加速(每样本1.22秒 vs 1.75秒),峰值GPU内存降低17%(17392MB vs 20994MB),而精度仅下降3.2个百分点。在UI-Vision基准上,FOCUSUI-7B达到24.9%,与UI-TARS-72B(25.5%)相当,但模型规模小10倍。消融实验(RQ5)验证了各组件的有效性:POSPAD vs 直接丢弃在50%保留率下SS-Pro精度相差13.8个百分点(42.3% vs 28.5%);融合监督vs单一监督相差2.5个百分点;序列末尾放置POSPAD比序列开头或中间效果最好。

ScreenSpot-V2和ScreenSpot-Pro性能对比
Table 1: ScreenSpot-V2和ScreenSpot-Pro性能对比
与通用视觉token剪枝方法的对比
Table 5: 与通用视觉token剪枝方法的对比
效率分析
Table 6: 效率分析
消融实验
Table 7: 消融实验
定性可视化示例
Figure 5: 定性可视化示例
查看结构化数据
任务指标本文基线提升
ScreenSpot-V2 Average Accuracy (%) FOCUSUI-7B: 93.1 (100%), 92.6 (50%), 91.8 (30%) GUI-Actor-7B: 92.1, Jedi-7B: 91.7 100%保留率下超过GUI-Actor 1.0pp,30%保留率下仍超过大多数基线
ScreenSpot-Pro Average Accuracy (%) FOCUSUI-7B: 48.3 (100%), 46.5 (50%), 45.1 (30%) GUI-Actor-7B: 44.6, Jedi-7B: 39.5, UI-TARS-7B: 35.7 超过GUI-Actor-7B 3.7pp,超过Jedi-7B 8.8pp
OSWorld-G Average Accuracy (%) FOCUSUI-7B: 54.4 (100%), 54.1 (50%), 53.9 (30%) GUI-Actor-7B: 49.5, Jedi-7B: 54.1, UI-TARS-7B: 47.5 超过GUI-Actor-7B 4.9pp,与Jedi-7B持平
UI-Vision Average Accuracy (%) FOCUSUI-7B: 24.9 (100%), 24.5 (50%), 23.8 (30%) GUI-Actor-7B: 21.6, Jedi-7B: 24.8, UI-TARS-72B: 25.5 超过GUI-Actor-7B 3.3pp,接近UI-TARS-72B水平
推理效率(FOCUSUI-7B) 推理时间/GPU内存 30%保留率: 1.22s/17392MB 100%保留率: 1.75s/20994MB 1.44倍加速,17%内存降低

局限与改进

尽管FocusUI取得了显著成果,但仍存在几个值得讨论的局限性。首先,方法主要针对空间维度的视觉token压缩,尚未考虑时间维度——作者在结论中承认,UI交互通常涉及多轮、序列化的动作,未来需要探索时空联合压缩。其次,POSPAD策略虽然保持了位置连续性,但在极低保留率(如10%)下性能下降明显——Tab. 7c显示10%保留率下SS-Pro精度从42.3%降至36.6%,说明当压缩过于激进时,位置保持也难以弥补信息丢失。第三,Saliency Scorer的训练依赖于边界框标注,这在某些场景下可能难以获取或质量不高——作者使用OmniParser过滤后丢弃了22.9%的样本。第四,本文的评估主要集中在静态UI定位任务,尚未验证在需要动态交互的GUI Agent任务(如导航、操作序列)上的效果。最后,虽然方法声称与VLM无缝集成,但实际上需要额外的训练阶段(Stage 1预训练12小时,Stage 2微调36-48小时),这对快速部署到新模型或新领域可能构成障碍。

独立分析的弱点

从独立分析的角度看,FocusUI存在以下几个值得改进的弱点。第一,Saliency Scorer的监督信号质量高度依赖边界框标注的准确性。论文提到使用OmniParser过滤IoU<0.3的样本,但仍可能有噪声标注影响训练。改进方向:可以引入自监督或弱监督的显著性信号,如利用模型自身的注意力分布作为额外监督,减少对精确标注的依赖。第二,POSPAD的标记是全局共享的可学习嵌入,可能无法充分表达不同位置被丢弃区域的上下文语义。改进方向:可以设计条件化的PosPad标记,根据被丢弃区域的局部特征(如周围保留的token)动态生成标记嵌入。第三,UI-Graph先验使用固定的阈值τ=2来判断patch是否属于同一连通分量,这个阈值可能不适用于所有界面风格(如高对比度vs低对比度主题)。改进方向:可以学习自适应的阈值或使用多尺度的Union-Find。第四,方法在训练时需要对所有保留率进行采样(r∈(0.1,1.0)),这增加了训练的复杂性和不确定性。改进方向:可以探索课程学习策略,先用高保留率训练再逐步降低。第五,当前的action head设计(从GUI-Actor继承)需要输出特殊token来表示位置,这限制了与标准VLM的兼容性。

未来方向

基于本文的成果,未来研究可以在以下几个方向展开。作者提出的方向:考虑UI交互的时间维度,因为GUI任务通常涉及多轮动作序列,可以探索时空联合的token压缩策略,例如利用历史帧的信息来指导当前帧的token选择。基于成果可延伸的方向:(1)将FocusUI的高效定位能力与LLM-based Agent结合,实现端到端的高效GUI自动化——目前的评估仅关注定位精度,尚未验证在完整Agent管线中的效果;(2)探索自适应保留率——根据截图的复杂度和指令的难度动态调整保留比例,简单任务用更低保留率,复杂任务用更高保留率;(3)将POSPAD策略推广到其他需要空间位置信息的任务,如文档理解、图表分析等;(4)探索与模型量化、KV-Cache压缩等其他效率优化技术的正交组合;(5)研究跨平台泛化——在训练数据以外的UI风格(如游戏界面、AR/VR界面)上的迁移能力。

复现评估

从复现评估来看,本文的复现条件相对友好。开源方面,作者承诺提供完整的训练代码和模型权重(基于Qwen2.5-VL和Qwen3-VL),并提供了WandB训练日志。数据方面,训练使用的都是公开数据集(UGround、GUI-Env、AMEX等共约976K截图),不需要额外的数据收集。算力方面,训练在8×NVIDIA H200 GPU上进行,Stage 1需要12小时,Stage 2需要36-48小时(3B模型)到48小时(7B模型),这在学术实验室的可接受范围内,但对个人研究者可能有一定门槛。评估基准(ScreenSpot-V2/Pro、OSWorld-G、UI-Vision)都是公开的。复现难度:中等——核心算法(Union-Find、POSPAD序列变换)实现不复杂,但需要熟悉Qwen2.5-VL的M-RoPE位置编码和视觉编码器细节。需要注意的细节包括:patch size(Qwen2.5-VL用14,Qwen3-VL用16)、最大像素数设置、以及OmniParser过滤步骤。