
Mobile-Agent:通过截图分析实现移动应用操作自动化
三个要点
✔️ 自主多模态代理 "Mobile-Agent " 介绍 :提议的多模态代理将视觉和语言整合在一起,实现移动应用操作自动化
✔️ 视觉识别技术的应用: 可根据屏幕截图直接进行操作定位,减少对用户界面的依赖、
✔️ 使用 "Mobile-Eval "基准进行性能评估:使用 新提出的基准证明了较高的任务完成率和操作准确性。
Mobile-Agent: Autonomous Multi-Modal Mobile Device Agent with Visual Perception
written by Junyang Wang, Haiyang Xu, Jiabo Ye, Ming Yan, Weizhou Shen, Ji Zhang, Fei Huang, Jitao Sang
(Submitted on 29 Jan 2024)
Subjects: Computation and Language (cs.CL); Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
概述
本文介绍了基于最先进语言模型的代理开发。近年来,各研究团队在任务规划和推理领域取得了显著进展。这些进步得益于多模态大规模语言模型(MLLM)的快速发展,尤其是视觉识别能力的提高。这为基于 MLLM 的代理在现实世界的各种应用中开辟了创新的可能性。特别是,开发用于操作移动设备的代理是该领域的一个新兴趋势。然而,现有的大规模语言模型在准确操作移动设备屏幕所需的视觉识别能力方面存在挑战。
为了应对这一挑战,本文提出了一种具有视觉识别能力的新型自主移动设备代理--移动代理。该代理能够直接从移动设备屏幕截图中定位操作。这样,代理就可以在不访问用户界面基本文件的情况下进行高效操作。
移动代理利用视觉识别模块,结合检测和 OCR(光学字符识别)建模来识别屏幕截图中的文本,并理解屏幕区域的内容。此外,该代理还利用 GPT-4V 强大的上下文感知功能,根据用户指令和操作历史全面规划任务。它还具有自省功能(Self-Reflection),可识别并纠正错误操作和不完整指令,从而实现高效的用户协助。
此外,还提出了一个新的基准--Mobile-Eval,用于评估 Mobile-Agent 的性能。其中包括不同难度的移动应用操作任务。该基准的实验表明,Mobile-Agent 的任务完成率和操作准确率都很高。这表明,Mobile-Agent 即使在跨多个应用程序的复杂任务中也能有效工作。
什么是 Mobile-Agent?
Mobile-Agent 将文本检测模块和图标检测模块与最新的大规模语言模型 (MLLM) GPT-4V 结合在一起。这一组合大大提高了移动设备上基于指令的操作的准确性。Mobile-Agent 的整体工作流程如下图所示。
虽然核心 GPT-4V 可以通过读取说明和屏幕截图来显示相应的操作,但它缺乏在移动设备实际运行时精确定位操作发生位置的能力。为了弥补这一不足,我们引入了外部工具来精确定位文本和图标的位置。
当需要确定文本的确切位置时,例如,当需要点击屏幕上的特定文本时,就需要使用 OCR(光学字符识别)工具来查找文本的位置。这一过程因检测到无文本、检测到一个文本或检测到多个文本而有所不同。针对每种情况,本文都提出了重新选择文本或为文本点击生成明确指示的方法。
当需要准确定位图标时,例如点击图标时,图标检测工具和 CLIP 可用于识别图标的准确位置。首先要求代理指定要点击的图标的属性,然后使用接地 DINO 和 "图标 "提示来识别所有图标。最后,使用 CLIP 计算所有检测到的图标与点击区域描述之间的相似度,并选择相似度最高的区域进行点击。
为了更好地解释移动代理在屏幕上执行的操作,还定义了以下八种操作。
- 打开应用程序(App):打开桌面页面上的特定应用程序。
- 点击文本(Text):点击屏幕上标有 "文本 "的区域。
- 点击图标(图标,位置): 点击 "图标 "描述的 "位置 "区域。
图标 "提供了对点击位置的描述,包括其属性(颜色、图标形状等)。
位置 "可从顶部、底部、左侧、右侧或中央选择一个或两个选项,以减少出错的可能性。 - 类型(文本):在当前输入框中输入 "文本"。
- 上下翻页:上下滚动当前页面。
- 返回:回到最后一页。
- 退出:从当前页面直接返回桌面。
- 停止:指令完成后,整个进程终止。
移动代理会反复完成每个操作步骤。在迭代开始之前,用户必须输入指令。根据这些指令,整个过程都会生成提示。每次迭代开始时,都会截取当前手机屏幕的屏幕截图并输入代理。代理处理提示、操作历史和当前屏幕截图,并输出下一步操作。如果代理的输出结果是流程结束,则迭代停止。移动代理使用操作历史记录来跟踪当前任务的进度,并根据提示在当前屏幕截图上生成操作,从而实现迭代、自我规划流程。下图下部显示了这一过程。
此外,在迭代过程中,代理可能会出错,无法完成指令。为了提高指令的成功率,我们引入了一种自我反思方法。
这种技术在两种情况下非常有效:一是当代理生成不正确或无效的操作,导致进程停滞时。如果代理检测到特定操作后屏幕截图没有变化,或显示的页面错误,它就会指示代理尝试其他操作或纠正当前操作的参数。这是指代理忽略了复杂指令的具体要求。在代理通过自我规划完成所有操作后,指示代理分析操作、历史记录、当前截图和用户指令,以确定指令是否完整。如果没有,代理必须继续通过自我规划生成操作。下图底部也显示了这一过程。
此外,为了更好地实现这些功能,我们还采用了 ReAct 中使用的提示格式。它要求代理输出三个部分:观察(Observation)、思考(Thought)和行动(Action)。观察是对当前截图和代理操作历史的描述。这有助于代理注意屏幕截图的更新,并根据历史记录快速识别错误。思考(Thought)是对根据观察和指示生成的下一步操作步骤的考虑。代理需要在 "思考 "中解释即将进行的操作。根据 Thought,代理可以从八个操作和参数中选择一个进行操作。
试验
移动代理总体评级。为方便起见,使用了安卓操作系统。这里使用新提出的 Mobile-Eval 基准对移动代理进行评估。
Mobile-Eval 共包含 10 个移动设备上常用的应用程序。为了评估代理人使用多个应用程序的能力,我们还引入了要求同时使用两个应用程序的指令。每个应用程序都设计了三个指令。第一条指令(指令 1)相对简单,只要求完成基本的应用程序操作;第二条指令(指令 2)更具挑战性,在第一条指令的基础上增加了一些额外要求;第三条指令(指令 3)是一条抽象的用户指令,要求用户同时使用两个应用程序。用户指令,没有明确指定要使用的应用程序或用户要执行的操作,而是由代理来决定。下表列出了 Mobile-Eval 中使用的应用程序和指令。
此外,还引入了四项评估标准,从不同角度评估移动代理的性能。
- 成功(SU):如果移动代理完成了指令,则视为成功。
- 过程得分(PS):评估指令执行过程中每个步骤的准确性。
具体来说,就是用正确步骤数除以步骤总数。即使代理最终没有成功执行某些指令,每个正确步骤也会对规划得分做出贡献、 - 相对效率 (RE):人工记录人类执行每条指令的步数,并将人类的操作视为最优解,
将移动代理的步数与人类的步数进行比较,以表明移动代理是否能更有效地使用移动设备。 - 完成率 (CR):移动代理对给定指令所能完成的人类操作步骤数除以人类操作步骤总数,表示移动代理指令的完成率。如果指令已完成,则该指标等于 1。
实验结果如下表所示。
首先,在三条指令(指令 1 ~ 指令 3)中,SU 的正确率分别为 91%、82% 和 82%;在 PS 中,移动代理通过三条指令生成正确操作的概率也很高,约为 80%。在 PS 中,移动代理通过三条指令生成正确操作的概率也很高,达到了 80% 左右。RE 也表明,Mobile-Agent 能够达到人类最佳操作的 80%。上述结果证明了 Mobile-Agent 作为移动设备助手的有效性。
摘要
本文介绍的 "移动代理"(Mobile-Agent)是一个自主的多模态代理,它为移动应用程序的操作提供了新的可能性。该系统利用一个集成的视觉识别框架来准确识别和定位应用程序界面中的视觉和文本信息,使其能够高效地规划和执行移动应用程序中的复杂任务。
与传统 XML 移动系统的元数据驱动方法不同,Mobile-Agent 将视觉信息置于中心位置,使其能够灵活适应各种移动环境。这使得它可以广泛应用于各种应用,而无需对系统进行特殊调整。此外,通过实验,Mobile-Agent 在各种情况下的有效性和效率已得到证明。
与本文相关的类别