微软开源:4.7K Stars! 解锁跨平台的纯视觉解析新框架

深入解析OmniParser:解锁GPT-4V跨平台用户界面操作潜力的纯视觉解析新框架

论文:

arxiv.org/pdf/2408.00...

报告:

www.microsoft.com/en-us/resea...

前言 : 随着大型多模态模型(如GPT-4V)的快速发展,我们已经见证了其在自然语言理解和推理能力上的突破。然而,当这些模型应用于用户界面(UI)操作时,仍然面临诸多挑战。尤其是跨平台(如Windows、macOS、iOS、Android)和多应用程序(如浏览器、办公软件、设计工具)中的UI理解和操作问题,当前的解决方案尚无法满足高效自动化需求。为了应对这一难题,微软研究团队提出了OmniParser,一个专注于纯视觉解析的通用UI解析框架。本文将从创新点、方法原理、架构设计、预训练策略以及功能优势等方面,对OmniParser进行全面解析。

1. OmniParser的创新点解析

OmniParser通过独特的设计,解决了当前多模态模型在UI解析和操作中的多项瓶颈。其主要创新点包括:

  • 纯视觉解析方法

    • 传统方法往往依赖于HTML的DOM树结构或视图层次信息来解析UI,而OmniParser则完全基于视觉输入(即UI截图),无需额外的HTML或应用内层次信息。这使得OmniParser能够广泛适用于各种平台和应用程序,而无需为每个平台单独适配解析逻辑。
    • 这种视觉解析方式通过屏幕截图即可解析出所有交互元素,并生成相应的操作提示。这种通用性极大地提高了其在真实场景中的适用性。
  • 任务无关的交互区域检测

    • OmniParser引入了一个经过微调的检测模型,用于从屏幕截图中识别所有可交互的图标、按钮和文本输入区域。与传统的固定坐标点击不同,OmniParser采用基于Set-of-Marks(SOM) 的标注策略,通过为每个检测到的元素分配一个唯一的ID,极大提高了多任务操作的准确性。
    • 该检测模型不仅支持通用的UI元素(如按钮、复选框、输入框),还能够动态适应新式UI设计中的自定义控件和图标。
  • 增强的功能语义理解

    • 在UI操作中,理解每个元素的语义(即按钮功能)至关重要。OmniParser通过一个专用的语义描述模型,为每个检测到的图标生成功能性描述。例如,一个"垃圾桶"图标会被识别为"删除"按钮,而一个"齿轮"图标则被识别为"设置"选项。这种功能性描述帮助GPT-4V更准确地执行用户任务。

2. 方法原理:基于多模型协同的UI解析机制

OmniParser采用了多模块协同工作的设计原理,以充分挖掘UI截图中的信息。其主要方法包括:

  • 交互区域检测模块(Interactable Region Detection)

    • 使用YOLOv8模型对UI截图中的可交互元素进行检测。团队基于100,000个热门网页抓取了大量截图,并从这些网页的DOM树中提取了交互元素的边界框,最终构建了一个包含67,000张标注截图的大规模训练集。
    • 通过20轮的强化训练,该检测模型能够在多平台(桌面、移动、网页)环境中准确识别多达40种不同类型的UI控件。训练过程中采用了Adam优化器和余弦退火学习率调度,进一步提升了模型的鲁棒性。
  • 文本识别与OCR模块

    • 除了图标检测,OmniParser还集成了一个先进的OCR模块,用于提取UI中的文本信息。这包括按钮上的标签、菜单选项以及输入框中的提示文字等。
    • 通过结合OCR检测结果与图标边界框,可以更全面地理解屏幕中的操作元素。例如,在表单填写任务中,OmniParser能够识别出"姓名"、"电子邮件"等字段,并自动关联到相应的输入框位置。
  • 功能描述生成模块(Icon Functional Description)

    • 为了提升模型对UI元素的理解,研究团队构建了一个7,000对图标与功能描述的数据集。这些数据通过GPT-4生成,并用于微调BLIP-2模型,使其能够对UI图标提供更准确的功能性描述。
    • 例如,当用户任务是"打开设置"时,OmniParser能够基于图标描述直接定位到屏幕上的"齿轮"图标,而无需通过大量上下文分析。

3. 架构设计:模块化与扩展性兼备

OmniParser采用模块化架构设计,旨在实现高效的跨平台适应能力:

  • 图像编码器(Image Encoder)

    • 采用Swin Transformer作为核心视觉特征提取器。相比传统卷积神经网络,Swin Transformer具有更强的多尺度特征捕捉能力,特别适合处理复杂的UI截图。
    • 输入图像经过特征提取后,生成多层次的视觉嵌入,这些嵌入将被传递到后续的解码模块中进行进一步分析。
  • 多任务解码器(Multi-Task Decoder)

    • 解码器部分由多个子模块组成,包括交互区域解码器文本区域解码器功能性描述解码器。每个模块针对特定任务进行了优化,但共享相同的底层架构,从而实现模块间的高效协作。
    • 通过多任务学习(Multi-Task Learning),OmniParser能够同时完成多项解析任务,从而大幅提升整体解析效率。
  • 任务提示机制(Prompting Mechanism)

    • 为了更好地适应不同任务需求,OmniParser采用了任务提示机制。例如,通过输入"<DETECT_BUTTON>"提示符,模型将专注于检测按钮类元素;而输入"<EXTRACT_TEXT>"则会引导模型聚焦于文本区域的提取。这种灵活的任务切换机制显著提高了模型的通用性。

4. 预训练方法与数据增强策略

OmniParser为了进一步提升模型的泛化能力和适应性,采用了一系列预训练方法:

  • 数据增强(Data Augmentation)

    • 为了提高模型在多种UI设计上的鲁棒性,团队引入了丰富的数据增强策略,包括随机裁剪、翻转、亮度调整和图像模糊等。这些增强策略帮助模型更好地适应不同平台和设备上的UI变化。
  • 领域自适应预训练(Domain Adaptation Pre-training)

    • 通过在特定领域(如移动端应用和桌面应用)分别进行微调,OmniParser能够显著提升在各自领域的解析精度。例如,在移动端表单填写任务中,其字段识别准确率提升了10%以上。

5. 功能与性能评估:基准测试中的卓越表现

OmniParser在多个公开基准测试集上进行了广泛的评估,并取得了显著的性能提升:

  • ScreenSpot基准测试

    • 包含600多个来自移动、桌面和网页的UI截图。OmniParser在不同平台上的平均准确率达到93.9%,显著超越GPT-4V基线模型的70.5%。尤其在复杂布局和多元素场景中,其识别准确率提升尤为显著。
  • Mind2Web基准测试

    • 在跨网站导航任务中,OmniParser展示出卓越的适应性。其跨域任务的操作F1得分比传统基于HTML的方法提高了5.2%,在元素识别准确率上更是超越了使用完整HTML信息的GPT-4V模型。
  • AITW(Android in the Wild)基准测试

    • 在包含30,000个用户任务的移动应用测试中,OmniParser以57.7%的整体任务成功率领先于现有最佳模型,展示了其在实际移动设备任务中的高效性。

6. 实验分析与案例可视化

  • 局部语义增强的影响

    • 实验结果表明,通过为每个UI元素添加局部功能描述,GPT-4V在选择正确操作对象时的准确率显著提升,从70.5%提高至93.8%。这表明语义提示在复杂任务中的关键作用。
  • 错误案例分析与改进方向

    • 分析显示,当UI中存在多个相似元素(如多个"提交"按钮)时,GPT-4V可能会混淆操作对象。未来计划通过增强语义描述模型

7. 使用例子

首先我们要到clone它们的仓库或者将它们的文件下下来。仓库地址:github.com/microsoft/O...

然后进入文件夹,运行下面命令安装环境:

ini 复制代码
conda create -n "omni" python==3.12
conda activate omni
pip install -r requirements.txt

然后下载模型, ckpts文件在:huggingface.co/microsoft/O... ,并将它们放在 weights/下,默认文件夹结构是:weights/icon_detect,weights/icon_caption_florence,weights/icon_caption_blip2。

最后,将 safetensor 转换为.pt 文件。

python gradio_demo.py

运行 Gradio 示例,只需运行:

python gradio_demo.py
相关推荐
chenchihwen几秒前
《生成式 AI》课程 第3講 CODE TASK 任务2:角色扮演的机器人
人工智能·机器人
倔强的石头10620 分钟前
AI技术赋能电商行业:创新应用与未来展望
人工智能·ai·电商
sp_fyf_202426 分钟前
【大语言模型】ACL2024论文-14 任务:不可能的语言模型
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·数据挖掘
ZHOU_WUYI27 分钟前
2. langgraph中的react agent使用 (在react agent添加历史消息)
人工智能·langchain
正义的彬彬侠1 小时前
《PCA 原理推导》18-5线性变换生成的随机变量y_i和y_j的协方差 公式解析
人工智能·机器学习·pca·主成分分析
_Randy_2 小时前
Transformer
人工智能·深度学习·transformer
醒了就刷牙2 小时前
《Self-Supervised MultiModal Versatile Networks》简要
人工智能·深度学习·学习·计算机视觉
数据猎手小k2 小时前
DAHL:利用由跨越 29 个类别的 8,573 个问题组成的基准数据集,评估大型语言模型在生物医学领域长篇回答的事实准确性。
人工智能·深度学习·语言模型·数据集·机器学习数据集·ai大模型应用
天润融通3 小时前
如何构建高效的知识库系统?实现智能信息管理
大数据·人工智能·产品运营·知识图谱·用户运营
2401_883041083 小时前
什么是全域电商?有哪些电商代运营公司能做全域电商代运营?
大数据·人工智能·产品运营