OmniParser 項目詳細介紹
項目概述
OmniParser 是一個全面的方法,用於將使用者介面截圖解析為結構化且易於理解的元素,這顯著增強了 GPT-4V 生成能夠準確定位到介面對應區域的操作的能力。
項目地址: https://github.com/microsoft/OmniParser
核心功能
1. 螢幕解析能力
- 互動式圖示檢測: 能夠可靠地識別使用者介面中可互動的圖示
- 語義理解: 理解截圖中各種元素的語義,並準確地將預期動作與螢幕上的對應區域關聯
- 結構化輸出: 將 UI 截圖轉換為結構化格式,改善基於 LLM 的 UI 智能體
2. 技術架構
OmniParser 包含兩個主要組件:
- 互動式圖示檢測資料集: 從流行網頁策劃並自動標註,突出可點擊和可操作區域
- 圖示描述資料集: 將每個 UI 元素與其對應功能相關聯
主要特性
OmniTool
OmniTool:使用 OmniParser + 您選擇的視覺模型控制 Windows 11 虛擬機器
支援功能:
- 多智能體編排
- 軌跡本地日誌記錄
- 為您的領域構建訓練資料管道
- 改進的使用者介面體驗
支援的模型
- OpenAI GPT-4o/o1/o3-mini
- DeepSeek R1
- Qwen 2.5VL
- Anthropic Computer Use
安裝和使用
環境配置
cd OmniParser
conda create -n "omni" python==3.12
conda activate omni
pip install -r requirements.txt
下載模型權重
for f in icon_detect/{train_args.yaml,model.pt,model.yaml} icon_caption/{config.json,generation_config.json,model.safetensors}; do huggingface-cli download microsoft/OmniParser-v2.0 "$f" --local-dir weights; done
mv weights/icon_caption weights/icon_caption_florence
運行演示
python gradio_demo.py
性能表現
- 在 Windows Agent Arena 上達到最佳性能
- 在 Screen Spot Pro GUI 定位基準測試中達到 39.5% 的最新最佳結果
- 顯著提升 GPT-4V 在 GUI 操作任務中的準確性
應用場景
- GUI 自動化測試: 自動識別和操作使用者介面元素
- 智能助手開發: 構建能夠理解和操作圖形介面的 AI 助手
- 無障礙技術: 幫助視覺障礙使用者理解螢幕內容
- 流程自動化: 自動化重複的 GUI 操作任務
- 使用者體驗研究: 分析使用者介面的可用性和互動性
技術優勢
- 純視覺方法: 不依賴於底層 UI 代碼或 API,僅通過視覺資訊工作
- 高精度定位: 能夠精確識別可互動元素的位置和功能
- 跨平台兼容: 支援多種作業系統和應用程式
- 可擴展性: 支援與多種大型語言模型集成
資料集和模型
檢測模型
- 基於 YOLO 架構
- 使用 AGPL 許可證
- 專門訓練用於 UI 元素檢測
描述模型
- 基於 BLIP2 和 Florence 架構
- 專門用於生成 UI 元素的功能描述