AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Ferret系列之Ferret-UI:用多模态大模型给手机UI理解插上翅膀
发布日期:2024-07-23 07:34:36 浏览次数: 1814


导读

Ferret-UI 是一个针对手机用户界面(UI)的多模态大模型,它旨在解决以下问题:

  1. UI屏幕理解与交互的自动化:手机UI屏幕包含多种元素,如图标和文本,需要模型能够理解并与之交互以实现用户目标。

  2. 现有方法的局限性:现有的MLLM主要针对自然图像,直接应用于UI屏幕可能会受到限制,因为UI屏幕具有不同的纵横比和更小的兴趣对象。

Ferret-UI 提出的贡献包括:

  1. 模型架构改进:基于Ferret模型,集成了“任何分辨率”(anyres)功能,以适应不同纵横比的UI屏幕,并通过预定义的网格配置来划分全图像为子图像,增强细节识别。

  2. UI任务构建涵盖了从基本到高级的14种不同的移动UI任务,并为模型训练收集了详细的训练样本。
  • 论文名称:Ferret-UI: Grounded Mobile UI Understanding with Multimodal LLMs
  • 论文地址:https://arxiv.org/abs/2404.05719

  • 代码:无

Introduction

为了将 UI 专家知识植入 Ferret,Ferret-UI 进行了两项扩展:

  1. 调整模型架构以更好地处理屏幕数据

  2. 构建 UI 指代和定位任务数据集

# 模型架构

考虑到两点:

  1. UI 屏幕图像与自然图像相比有更延伸的纵横比,如表 1a 所示;

  2. 本任务涉及许多感兴趣的对象(即 UI 部件,如图标和文本)比自然图像中通常观察到的对象要小得多。例如,许多问题集中在占据整个屏幕不到 0.1% 的图标上。

直接使用Ferret模型的输入会导致视觉细节的显著丢失。为了解决这个问题,参考SPHINX、LLaVA-NeXT 和 Monkey 中的 "任何分辨率"(anyres)概念,选择了两种网格配置,1x2 和 2x1,这些配置基于原始屏幕的纵横比选择,如表 1a 所示。

# UI 数据收集

本研究考察了 iPhone 和 Android 设备的屏幕截图。数据总结在表 1 中。

# 任务设计

我们详细阐述了为构建数据集而设计的三种不同方法。

重新格式化 Spotlight 任务。我们首先从现有的 Spotlight 任务中获取 screen2words、widgetcaptions 和 taperception,并将它们格式化为对话式问答对。具体来说,我们使用 GPT-3.5 Turbo 根据我们为相应任务编写的基础提示创建多种提示:

  • Screen2words:为这个屏幕截图提供一个摘要;

  • Widget Captions:对于交互元素 [bbox],提供一个最能描述其功能的短语;

  • Taperception:预测 UI 元素 [bbox] 是否可点击。

对于每个训练示例,我们为相应任务采样一个提示,并将其与原始源图像和真实答案配对。

基础任务设计了 7 项任务,这些任务被分为两类:指代任务(referring tasks)和定位任务(grounding tasks)。

  1. 指代任务(Referring Tasks):这类任务涉及识别输入中的特定元素,并通常使用边界框(bounding boxes)来标识这些元素。具体来说,包括:

  • OCR:识别图像中的文字并将其转换为文本。

  • 图标识别(Icon Recognition):识别界面中的图标并确定其功能或含义。

  • 控件分类(Widget Classification):将界面中的控件(如按钮、文本框等)分类到预定义的类别。

  • 定位任务(Grounding Tasks):与指代任务相对,关注的是确定输出中特定元素的位置,同样使用边界框来标识。这些任务要求模型不仅要理解元素的语义,还要能够在图像上精确地定位它们。具体任务包括:

    • 控件列表(Widget Listing):列出界面上所有可识别的控件。

    • 查找文本(Find Text):根据文本内容在界面上找到对应的文本区域。

    • 查找图标(Find Icon):根据描述或功能找到对应的图标。

    • 查找控件(Find Widget):根据控件的类型或功能找到特定的控件。

    下图概述了基础任务的训练数据生成过程

    高级任务。设计了四个任务:详细描述、对话感知、对话交互和功能推理

    1. 详细描述(Detailed Description):这个任务要求模型生成对用户界面元素的详细描述。

    2. 功能推理(Function Inference):这个任务涉及对用户界面元素功能的推断。

    3. 对话感知(Conversation Perception)对话交互(Conversation Interaction):这两个任务与对话相关,要求模型能够理解和生成与用户界面相关的多轮对话。

    下图概述了高级任务的训练数据生成过程。

    Experiments

    Ferret-UI-anyres 指的是集成了任何分辨率的版本。在训练期间,解码器和投影层被更新,而视觉编码器保持冻结。所有训练数据都格式化为指令跟随格式,训练目标与 Ferret 中的相同。训练总共有 250K 个样本。Ferret-UI-base 需要 1 天的训练时间,而 Ferret-UI-anyres 在 8 个 A100 GPU 上大约需要 3 天的训练时间。

    # 实验结果

    Analysis

    以下是主要的比较结果和发现:

    1. 公共基准测试(Spotlight)和基础 UI 任务上:Ferret-UI 优于 GPT-4V

    2. 高级任务:高级任务上虽然超过同期的Fuyu和CogAgent,但还是比不过GPT-4V

    3. 分辨率调整的影响:将 anyres 添加到 Ferret-UI-base 后,iPhone 的指代和定位任务性能提高了 2 个百分点。对于高级任务,使用 Ferret-UI-anyres,iPhone 的性能大幅提升了 20 个百分点,而 Android 的性能有所下降。由于 Android 高级任务数据未包含在训练混合中,随着模型对 iPhone 屏幕理解的知识丰富,它可能失去了一些泛化能力。

    消融实验表明:基础任务为模型提供了增强的视觉和空间理解能力,有助于执行高级任务。

    Ferret-UI的二作是Ferret-V2的一作,两篇文章几乎同时上传到arxiv上,从上面的模型整体框架图上可以看到,Ferret-UI和Ferret-V2类似,都是在Ferret的基础上引入任意分辨率,但Ferret-UI利用了手机截屏的先验知识:竖屏或者横屏,可以通过垂直方向或者水平方向切图将原图切成2个方块(不过如果遇到长截屏,仅靠1:2或者2:1应该还是不够的),也就不需要引入DINOv2这种细粒度的Visual encoder了。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询