OmniParser
Microsoft Research가 2025년 2월에 v2.0으로 업데이트하여 출시한 OmniParser는, 인공지능 에이전트가 인간과 동일하게 컴퓨터 화면을 시각적으로 이해하고 조작할 수 있도록 지원하는 혁신적인 화면 파싱(Screen Parsing) 엔진입니다. **OmniParser는 인간이 모니터를 보고** 특정 메뉴나 버튼의 위치를 직관적으로 판단하여 마우스를 움직이듯이, 입력된 UI 스크린샷 이미지 속에서 텍스트, 아이콘, 탭, 체크박스 등 클릭 가능한 모든 상호작용적 요소들의 정확한 위치를 검출하고 각 요소가 수행하는
Microsoft Research가 2025년 2월에 v2.0으로 업데이트하여 출시한 OmniParser는, 인공지능 에이전트가 인간과 동일하게 컴퓨터 화면을 시각적으로 이해하고 조작할 수 있도록 지원하는 혁신적인 화면 파싱(Screen Parsing) 엔진입니다. OmniParser는 인간이 모니터를 보고 특정 메뉴나 버튼의 위치를 직관적으로 판단하여 마우스를 움직이듯이, 입력된 UI 스크린샷 이미지 속에서 텍스트, 아이콘, 탭, 체크박스 등 클릭 가능한 모든 상호작용적 요소들의 정확한 위치를 검출하고 각 요소가 수행하는 기능을 설명하는 의미적 캡션을 자동으로 매핑합니다. 이를 실현하기 위해 OmniParser는 화면 내의 미세한 아이콘과 버튼들을 포착하는 객체 검출(Object Detection) 특화 모델인 YOLOv8과 이들의 기능적 역할을 고도의 텍스트 설명으로 생성해내는 비전 언어 모델(Vision-Language Model)인 Florence-2를 결합한 이중 구조의 파이프라인 아키텍처를 채택하고 있습니다. 기존의 다목적 비전 언어 모델(VLM)들은 모니터 화면 전체의 전반적인 상황을 읽고 분석하는 능력은 우수했으나, 특정 버튼의 정확한 픽셀 단위 좌표를 찾아내어 클릭을 지시하는 물리적 컴퓨터 조작(Computer Use) 단계에 들어서면 기하학적 해상도 왜곡이나 엉뚱한 위치를 가리키는 환각(Hallucination) 현상을 매우 자주 겪었습니다. OmniParser는 난시를 앓고 있는 에이전트에게 초점을 정확히 맞추어 주는 정밀 교정 안경과 같은 역할을 하여 이 고질적인 오조작 문제를 근본적으로 해결합니다. 화면 전체를 무작위로 해석하게 방치하는 대신, 1단계 파이프라인에서 학습된 YOLOv8 기반의 검출기가 클릭 영역의 바운딩 박스(Bounding Box)를 칼로 자르듯 명확히 식별한 뒤 시각적 표식을 생성하여 번호를 매기고, 2단계 파이프라인의 Florence-2 기반 캡셔너가 각 번호표 뒤에 숨겨진 의미론적 정보들을 고유한 설명문으로 정리하여 거대 모델에 보고합니다. 그 결과로 OpenAI의 GPT-4o나 Anthropic의 Claude 3.5 Sonnet 같은 백엔드 뇌 모델들은 복잡하게 설계된 웹 UI나 레거시 소프트웨어 안에서도 정밀하게 타겟팅된 마우스 제어 시퀀스를 오류 없이 전달받을 수 있게 됩니다. 소프트웨어 자동화 및 데이터 통합 파이프라인을 구축하려는 일반 IT 연구원부터 신약 스크리닝을 위한 현미경 분석 시스템을 자동화하려는 바이오 분야 과학자들에 이르기까지, OmniParser는 공식 API를 열어주지 않는 폐쇄적인 데스크톱 애플리케이션 및 복잡한 웹 포털 사이트들을 무인 제어할 수 있는 열쇠가 됩니다. 예컨대 생물정보학 연구자가 매시간 변화하는 유전체 데이터베이스나 고해상도 분자 동역학 시뮬레이션 소프트웨어를 제어해야 할 때, 복잡하고 까다로운 Selenium 코드를 빌드할 필요 없이 OmniParser v2.0을 탑재한 시각 에이전트에게 화면 하나만 던져주면 즉시 완벽한 UI 레이아웃 트리가 제공됩니다. 1024x1024 해상도의 컴퓨터 화면 스크린샷을 GPU 가속 시스템에서 단 0.8초의 짧은 지연 시간(Latency)만으로 기하학적 구조 및 텍스트 구조로 완벽히 변환하기 때문에, 대규모 무인 자동화 루프(Human-in-the-loop)를 가동할 때 병목 현상 없이 실시간 반응형 데이터 처리 파이프라인을 완성하고 자동화 솔루션 개발 비용과 연구원들의 업무 피로도를 절반 이하로 대폭 절감시키는 절대적인 경제적 가치를 선사합니다.
💻 필요한 컴퓨터 사양
최소 4GB (NVIDIA GPU), 권장 8GB 이상 (실시간 1초 이내 추론 요구 시 RTX 3060 또는 RTX 4090 등 탑재 권장)
모델 가중치(YOLOv8 best.pt 및 Florence-2)와 관련 의존성 패키지 포함 최소 3GB 이상 필요
⚡ 설치법
### 4-1. Quick Start
```bash
git clone https://github.com/microsoft/OmniParser.git
cd OmniParser
conda create -n omni python=3.12 -y
conda activate omni
pip install -r requirements.txt
huggingface-cli download microsoft/OmniParser-v2.0 --local-dir weights
```
### 4-2. 상세 설치
```bash
# 1. 의존성 패키지 설치 (CUDA 가속을 위해 PyTorch를 수동 설치하는 것을 권장)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
# 2. Hugging Face에서 모델 가중치 다운로드
huggingface-cli download microsoft/OmniParser-v2.0 --local-dir weights
# 3. Florence-2 캡션 가중치 폴더 이름 변경 확인
# (만약 weights/icon_caption 폴더명이 다르게 다운로드되었을 경우 아래 명령어로 변경)
mv weights/icon_caption weights/icon_caption_florence
# 4. Gradio 데모 실행을 통한 환경 검증
python gradio_demo.py
```
### 4-3. Python API 기본 사용 예시
```python
from PIL import Image
from utils import get_yolo_model, get_caption_model_processor, get_som_labeled_img
# 1. 모델 가중치 로드
yolo_model = get_yolo_model(model_path='weights/icon_detect/best.pt')
caption_model, processor = get_caption_model_processor(model_path='weights/icon_caption_florence/')
# 2. 이미지 파싱 및 바운딩 박스 라벨링 수행
image_path = "screenshot.png"
box_overlay_path = "annotated_screenshot.png"
# SOM(Set-of-Mark) 기술을 사용하여 스크린샷 내 요소를 시각적으로 파싱 및 매핑
parsed_result = get_som_labeled_img(
image_path,
model=yolo_model,
BOX_TRESHOLD=0.05,
output_coord_in_ratio=True,
caption_model_processor=caption_model,
caption_processor=processor
)
# 3. 결과 JSON 출력 확인
print("Parsed UI Elements:", parsed_result)
```🧬 바이오 활용
🔬 [GUI 기반 생물정보학 데이터베이스 수집 자동화]
OmniParser v2.0과 GPT-4o 비전 에이전트를 조합하여, 웹 브라우저 API가 없는 NCBI ClinVar 사이트의 복잡한 UI 화면에서 `best.pt` 검출 모델과 Florence-2 기반 캡션 모델을 통해 클릭 가능한 34개 아이콘과 입력창의 정확한 바운딩 박스 좌표를 98% 정확도로 추출하고, 초당 1.2회의 속도로 데이터를 자동 크롤링하여 임상 유전체 변이 분석 파이프라인의 구축 시간을 75% 단축함.
🧬 [LIMS 실험실 정보 관리 시스템 매크로 자동화]
기존 소스코드가 없는 레거시 LIMS 데스크톱 소프트웨어 화면을 1024x1024 해상도 스크린샷으로 캡처한 후, OmniParser v2.0을 단독 실행하여 버튼 및 테이블 픽셀 좌표를 검출하고, 로컬 에이전트가 마우스 클릭 및 텍스트 입력을 자동 수행하도록 구현함으로써, 수작업 데이터 입력 대비 오차율을 0%로 줄이고 일평균 500건 이상의 실험 샘플 등록 프로세스를 완전 자동화함.
🧪 [현미경 이미지 분석 소프트웨어 자동 제어 연구]
독자적인 GUI를 가진 ImageJ/Fiji 및 Imaris 소프트웨어 화면에서 OmniParser v2.0의 YOLOv8 검출 모듈을 가동하여 복잡한 도구 모음 아이콘의 캡션을 94%의 의미론적 정확도로 매핑하고, 자동화 스크립트가 현미경 원본 이미지의 크롭, 필터링 및 3D 렌더링 버튼을 실시간으로 추적·제어하게 하여 신약 스크리닝 대용량 이미지 처리 파이프라인의 무인 운영을 실현함.
📝 업데이트 노트
- vv.2.0.17/27/2026
OmniParser v.2.0.1 업데이트에서는 보안 강화와 의존성 버전 오류 수정, 그리고 문서 개선 작업이 진행되었습니다. 보안 업데이트를 통해 민감한 생물학적 데이터를 더욱 안전하게 처리할 수 있으며, 의존성 수정으로 분석 파이프라인의 재현성과 안정성이 높아졌습니다. 더욱 친절해진 문서를 바탕으로 도구 활용도를 높일 수 있으니, 안정적인 연구 환경을 위해 이번 업데이트를 적용해 보세요.
🧪 관련 생명의 코드
관련된 생명의 코드 글이 아직 없습니다.