微软推新模型OmniParser:让GPT-4V秒懂屏幕截图内容,指哪懂哪

news/2024/10/26 13:28:36/

还记得那个号称“看图说话”神器GPT-4V吗?它能理解图片内容,还能根据图片执行任务,简直是懒人福音!但它有个致命弱点:眼神不太好!

想象一下,你让GPT-4V帮你点个按钮,它却像个“屏幕瞎子”一样,到处乱点,是不是很抓狂?

今天就给大家介绍一个能让GPT-4V眼神变好的神器——OmniParser!这是微软发布的全新模型,旨在解决图形用户界面(GUI)自动交互的难题。

OmniParser是干啥的?

简单来说,OmniParser就是个“屏幕翻译官”,它能把屏幕截图解析成GPT-4V能看懂的“结构化语言”。OmniParser结合了微调后的可交互图标检测模型、微调后的图标描述模型和OCR模块的输出。

在这里插入图片描述
这种组合生成了UI的结构化、类似DOM的表示,以及覆盖了潜在可交互元素边界框的屏幕截图。研究人员首先使用流行网页和图标描述数据集创建了一个可交互图标检测数据集。这些数据集被用来微调专门的模型:一个用于解析屏幕上可交互区域的检测模型和一个用于提取检测到的元素的功能语义的描述模型。

具体来说,OmniParser会:

识别屏幕上所有可交互的图标和按钮,并用框框标出来,给每个框框一个独一无二的ID。

用文字描述每个图标的功能,比如“设置”、“最小化”。识别屏幕上的文字,并提取出来。

这样一来,GPT-4V就能清楚地知道屏幕上有什么,每个东西是干啥的,想点哪个按钮只要告诉它ID就行了。

在这里插入图片描述

OmniParser有多牛?

研究人员用各种测试来考验OmniParser,结果发现它真的能让GPT-4V“眼神变好”!

在ScreenSpot测试中,OmniParser让GPT-4V的准确率大幅提升,甚至超过了一些专门针对图形界面训练的模型。例如,在 ScreenSpot 数据集上,OmniParser 的准确率提高了73%,超过了依赖底层 HTML 解析的模型。值得注意的是,结合 UI 元素的局部语义导致了预测准确性的显着提升——使用 OmniParser 的输出时,GPT-4V 的图标正确标记从70.5% 提高到93.8%。

在Mind2Web测试中,OmniParser让GPT-4V在网页浏览任务中的表现更上一层楼,准确率甚至超过了使用HTML信息辅助的GPT-4V。

在AITW测试中,OmniParser让GPT-4V在手机导航任务中的表现也得到了显著提升。

在这里插入图片描述
OmniParser还有啥不足?

虽然OmniParser很厉害,但它也有一些小毛病,比如:

面对重复的图标或文字容易犯迷糊,需要更细致的描述才能区分。

有时候框框画得不够精确,导致GPT-4V点错位置。

对图标的理解偶尔会出错,需要结合上下文才能更准确地描述。

不过,研究人员正在努力改进OmniParser,相信它会越来越强大,最终成为GPT-4V的最佳拍档!

模型体验:https://huggingface.co/microsoft/OmniParser

论文入口:https://arxiv.org/pdf/2408.00203

官方介绍:https://www.microsoft.com/en-us/research/articles/omniparser-for-pure-vision-based-gui-agent/


http://www.ppmy.cn/news/1542126.html

相关文章

Find My平板键盘|苹果Find My技术与键盘结合,智能防丢,全球定位

‌平板键盘的主要用途包括提高输入效率、支持轻量化办公、提供丰富的文本编辑功能以及快捷操作。相比于直接在屏幕上打字,使用键盘可以显著提升输入速度,减少输入错误,特别是对于需要大量文字输入的场景,如写作、记录笔记等‌。平…

【GIT】Visual Studio 中 Git 界面中, 重置 和 还原

在 Visual Studio 的 Git 界面中,“重置” 和 “还原” 是两个常用的 Git 操作。它们的主要区别在于应用场景和影响范围。 1. 重置(Reset) 重置用于更改当前分支的提交历史,通常用于撤销或删除某些提交。重置操作可能会更改 Git…

Spring Boot助力的厨艺互动平台开发指南

2 相关技术 2.1 Spring Boot框架简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Sprin…

node和npm版本冲突

问题描述: 解决办法: 一、 查看自己当前的node和npm版本 node -v npm -v 二、 登录node官网地址 node官网地址 https://nodejs.org/zh-cn/about/previous-releases 查看与自己node版本兼容的是哪一版本的npm,相对应进行更新即可。 三 升级node 下载最…

PyTorch模块介绍

PyTorch 是一个开源的深度学习框架,主要用于深度学习和计算图的构建与训练。它由几个核心模块组成,每个模块都有特定的功能。以下是 PyTorch 的主要模块及其功能介绍: 1. torch 这是 PyTorch 的核心模块,包含了所有基础的张量操作和数学运算。它支持张量的创建、数学运算…

基于YOLOv8深度学习的路面坑洞检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

背景及意义 路面坑洞检测在道路维护、交通安全以及自动驾驶等领域具有重要的意义。它不仅可以提前预警潜在危险,而且是自动驾驶技术的必备技术。本文基于YOLOv8深度学习框架,通过685张图片,训练了一个进行路面坑洞的目标检测模型,…

计算机网络原理总结D-传输层

传输层 传输层协议UDP和TCP网络安全TCP可靠传输的实现TCP的流量控制TCP的拥塞控制TCP的运输连接管理 一、相关概述 传输层为相互通信的应用进程提供了逻辑通信【端到端的通信】 1. 应用场景 TCP:分段(编号)、流量控制、拥塞控制、建立会话…

【Bug】RuntimeError: Engine loop has died

目录 报错前置条件报错内容解决方案 报错前置条件 使用vllm启动qwen2.5-32b-instruct模型后发生的报错 GPU是GeForce RTX 4090 Laptop GPU 系统是Windows 11 运行系统是WSL2-Ubuntu22.04 报错内容 INFO 10-22 22:29:31 engine.py:290] Added request chat-993cbe95e73d4a1db…