【论文通读】SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents
SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents
- 前言
- Abstract
- Motivation
- Method
- GUI grounding for LVLMs
- Data Construction
- Training Details
- ScreenSpot
- Experiments
- GUI Grounding on ScreenSpot
- Visual GUI Agent Tasks
- MiniWob
- AITW
- Mind2Web
- Other experiments
- Conclusion
前言
一篇开创性的关于GUI智能体的工作,作者指出了当前GUI智能体面临的关键问题——GUI grounding能力不足,并基于此做了一系列工作,为提升GUI智能体性能指明了新的方向。
Paper | https://arxiv.org/pdf/2404.07972 |
---|---|
github | https://github.com/njucckevin/SeeClick |
Abstract
当前,GUI智能体与数字终端交互的方式通过提取的结构化信息,这些信息可能冗长或者无法访问。为此,本文提出SeeClick,只依赖于截图执行自动化任务。在之前的调研中,作者发现当前模型GUI grounding能力不足,为此,作者提出通过GUI预训练方式增强SeeClick该能力,并设计一种自动化管理GUI数据的方法。此外,作者还提出了ScreenSpot数据集,涵盖移动端、桌面和Web环境的真实benchmark。经过预训练后,SeeClick在ScreenSpot上展现了显著提升。此外,在在其他三个全面的benchmark上支持了作者的发现,即GUI grounding能力可以提升下游GUI智能体的性能。
Motivation
自动化桌面工具一直是个热门的话题,基于LLMs驱动的GUI智能体取得了一定的成功。但是仍面临一些问题:
- 结构化文本并不能总获取到。
- 结构化文本信息冗余,且忽视了关键的布局、图标等特征。
- 结构化文本种类繁杂,难以统一管理。
SeeClick如何解决这些问题?
避开结构化文本,从视觉角度构建GUI智能体,模仿人类的交互方式。但是这带来了新的问题:
当前的LVLMs grounding能力不足,无法根据指令定位到屏幕元素位置。
为此,SeeClick对LVLM进行了GUI grounding上的预训练,获得了在各种GUI环境中定位文本、图标等元素的能力。此外,为了填补GUI grounding评测领域的空白,作者提出ScreenSpot GUI grouding benchmark,涵盖IOS、Android、macOS、网页的600多个截图和1200条指令。最后,作者对SeeClick在mobile和web的benchmark上测试,取得了impressive的性能,这些实验一致支持了GUI grounding能力与GUI智能体性能的直接关联。
Method
GUI grounding for LVLMs
给定截图和一组元素集合 { ( x i , y i ) ∣ i } \{(x_i, y_i)|_i\} {(xi,yi)∣i},其中:
- x i x_i xi代表第i个元素的自然语言描述。
- y i y_i yi代表元素的位置。
LVLM的任务是根据元素 x i x_i xi预测 y i y_i yi的位置。预测数字坐标的任务是一个挑战,之前工作采用新加词表的方式,本文直接将数字作为自然语言的一部分。一个例子:
- instruction:View the new album of Jony J
- Prompt:In the UI, where should I click if I want to ?
- output:click (0.49, 0.40)
Data Construction
使用三种类型数据训练SeeClick:
- **Web UI data (Internet):**来自Common Crawl的300k web pages,每个网页收集两种类型元素,包括可见文本内容元素,以及悬停显示内容的元素(如下图所示)。
- **Mobile UI data (Public datasets):**Widget描述,手机UI grounding以及mobile UI summarization。20K截图,40Kwidgets,以及100K的描述。
- **General vision-language instruction-following data:**收集来自LLaVA的对话、详细描述和复杂推理的指令遵循数据,以维持LVLM对自然图像的理解能力。
Training Details
对Qwen-VL进行持续预训练。采用LoRA作用于visual encoder和LLM。
ScreenSpot
为了测试LVLM的GUI grounding的能力,作者构建了ScreenSpot,这是涵盖各种GUI平台最新、真实的grounding评估benchmark,它有两个显著特点:
- 各种GUI平台。
- 涉及Icons/widgets的评估。
Experiments
GUI Grounding on ScreenSpot
在ScreenSpot上测试当前LVLMs GUI grounding的能力,测试指标为点击的准确率。
- 通用的LVLMs由于GUIs和自然图像的差异,在GUI grounding上表现不佳。基于GUI的LVLMs有明显提升。
- SeeClick表现最好,表明GUI grounding预训练有效。
- SeeClick在desktop和web上文本定位表现不如CognitiveAgent,可能因为分辨率低以及训练数据小。
- 所有模型定位都不够好,说明ScreenSpot有一定挑战。
Visual GUI Agent Tasks
本小节测试SeeClick在mobile和计算机智能体任务上的能力,选取的数据集为MiniWob,AITW和Mind2Web,作者先将SeeClick在训练集上训练,再在测试集上测试。
MiniWob
- WebGUM由于使用了更大的数据集以及HTML+Image的方式,所以结果更高。
- SeeClick用少得多的训练数据超越了强大的baseline,包括同数据量下的WebGUM。
- 和同样的基于Image的模型相比,SeeClick仅用了0.3%的数据就超过了Pix2Act。
- SeeClick远远超过了Qwen-VL,强调了GUI grounding对提升LVLM性能的重要性。同时下图也展示了通用LVLMs在精准点击任务上存在困难。
AITW
本小节测试SeeClick在Android手机端benchmark AITW上的性能,同时对数据集按照任务类型重新划分以防止测试集数据泄露。评估指标为screen-wise action matching score以及点击准确率。
结果表明,SeeClick取得了最佳的平均性能。
Mind2Web
本小节测试SeeClick在Web浏览上的性能。采用Mini2Web数据集,该数据集本身是为文本智能体服务的,只选择了HTML中可操作的元素。为此作者从原始数据中解析了截图和目标元素,满足SeeClick输入的同时又和真实场景一致。评估指标采用元素精度、操作F1和步骤成功率。
SeeClick性能落后于基于HTML的方法,说明预测点击坐标的任务比从HTML候选中选择要难得多,凸显了GUI智能体还有很大的改进空间。
Other experiments
上图是grounding和智能体表现之间的联系。图中表明增强GUI能力可以提升智能体任务的表现。
上图表明统一GUI智能体任务会带来性能的下降,这是因为同的GUI界面有明显的不同。
Conclusion
本文提出视觉GUI智能体SeeClick,提出了当前GUI智能体面临的最大挑战:GUI grounding能力,基于此,作者对开源LVLM进行持续预训练,让其获得了一定的GUI grounding的能力,并在多个GUI任务上取得成功,此外,作者构建了第一个涵盖多个平台的真实GUI grounding评估数据集ScreenSpot,基于该数据集的实验表明SeeClick相对于LVLM基线有明显的改进。
对于这篇开创性的工作,有很多值得讨论的地方:
- GUI grounding能力是当前GUI智能体表现不足的主要原因,但是本文只是探索了点击能力,还没有对拖拽、滚动、typing等一系列GUI grounding的任务进行探索,统一这一系列任务,需要收集更丰富的数据集,定义新的动作空间,尤其是这些任务的组合涉及多步数据的收集或合成,这一系列的难题值得进一步的思考。
- 纯GUI grounding并不是最优的选择(可能是性价比最高的选择),文中实验也表明screenshot + HTML等文本信息会得到更优的结果,如果有机将这两个部分进行结合,可能会让GUI智能体获得超出人类的表现。
相关文章:

【论文通读】SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents
SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents 前言AbstractMotivationMethodGUI grounding for LVLMsData ConstructionTraining Details ScreenSpotExperimentsGUI Grounding on ScreenSpotVisual GUI Agent TasksMiniWobAITWMind2WebOther experiment…...

Ubuntu20.04离线安装Docker
1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-cli_20.1…...

AI大模型战争:通用与垂直,谁将领跑未来?
文章目录 📑引言一、通用大模型:广泛适用,实力不容小觑1.1 强大的泛化能力1.2 广泛的适用场景 二、垂直大模型:专注深度,精准解决问题2.1 深度专注,精准度高2.2 快速落地与普及 三、通用与垂直:…...

计算机网络之TCP的三次握手和四次挥手
一.有关TCP协议的几个概念 1.1TCP协议的基本概念: TCP协议是传输层的一个协议,它支持全双工通信,是主机对主机之间数据的可靠传输,是一个连接导向的协议。 1.2连接: 连接是通信双方的一个约定,它的目的是让…...

JupyterLab使用指南(八):更改JupterLab左侧默认打开目录
在JupyterLab中,默认打开路径通常是由其配置文件中的root_dir设置决定的。如果你没有特意设置这个配置项,JupyterLab可能会使用当前用户的主目录或者上一次关闭时的路径作为默认打开路径。 更改JupyterLab默认路径的操作在不同操作系统下大体相似&…...
Android SurfaceFlinger——HWC Adapter初始化(五)
上一篇文章对 HWC 硬件加载流程进行了分析,在加载完成后开始创建 HAL 实例时,首先需要对 hwc2_device_t 的适配器进行初始化,这里我们主要分析 HWC Adapter 的创建流程。 一、创建HWC Adapter 在创建 HAL 实例之前,我们先来看一下 HWC Adapter 的创建。 1、createHalWith…...

泛微开发修炼之旅--17基于Ecology短信平台,实现后端自定义二开短信发送方案及代码示例
文章链接:17基于Ecology短信平台,实现后端自定义二开短信发送方案及代码示例...

SpringMVC系列二: 请求方式介绍
RequestMapping 💞基本使用💞RequestMapping注解其它使用方式可以修饰类和方法可以指定请求方式可以指定params和headers支持简单表达式支持Ant 风格资源地址配合PathVariable 映射 URL 绑定的占位符注意事项和使用细节课后作业 上一讲, 我们学习的是Spr…...

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展
今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语…...
C# 关于通讯观察线程(1) -- 开启通讯线程
通讯观察线程是个有意思,又是非常实用的功能。 具体怎么实现呢,我们来看看主要过程的伪代码。对于高手这也许很简单,但是要用好也是需要实践到通讯的流程正确,同时应对好网络故障等。 先在合适的地方启动观察线程: …...

15.树形虚拟列表实现(支持10000+以上的数据)el-tree(1万+数据页面卡死)
1.问题使用el-tree渲染的树形结构,当数据超过一万条以上的时候页面卡死 2.解决方法: 使用vue-easy-tree来实现树形虚拟列表,注意:vue-easy-tree需要设置高度 3.代码如下 <template><div class"ve-tree" st…...

【服务器07】之【GitHub项目管理】及【Unity异步加载场景】
登录GitHub官网 GitHub: Let’s build from here GitHub 注册账号 登录账号 输入一个自定义名字,点击创建存储库就可以了 现在我们下载Fork Fork - a fast and friendly git client for Mac and Windows (git-fork.com) 免费的 下载完成之后点击File下的Clone …...
ansible提权之become_method与become_flags详解
目录 常见become_methodbecome_flagssu 常见选项总结sudo 常见选项总结pbrun 常见选项总结pfexec 常见选项总结doas 常见选项总结示例使用 sudo 的示例:使用 pbrun 的示例:使用 pfexec 的示例:使用 doas 的示例: 配置方式1. 配置文…...
elementui的el-dialog组件与el-tabs同时用导致浏览器卡死的原因解决
在el-dialog弹出框中,如果使用el-tabs,点击弹框的关闭按钮时,会导致弹出框无法关闭,且浏览器卡死。 解决方式(一): 在el-talbs的面板中不放任何内容: <el-tab-pane label"…...

基于图扑 HT for Web 实现拓扑关系图
拓扑结构在计算机网络设计和通信领域中非常重要,因为它描述了网络中的设备(即“点”)如何相互连接(即通过“线”)。这种结构不仅涉及物理布局,即物理拓扑,还可以涉及逻辑或虚拟的连接方式&#…...

linux笔记10--编辑器之神VIM
文章目录 1. 简单介绍① 为什么叫vim② linux常见的编辑器③ 注意事项④ 其它 2. 操作模式的划分① 两种 -- 国际上普通模式(命令操作模式)插入模式 ② 三种 -- 国内普通模式如何进入与退出界面 插入模式如何进入与退出界面 命令模式如何进入与退出界面常见的命令模式 ③ 区别④…...
安全管理中心-集中管控(6点)
记忆内容: 应划分出特定的管理区域,对分布在网络中的安全设备或安全组件进行管控。(三级新增) 应能够建立一条安全的信息传输路径,对网络中的安全设备或安全组件进行管理。(三级新增) 应对网络…...
使用electron打包Vue前端项目的详细流程
使用electron打包Vue前端项目的详细流程 需要更改的东西 路由模式的修改 # 修改前:url不带#mode: history# 修改后:url带#mode: hash全局修改Cookies为localStorage 由于打包成exe或deb这类可执行文件后,本地是没有 Cookies 全局搜索Cooki…...

《计算机英语》 Unit 4 Information Management 信息管理
Section A Information Storage 信息存储 1. The importance of Information信息的重要性 词汇 reside vi属于,驻留 tablet n平板电脑 laptop n笔记本电脑 repository n仓库 claim n索赔 regulatory n法规 contractua…...

如何打包数据库文件
使用 mysqldump 命令: mysqldump -u username -p database_name > output_file.sql username 是数据库的用户名。database_name 是要导出的数据库名称。output_file.sql 是导出的 SQL 文件名,可以自定义。 示例: mysqldump -u root -p…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...
拟合问题处理
在机器学习中,核心任务通常围绕模型训练和性能提升展开,但你提到的 “优化训练数据解决过拟合” 和 “提升泛化性能解决欠拟合” 需要结合更准确的概念进行梳理。以下是对机器学习核心任务的系统复习和修正: 一、机器学习的核心任务框架 机…...

智警杯备赛--excel模块
数据透视与图表制作 创建步骤 创建 1.在Excel的插入或者数据标签页下找到数据透视表的按钮 2.将数据放进“请选择单元格区域“中,点击确定 这是最终结果,但是由于环境启不了,这里用的是自己的excel,真实的环境中的excel根据实训…...