近年来,大视觉-语言模型(VLMs)如 GPT-4V 和 GPT-4o 在多模态任务中的表现引起了广泛关注。这些模型展示了在用户界面(UI)中操作的智能代理系统的巨大潜力。然而,尽管这些模型在理论上有很强的能力,但在实际应用中,尤其是在仅通过视觉输入在不同操作系统和应用程序中作为通用代理的情况下,它们的全部潜力仍未得到充分探索。其中一个主要的限制因素是缺乏一种强大的屏幕解析技术,该技术能够:
- 可靠地识别用户界面中的可交互图标。
- 理解截图中各种元素的语义,并准确地将预期动作与屏幕上的相应区域关联起来。
OmniParser:紧凑的屏幕解析模块
为了解决这些问题,微软的研究人员开发了 OmniParser,一个紧凑的屏幕解析模块,可以将 UI 截图转换为结构化的元素。OmniParser 可以与各种 VLMs 结合使用,创建能够在 UI 上采取行动的代理。特别是,当与 GPT-4V 结合使用时,OmniParser 显著提高了代理为界面区域生成精确接地动作的能力。
- 项目主页:https://microsoft.github.io/OmniParser
- GitHub:https://github.com/microsoft/OmniParser
- 模型:https://huggingface.co/microsoft/OmniParser
主要功能
- 交互区域检测:OmniParser通过训练一个检测模型来识别和解析屏幕上的可交互区域,如按钮和图标。
- 功能语义提取:使用另一个训练好的模型来提取已识别元素的功能语义,帮助模型理解每个元素的作用。
- 结构化表示:将用户界面截图转换成结构化的元素,包括边界框和标签,以便于模型理解和操作。
主要特点
- 纯视觉解析:不依赖于HTML或其他辅助信息,仅通过视觉信息解析用户界面。
- 多模型集成:结合了交互区域检测模型、图标描述模型和光学字符识别(OCR)模块,提供更全面的理解。
- 性能提升:在多个基准测试中,OmniParser显著提高了GPT-4V在屏幕操作任务中的性能。
工作原理
OmniParser的工作原理包括以下几个步骤:
- 数据集构建:使用流行网页的DOM树信息构建交互区域检测数据集和图标描述数据集。
- 模型微调:在这些数据集上微调专门的模型,以提高对用户界面元素的识别和理解能力。
- 屏幕解析:将用户界面截图解析成结构化的元素,包括边界框和对应的功能描述。
- 动作预测:利用解析出的结构化信息,帮助GPT-4V等大型语言模型更准确地预测和执行用户指令。
数据集创建
OmniParser 的开发始于创建两个专业数据集:
- 可交互图标检测数据集:从流行的网页中策划并标注,以突出可点击和可操作的区域。
- 图标描述数据集:将每个 UI 元素与其对应的功能关联起来,这是训练模型理解检测到的元素语义的关键组成部分。
模型微调
OmniParser 利用了两个互补模型:
- 检测模型:在可交互图标数据集上微调,可靠地识别截图中的可操作区域。
- 描述模型:在图标描述数据集上训练,提取检测到的元素的功能语义,生成上下文准确的描述其预期动作的描述。
基准性能
通过结合 OmniParser 和 GPT-4V,代理在多个基准测试中取得了显著的性能提升:
- ScreenSpot 基准测试:通过解析结果,GPT-4V 的性能显著提升。
- Mind2Web 基准测试:OmniParser + GPT-4V 的表现优于使用从 HTML 中提取的额外信息的 GPT-4V 代理。
- AITW 基准测试:OmniParser 的表现优于使用专门训练的 Android 图标检测模型的 GPT-4V,该模型使用视图层次结构。
- WindowsAgentArena 基准测试:OmniParser 在这一新基准测试中取得了最佳性能。
兼容性和通用性
为了进一步证明 OmniParser 是现成视觉语言模型的插件选择,研究人员展示了 OmniParser 与最近宣布的视觉语言模型 Phi-3.5-V 和 Llama-3.2-V 结合的 ScreenSpot 基准测试性能。这些结果表明,OmniParser 可以作为一个通用且易于使用的工具,能够在不依赖于 HTML 和 Android 中的视图层次结构等额外信息的情况下,解析 PC 和移动平台上的通用用户屏幕。
开源发布
为了鼓励更多的研究和应用,OmniParser 的代码和训练过程报告已经在 GitHub 上公开发布。这一举措旨在推动研究社区在不同应用程序和环境中创建能够采取行动的代理。
结论
OmniParser 的开发和应用展示了在用户界面操作中使用大视觉-语言模型的巨大潜力。通过可靠的屏幕解析技术和强大的 VLMs 结合,OmniParser 不仅提高了代理的性能,还为未来的智能代理系统提供了新的发展方向。希望这一工具能够促进更多创新应用的出现,使智能代理在实际场景中发挥更大的作用。