OmniParser Projekt – Detaillierte Beschreibung
Projektübersicht
OmniParser ist ein umfassender Ansatz zur Analyse von Screenshots von Benutzeroberflächen in strukturierte und leicht verständliche Elemente. Dies verbessert die Fähigkeit von GPT-4V, Operationen, die den entsprechenden Bereichen der Benutzeroberfläche entsprechen, präzise zu lokalisieren, erheblich.
Projektadresse: https://github.com/microsoft/OmniParser
Kernfunktionen
1. Bildschirmanalysefähigkeiten
- Interaktive Icon-Erkennung: Kann interaktive Icons in Benutzeroberflächen zuverlässig erkennen.
- Semantisches Verständnis: Versteht die Semantik verschiedener Elemente in Screenshots und ordnet erwartete Aktionen den entsprechenden Bereichen auf dem Bildschirm genau zu.
- Strukturierte Ausgabe: Konvertiert UI-Screenshots in ein strukturiertes Format, wodurch LLM-basierte UI-Agenten verbessert werden.
2. Technische Architektur
OmniParser besteht aus zwei Hauptkomponenten:
- Interaktives Icon-Erkennungs-Dataset: Kuratiert und automatisch annotiert von populären Webseiten, wobei klickbare und bedienbare Bereiche hervorgehoben werden.
- Icon-Beschreibungs-Dataset: Verknüpft jedes UI-Element mit seiner entsprechenden Funktion.
Hauptmerkmale
OmniTool
OmniTool: Steuern Sie eine Windows 11-VM mit OmniParser + Ihrem gewählten visuellen Modell.
Unterstützte Funktionen:
- Multi-Agent-Orchestrierung
- Lokale Protokollierung von Trajektorien
- Aufbau einer Pipeline für Trainingsdaten für Ihren Bereich
- Verbesserte Benutzeroberflächenerfahrung
Unterstützte Modelle
- OpenAI GPT-4o/o1/o3-mini
- DeepSeek R1
- Qwen 2.5VL
- Anthropic Computer Use
Installation und Verwendung
Umgebungskonfiguration
cd OmniParser
conda create -n "omni" python==3.12
conda activate omni
pip install -r requirements.txt
Modellgewichte herunterladen
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
Demo ausführen
python gradio_demo.py
Performance
- Erreicht die beste Leistung in der Windows Agent Arena
- Erreicht das neueste Bestresultat von 39,5 % im Screen Spot Pro GUI Lokalisierungs-Benchmark
- Verbessert die Genauigkeit von GPT-4V bei GUI-Bedienungsaufgaben erheblich
Anwendungsbereiche
- GUI-Automatisierungstests: Automatische Erkennung und Bedienung von Benutzeroberflächenelementen
- Entwicklung intelligenter Assistenten: Entwicklung von KI-Assistenten, die grafische Oberflächen verstehen und bedienen können
- Barrierefreiheitstechnologien: Unterstützung sehbehinderter Benutzer beim Verständnis von Bildschirminhalten
- Prozessautomatisierung: Automatisierung sich wiederholender GUI-Bedienungsaufgaben
- Benutzererfahrungsforschung: Analyse der Benutzerfreundlichkeit und Interaktivität von Benutzeroberflächen
Technische Vorteile
- Rein visueller Ansatz: Funktioniert ausschließlich mit visuellen Informationen, ohne auf zugrunde liegenden UI-Code oder APIs angewiesen zu sein
- Hochpräzise Lokalisierung: Kann die Position und Funktion interaktiver Elemente präzise erkennen
- Plattformübergreifende Kompatibilität: Unterstützt verschiedene Betriebssysteme und Anwendungen
- Skalierbarkeit: Unterstützt die Integration mit verschiedenen großen Sprachmodellen
Datensätze und Modelle
Erkennungsmodell
- Basiert auf der YOLO-Architektur
- Verwendet die AGPL-Lizenz
- Speziell für die UI-Elementerkennung trainiert
Beschreibungsmodell
- Basiert auf der BLIP2- und Florence-Architektur
- Speziell für die Generierung von Funktionsbeschreibungen von UI-Elementen
Verwandte Links
- Projekt-Homepage: https://microsoft.github.io/OmniParser/
- HuggingFace-Modell: https://huggingface.co/microsoft/OmniParser-v2.0
- Online-Demo: https://huggingface.co/spaces/microsoft/OmniParser-v2
- Technischer Bericht: https://arxiv.org/abs/2408.00203