概述
论文地址:https://arxiv.org/abs/2404.05719
移动应用程序已成为我们日常生活中不可或缺的工具,涉及信息搜索、预订和娱乐等多个领域。我们通常会目测屏幕,然后根据自己的目的执行必要的操作。将这一过程自动化可以让用户更轻松地实现目标。自动化还可应用于无障碍改进、用户界面导航、应用程序测试和可用性研究等不同领域。
要顺利实现用户界面感知和交互的自动化,需要一个具有高级功能的系统。这些系统需要能够理解整个屏幕并关注特定的用户界面元素。它还必须能够将自然语言指南转化为用户界面中的具体操作,执行高级推理并提供相关详细信息。
然而,目前的技术还无法完全实现这些功能。据报道,有几种多模态大规模语言模型(MLLM)在自然图像上表现出色,但即使是这些模型,在用户界面屏幕上也会变得困难重重,因为与自然图像相比,用户界面屏幕的长宽比更长,图标和文本等小对象也更多,这就带来了挑战。挑战包括
在本文中,我们通过开发 Ferret-UI 的新版本来应对这些挑战。Ferret-UI 是首个专为用户界面屏幕设计的多模态大规模语言模型,能够理解开放式语言指令并将其转化为适当的行为。在本文中,Ferret-UI 的开发主要集中在三个方面:改进模型架构、数据整理和基准设置。特别是,它引入了一种新的网格设置,将图像划分为子图像,以支持任意分辨率,并为不同屏幕尺寸提供灵活性。
Ferret-UI 的开发还产生了包含不同级别任务的训练数据,从基本的用户界面操作到高级推理,不一而足。在初始阶段,我们采用了一种基于模板的方法,对小部件分类、图标识别和 OCR 等基本 "参照 "任务以及小部件和图标定位等 "基础 "任务进行采样。这些任务使模型能够理解用户界面元素的含义和位置,并对不同类型的用户界面甚至同一类型的用户界面进行精细区分。
对于更复杂的任务,GPT-4 还可用于生成高级任务数据,包括详细描述、对话识别、对话交互和功能推理。这样,模型就能对视觉元素进行深入讨论,根据明确的目标计划行动,并解释屏幕目标。
下图显示了 Ferret-UI 熟练处理 11 项任务的示例,从基础到高级不等。使用灵活的输入格式(点、方框、涂鸦)完成引用任务(如小工具分类、图标识别、OCR)和接地任务(如查找小工具、查找图标、查找文本、小工具列表)。用户界面屏幕。这些基本任务为模型提供了丰富的视觉和空间知识,使其能够从粗略和精细两个层面区分用户界面类型,如不同的图标和文本元素。
此外,还开发了一个综合测试基准来评估模型的有效性,其中包括 14 种不同的移动用户界面任务。该基准测试涵盖了基本任务和高级任务,并针对 iPhone 和 Android 屏幕进行了定制。在评估不同的用户界面理解模型时,Ferret-UI 明显优于现有的 Ferret 模型,尤其是在高级任务中,与其他模型相比优势明显。
我们提出了一个具有 "任意分辨率 “的 Ferret-UI模型,它是第一个专门针对用户界面的多模态大规模语言模型,可高效地执行"参照”、"接地"和"推理"任务。
Ferret-UI:利用先进自然图像识别技术的新型用户界面交互模型
Ferret-UI以 Ferret 为基础,Ferret 是一种机器学习模型,专门用于识别和关联各种形状和详细程度的自然图像中的对象和区域。该模型可以与以不同方式指定的对象(如点、方框或自由形状)进行交互。此外,Ferret-UI 还集成了先进的视觉编码器(如 CLIP-ViT-L/14)和解码器专用语言模型(如 Vicuna),并引入了混合技术,将视觉数据转换成语言处理模型更容易处理的格式。
这项技术的核心是空间感知视觉采样器,它能有效描述和管理不同密度区域的形状。进行了两项重要改进。首先,它定义了用户界面的"参照"和"接地"任务,并以这些任务为基础。其次,对模型架构进行了调整,以便更有效地处理屏幕数据。
具体来说,Ferret-UI包括用户界面参照任务,如 OCR(光学字符识别)、图标识别和小部件分类,以及广泛的接地任务,如文本、图标和小部件搜索以及小部件列表。这为模型与用户界面的高级交互奠定了坚实的理解基础。这些功能使 Ferret-UI 有别于其他模型,并提供了一个直观、创新的用户界面解决方案。
与之前的许多多模态大规模语言模型不同,Ferret-UI 直接使用原始屏幕像素作为模型输入,而无需使用外部检测模块或屏幕视图文件。这种自成一体的方法实现了先进的单屏互动,并为新的应用铺平了道路。特别是,它在改善无障碍环境等领域的潜力令人期待。
最初的数据集分析得出了一些重要结论:首先,用户界面屏幕的长宽比比自然图像中的长宽比要长,其次,用户界面任务中处理的对象(用户界面小部件,如图标和文本)比自然图像中的小得多。这些都是。为了有效处理这些小对象,本文引入了 “任意分辨率”(anyres)方法。这种方法允许根据原始屏幕的纵横比选择 1x2 或 2x1 网格配置,并在将屏幕分割成子图像之前适当调整其大小。
例如,一个纵向格式的屏幕被水平分割,一个横向格式的屏幕被垂直分割。每个子图像都是独立编码的,并使用详细的视觉信息和整体图像上下文进行处理。这种 "任意分辨率 "调整功能使 Ferret-UI 能够高效处理不同的图像格式,同时保留图像细节。这种创新方法使 Ferret-UI 能够提供详细的屏幕交互,在用户界面的理解和操作方面向前迈出了一大步。
实验结果
比较了几种模型的性能,包括 Ferret-UI-base、Ferret-UI-anyres、Ferret2 和 GPT-4V,还考察了 Fuyu 和 CogAgent 在高级任务中的性能。结果如下表所示。
作为基准,使用了公共基准 Spotlight。结果显示,Ferret-UI 在 S2W 和 WiC 中的表现优于 Spotlight。另一方面,Ferret-UI 也取得了具有竞争力的结果,尽管在 TaP 方面不如 Spotlight。有人认为,这可能是由于锥形接收标签中的噪声造成的。
参照任务显示的是 OCR 精确匹配准确率、图标识别和部件分类的准确率,而接地任务显示的是正确边界框的标签交集(IoU)率大于 0.5 时的准确率。
此外,Ferret-UI 在许多基本任务中的表现都优于其他机型,但 iPhone 文本搜索除外;GPT-4V 在 iPhone 任务中的表现尚可,但在 Android 任务中的表现略逊一筹。这可能是由于 Android 屏幕包含许多小部件,增加了接地任务的难度。此外,Ferret-UI 在 UIBert 的 "参考表达式理解 "任务中实现了 76% 的零拍摄性能,而在 Ferret-UI-base 中添加 "anyres "功能后,iPhone 的 "参考 "和 "接地 "任务的性能提高了两个百分点。
接下来是高级任务的结果。结果如下表所示。由于高级任务要求开放式回答,因此使用 GPT-4 对标签和预测进行评分。预测得分以标签得分的百分比表示。
尽管训练数据中没有安卓系统的特定数据,但 Ferret-UI 在两个平台上的高级任务中都表现出很高的性能。这表明用户界面知识在不同操作系统之间的有效转移,说明该系统具有高度灵活性。
与其他模型相比,Fuyu 能生成相关答案,但缺乏 Ferret-UI 所显示的细节和准确性。另一方面,GPT-4V 提供了更详细的答案,在所有任务中都获得了很高的评价。这一趋势与模型评估者的偏好一致。
对于高级任务,尤其是 iPhone 上的高级任务,引入 Ferret-UI-anyres 后,性能显著提高了 20 个百分点。然而,在 Android 任务中,性能却有所下降。这可能是由于训练数据不包括高级安卓任务的信息,随着 iPhone 特定知识的增加,模型的普遍适用性略有降低。这一结果说明了数据偏差会如何影响模型的适用性。
消融研究
本文探讨了增强对基本用户界面元素的视觉和空间理解如何有助于执行更复杂的任务。本研究的核心假设是,通过基本任务增强理解力可以提高处理高级任务的能力。为了澄清这一点,我们详细研究了基本任务对高级任务执行的影响。结果如下表所示。
只尝试高级任务时,两个平台的性能都只有 64%,但添加 iPhone 或 Android 的基本任务后,iPhone 的高级任务性能持续提高了 5%。此外,添加 iPhone 的基本任务后,Android 的高级任务性能也提高了约 4%,而添加 Android 的基本任务后,性能进一步提高了 9%。如果同时加入 iPhone 和 Android 的基本任务,iPhone 和 Android 的高级任务性能将分别再提高 3% 和 5%。
这些结果提出了一个假设,即基本任务为模型提供的更强的视觉和空间理解能力将有助于高级任务的执行,并提高整体表现。
为了确定聚光灯任务中不同的数据配置如何影响模型性能,本研究还调查了添加基本任务数据是否有助于提高性能。结果如下表所示。
虽然这些任务旨在提高对屏幕的视觉和空间理解能力,但增加来自 Android 和 iPhone 的基本任务数据并没有明显改善三个 Spotlight 任务的性能。这可能是因为基本任务中使用的以用户界面为中心的专业词汇与 Spotlight 任务中要求的回答风格不同。
将高级任务数据整合到所有基本任务中时,结果最好。尽管只使用了来自 iPhone 的高级任务数据,但小部件说明的 CIDEr 分数还是提高了 4 分。高级任务的开放式答案需要更复杂的技能才能完成,与 Spotlight 任务的要求非常接近。
在高级任务中磨练出来的技能组合很可能在解决 Spotlight 任务时更具优势,因为 Spotlight 任务的复杂程度介于基本任务和高级任务之间。
结果分析
本节介绍对Ferret-UI 用户界面基本任务中的"参照"和"接地"任务的分析结果。
对 Ferret-UI 的 OCR 和 widget 分类进行分析后,我们获得了重要的启示。特别是在光学字符识别任务中,模型倾向于预测邻近文本而非目标文本,这在小文本或间距较近的文本中更为明显。不过,事实证明,采用任意图像技术可以缓解这一问题,放大的子图像可以帮助模型处理小的视觉细节。
这些模型还倾向于预测实际的单词,而不仅仅是解码屏幕上的文本,这在音素产生的单词(如用户界面屏幕上的品牌名称)中很常见。此外,即使 OCR 模型返回的文本不正确,它们也能准确预测部分裁剪过的文本。
与 OCR 一样,在部件分类方面也提出了一些有趣的建议。模型有时很难理解部件之间的关系,例如,它们倾向于将由多个子元素组成的大按钮识别为占据最大空间的子元素,而不是单个部件。也有一些情况下,被文本包围的小图标会被错误地预测为文本,但添加 anyres 后,这些预测的准确性得到了提高。
在 "接地 "任务中,模型可能会无意中突出显示与目标区域相邻的文本。此外,建议今后在出现多个相同文本时对该方法进行扩展,允许从单选框到多选框的答案,这可以提高模型的实用性及其在复杂文本检索场景中的准确性。
结果分析:高级用户界面任务
该对话展示了 Ferret 的特殊能力。为了评估输出边界框的准确性和相关性,我们对 Ferret-UI 和 GPT-4V 对话交互中的所有边界框进行了人工评分。结果显示,Ferret-UI 和 GPT-4V 的准确率分别为 91.7% 和 93.4%,其中 Ferret-UI 生成的是原始坐标,而 GPT-4V 则是从预定义的方框中进行选择,这使得 Ferret-UI 在用户界面屏幕上的落地能力值得关注尽管 GPT-4V 的得分较高,但对其预测进行验证后发现,它有时倾向于提供与问题无关的信息,这可能有利于 Ferret-UI 提供更简洁的答案。
此外,Ferret-UI 无法了解检测模型遗漏了哪些元素(如颜色、设计、可用性),因为其基本任务和高级任务都依赖于用户界面元素的检测。例如,GPT-4V 可在生成详细描述时提供见解,如 “整体设计遵循苹果公司的审美观,简约、简洁且以深色为主题”,而 Ferret-UI 则完全依赖于检测到的元素,因此Ferret-UI 仅依赖于检测到的元素,因此没有经过训练来提供此类见解。
GPT-4V 中的 “标记集”(SoM)提示方法有几个局限性。特别是,当涉及许多小的用户界面元素时,该方法的有效性就会降低。这种情况在安卓检测任务中经常出现,用户界面组件的小尺寸会导致标签隐藏原始内容或超出预期区域。此外,将评估限制在特定候选区域会限制模型自由引用任何给定区域的能力。在下面的示例中,用户界面检测模型将整个中心部分视为单一元素,涵盖文本和图像,包括 "购买 "按钮。因此,模型无法单独引用 "购买 "按钮。
除了 Ferret 执行高级用户界面任务的独特能力外,它还揭示了有待改进的地方。
总结
本文提出的 Ferret-UI 是一种多模态大规模语言模型,致力于更好地理解和改进与移动用户界面屏幕的交互。Ferret-UI 的 "anyres "经过精心设计,以适应不同的屏幕纵横比,并提供了涵盖各种基本和高级用户界面任务的训练样本,在 “参考”、"基础 "和 "推理 "任务中表现出色。我们期待Ferret-UI在广泛的用户界面应用中取得显著进步。
版权归原作者 知来者逆 所有, 如有侵权,请联系我们删除。