❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- OmniParser 是微软推出的屏幕解析工具,将 UI 截图转换为结构化数据。
- 该工具提升基于大型语言模型的 UI 代理系统性能,广泛应用于自动化测试和虚拟助手。
- OmniParser 无需依赖额外信息,独立从视觉截图中提取数据。
正文(附运行示例)
OmniParser 是什么
OmniParser 是微软研究院开发的屏幕解析工具,专门用于将用户界面的屏幕截图转换成结构化数据。该工具旨在提高基于大型语言模型(如 GPT-4V)的 UI 代理系统的性能,通过准确识别可交互图标和理解截图元素的语义,增强代理执行任务的能力。
OmniParser 的主要功能
- 解析 UI 截图:将用户界面的屏幕截图解析成结构化的元素,包括可交互图标和文本。
- 识别可交互区域:使用专门的检测模型识别和标记 UI 中的可交互区域,如按钮和图标。
- 提取功能语义:通过描述模型提取检测到的元素的功能语义,生成对用户任务相关的描述。
- 增强代理性能:结合解析结果,提升基于大型语言模型的 UI 代理在执行任务时的性能和准确性。
- 跨平台应用:支持多种操作系统和应用程序,如 Windows、MacOS、iOS、Android 及多种 Web 浏览器和桌面应用。
- 无需额外信息:无需依赖 HTML 或视图层次结构等额外信息,独立地从视觉截图中提取必要数据。
OmniParser 的技术原理
- 数据集构建:从流行网页和应用中提取数据,构建可交互图标检测数据集和图标描述数据集。
- 检测模型:使用 YOLOv8 模型在可交互图标检测数据集上进行微调,识别和定位 UI 中的可交互区域。
- 描述模型:使用 BLIP-v2 模型在图标描述数据集上进行微调,生成图标的功能描述。
- OCR 模块:集成光学字符识别(OCR)模块提取屏幕上的文本,与图标检测结果合并,去除高重叠的边界框。
- 结构化表示:将检测到的元素和生成的描述整合,形成结构化的 DOM(文档对象模型)表示,在潜在可交互元素上叠加边界框的截图。
- 行动预测:结合结构化元素和功能语义,减轻大型语言模型在行动预测时的负担,更准确地将预测的行动转换为屏幕上的实际行动。
如何运行 OmniParser
安装步骤
conda create -n "omni" python==3.12
conda activate omni
pip install -r requirement.txt
示例代码
# 运行Gradio演示
python gradio_demo.py
资源
- 项目官网:https://microsoft.github.io/OmniParser/
- HuggingFace 模型库:https://huggingface.co/microsoft/OmniParser
- arXiv 技术论文:https://arxiv.org/pdf/2408.00203
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦