Home
Login

순수 시각 GUI 에이전트를 위한 간단한 화면 분석 도구

CC-BY-4.0Jupyter Notebook 22.5kmicrosoft Last Updated: 2025-03-26

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%의 최신 최고 결과 달성
  • GUI 작업에서 GPT-4V의 정확성을 크게 향상시킵니다.

응용 시나리오

  1. GUI 자동화 테스트: 사용자 인터페이스 요소를 자동으로 식별하고 조작합니다.
  2. 지능형 어시스턴트 개발: 그래픽 인터페이스를 이해하고 조작할 수 있는 AI 어시스턴트 구축
  3. 접근성 기술: 시각 장애가 있는 사용자가 화면 내용을 이해하도록 돕습니다.
  4. 프로세스 자동화: 반복적인 GUI 작업 자동화
  5. 사용자 경험 연구: 사용자 인터페이스의 유용성과 상호 작용성 분석

기술적 장점

  1. 순수 시각적 방법: 기본 UI 코드 또는 API에 의존하지 않고 시각적 정보만으로 작동합니다.
  2. 고정밀 위치 지정: 상호 작용 가능한 요소의 위치와 기능을 정확하게 식별할 수 있습니다.
  3. 크로스 플랫폼 호환성: 다양한 운영 체제 및 응용 프로그램을 지원합니다.
  4. 확장성: 다양한 대규모 언어 모델과의 통합을 지원합니다.

데이터 세트 및 모델

감지 모델

  • YOLO 아키텍처 기반
  • AGPL 라이선스 사용
  • UI 요소 감지를 위해 특별히 훈련됨

설명 모델

  • BLIP2 및 Florence 아키텍처 기반
  • UI 요소의 기능 설명을 생성하는 데 특화됨

관련 링크