OmniParser, Microsoft가 공개한 순수 Vision 기반의 GUI Agent 연구 (feat. GPT-4V)

OmniParser 연구 소개

OmniParser는 상호작용 가능한 GUI 요소를 감지하고 이러한 요소의 기능적 의미를 추출하여 멀티모달(Multimodal) 모델, 특히 GPT-4V의 GUI 상호작용 성능을 높이는 비전 기반 프레임워크(Vision based Framework)입니다. 현재 대규모 비전 언어 모델(LVLM, Large Vision-Language Model)들이 사용자 인터페이스에서 반복적인 작업을 수행하도록 설계되어 있지만, 다양한 플랫폼과 응용 프로그램에서 이러한 모델이 보편적인 에이전트로 작동하기 위해서는 정확한 스크린 파싱(screen parsing) 기술이 필수적입니다.

OmniParser는 사용자 인터페이스(UI) 스크린샷을 구조적으로 분석하여 GPT-4V와 같은 비전 언어 모델이 다양한 UI 환경에서 작업을 수행할 수 있도록 돕는 기술로, 다양한 플랫폼(Windows, macOS, iOS, Android 등)과 애플리케이션(Web 브라우저, 오피스 소프트웨어, 그래픽 편집 프로그램 등)에서의 범용성을 목표로 하고 있습니다.

OmniParser는 다음의 문제를 해결하여 GPT-4V의 액션 생성을 개선합니다:

  1. 아이콘 감지: UI에서 상호작용 가능한 아이콘을 정확하게 감지하여 클릭 가능한 영역으로 식별합니다.
  2. 기능적 의미 파악: 화면의 다양한 요소를 이해하고 사용자의 의도와 맞게 해당 영역과의 상호작용을 파악합니다.

관련 연구

UI 화면 이해

기존 연구들은 UI 화면의 요소를 이해하고 UI 구성 요소의 의미를 추출하는 데 주로 초점을 맞추었습니다. 예를 들어, Screen2WordsUI-BERT는 UI 화면의 요약 또는 시각적 질문 응답 작업에 특화된 모델로, 추가적인 정보가 필요한 방식입니다. 그 외에도 WidgetCaptioning이나 ActionBERT와 같은 연구들도 있었습니다.

가장 널리 사용되는 UI 데이터셋으로는 Rico 데이터셋이 있으며, 66,000개 이상의 UI 화면과 해당 계층 구조 정보를 포함합니다. OmniParser는 최신 UI 디자인 트렌드를 반영하여, 상호작용 가능한 아이콘과 버튼의 경계 상자를 포함한 데이터를 직접 구축하였습니다.

자율 GUI 에이전트

최근에는 사용자 대신 작업을 수행하는 자율 GUI 에이전트의 설계에 대한 연구가 활발히 진행되었습니다. 대표적인 작업에는 Pixel2ActWebGUM과 같은 웹 기반 에이전트, CogAgent와 같은 모바일 에이전트가 있습니다. 대부분의 경우 DOM 정보나 계층 구조 정보를 사용하여 상호작용 가능한 요소의 위치를 파악합니다. OmniParser는 이러한 정보에 의존하지 않고도 다양한 플랫폼에서 작동할 수 있는 화면 파싱 방식을 제공하는 것을 목표로 합니다.

OmniParser 방법 소개

OmniParser의 방법론은 UI 화면(스크린샷)에서 상호작용 가능한 요소와 그 의미를 정확히 파악하여, 비전-언어 모델(Vision-Language Model, VLM)이 UI 작업을 효과적으로 수행할 수 있도록 하는 방식으로 설계되었습니다. 구체적으로는 1) 상호작용이 가능한 영역을 탐지(Interactable Region Detection)하고, 2) 스크린 샷에서 아이콘과 글자를 분리하여 각 부분의 의미를 파악하는 기능적 의미 통합(Incorporating Local Semantics of Functionality)을 하는 방식으로 동작합니다. 이 두 모듈은 순수 비전 기반 접근을 통해 다양한 UI에서 적용 가능한 범용적이고 안정적인 GUI 에이전트를 구현하기 위해 설계되었습니다. 각 단계에 대한 상세 내용은 다음과 같습니다:

상호작용이 가능한 영역 감지(Interactable Region Detection)

UI 화면의 상호작용 가능한 영역을 감지하는 것은 중요한 첫 단계입니다. 기존 연구의 Set-of-Marks 기법을 사용하여 상호작용 가능한 영역을 표시하지만, OmniParser는 DOM 트리에서 추출된 경계 상자를 사용하여 데이터셋을 구축하고, 여기에 YOLOv8 모델을 적용하여 아이콘과 버튼을 추출합니다.

OmniParser는 화면 상의 특정 요소를 직접적으로 'xy 좌표값'으로 예측하는 대신, Set-of-Marks (SoM) 방식을 사용하여 각 요소에 고유한 ID를 부여하고 이를 화면에 오버레이합니다. 이로써, 모델이 화면 작업을 수행할 때 특정 좌표 대신 ID를 기준으로 작업 영역을 참조하도록 유도합니다. 기존 연구에서는 웹 브라우저 내에서 DOM 트리의 정보를 사용하여 바운딩 박스의 위치를 지정하는 방식으로 주로 사용했지만, OmniParser는 이를 확장하여 다양한 플랫폼에서 사용할 수 있습니다.

OmniParser는 상호작용 가능한 영역 탐지 모델을 훈련시키기 위해 67,000개의 스크린샷 이미지 데이터셋을 구축했습니다. 이 데이터셋은 DOM 트리를 활용해 상호작용 가능한 영역을 바운딩 박스로 표시하며, 이를 통해 모델이 상호작용 가능한 영역을 예측하도록 훈련되었습니다. 스크린샷 데이터셋은 웹에서 일반적으로 사용되는 100,000개의 URL에서 수집(ClueWeb22 연구)되었으며, 각 화면 요소는 DOM 기반 바운딩 박스로 지정되었습니다. 이러한 방식으로 모델은 웹 환경을 넘어 다양한 UI 플랫폼에서도 상호작용 가능 요소를 탐지할 수 있습니다.

OmniParser는 이러한 상호작용 가능 요소 외, 텍스트 요소를 감지하기 위해 OCR 모듈을 추가로 활용합니다. OCR 모듈을 통해 텍스트가 포함된 영역을 바운딩 박스로 감지하고, 이후 상호작용 가능 영역 탐지 결과와 병합하여 최종적으로 중복된 영역을 필터링합니다. 각 바운딩 박스는 고유한 ID로 표시되며, 이를 통해 텍스트 및 기능적 의미를 포함한 UI 정보가 제공됩니다.

기능적 의미 통합(Incorporating Local Semantics of Functionality)

이전의 상호 작용이 가능한 요소들에 바운딩 박스(BBox, Bounding Box)와 ID를 추가하는 정도로는 GPT-4V가 각 요소의 기능을 제대로 파악하지 못하는 경우가 많음을 발견하였습니다. 이를 해결하기 위해 아이콘이나 텍스트 박스와 같은 화면 내의 각 UI 요소들에 대한 추가적인 의미를 포함하여 세밀한 정보를 함께 제공하는 방식을 채택하였습니다. 기능적 의미 통합 모듈은 UI의 각 요소들이 갖는 기능적 의미를 파악하여 모델이 보다 정확하게 작업을 수행할 수 있도록 지원합니다. 예를 들어, 아이콘이나 버튼이 어떤 역할을 하는지 파악하는 것은 특정 작업을 수행하기 위해 필수적인 정보입니다.

OmniParser의 기능적 의미 통합 전/후의 SeeAssign 작업 평가 결과 비교

이러한 기능적 의미 통합 과정에서 OmniParser는 상호작용 가능 영역 탐지 모델에서 검출된 각 아이콘의 기능을 설명하는 캡션을 생성합니다. 예를 들어, '설정 아이콘' 또는 '닫기 버튼'과 같은 식별 가능한 기능적 의미를 모델이 이해하도록 합니다. 이러한 아이콘의 의미를 설명할 수 있도록 별도의 모델을 활용하는데, 먼저 7,000개 이상의 아이콘-설명 쌍으로 구성된 데이터셋을 구축하고, 이 데이터셋으로 미세조정(finetuning)한 BLIP-2 모델이 바로 그것입니다. 이 모델은 각 아이콘의 기능을 설명하는 캡션을 생성해, 모델이 다양한 아이콘의 의미를 명확히 이해하도록 도우며, 새로운 아이콘이나 텍스트가 포함된 UI에서도 높은 정확도를 보장할 수 있도록 최적화되었습니다.

OmniParser는 OCR 및 아이콘 기능 설명 모듈의 결과를 통합하여 최종적으로 UI 화면의 지역적 의미를 구성합니다. 이 통합 정보는 화면 상의 각 요소에 대한 설명을 포함하며, GPT-4V가 화면을 보다 정확하게 이해하고 작업을 수행할 수 있도록 지원합니다. 이를 통해 GPT-4V는 각 바운딩 박스와 해당 ID뿐만 아니라 텍스트와 아이콘의 의미까지 고려하여 최적의 작업 영역을 선택할 수 있게 됩니다.

실험 및 결과

OmniParser는 다양한 벤치마크에서 GPT-4V 성능을 향상시켰으며, 이를 통해 UI 상호작용 능력을 입증했습니다.

SeeAssign 작업 평가

OmniParser 성능 실험: 지역적 의미 이해 유무에 따른 성능 비교

SeeAssign은 모바일, 데스크탑, 웹 브라우저를 아우르는 112개의 작업을 포함하며 각 작업은 특정 아이콘을 클릭하도록 요청합니다. OmniParser는 GPT-4V가 작업을 정확히 수행할 수 있도록 지원하며, GPT-4V의 정확도는 지역 의미를 추가함으로써 0.705에서 0.938로 크게 향상되었습니다. 이는 GPT-4V가 작업 수행 시 지역적 의미를 이해하는 것이 효과적임을 보여줍니다.

ScreenSpot 벤치마크 평가

ScreenSpot 벤치마크는 모바일(iOS, Android), 데스크탑(macOS, Windows), 웹 플랫폼에서의 UI 스크린샷을 기반으로 하며, OmniParser는 GPT-4V의 성능을 기존보다 크게 향상시켰습니다. 특히 지역적 의미(LS)와 상호작용 가능 영역 탐지 모델(ID)을 결합하여 정확한 작업 수행을 가능하게 했습니다.

Mind2Web 벤치마크 평가

Mind2Web은 다양한 웹 탐색 시나리오에서의 작업을 포함하며, OmniParser는 DOM 정보를 활용하는 기존의 GPT-4V 대비 우수한 성능을 보였습니다. 이를 통해 HTML 정보 없이도 다양한 웹 환경에서 OmniParser가 유효하게 작동할 수 있음을 입증했습니다.

다음은 Mind2Web 작업 수행의 데모 영상입니다:

AITW 벤치마크 평가

AITW 벤치마크는 모바일 내비게이션 환경에서의 작업을 평가합니다. OmniParser는 상호작용 가능 영역 탐지 모델을 통해 4.7% 향상된 성능을 보여주었으며, 이를 통해 모바일 플랫폼에서도 높은 성능을 입증했습니다.

:house: OmniParser 프로젝트 홈페이지

:scroll: OmniParser 논문

:github: OmniParser GitHub 저장소

:hugs: OmniParser 모델 저장소

OmniParser 모델 사용 시 주의 사항

  • OmniParser는 스크린샷 이미지를 화면의 상호 작용 가능한 영역과 의미의 구조화된 요소로 충실하게 변환하도록 설계되었지만, 입력에서 유해한 콘텐츠를 감지하지는 않으며(사용자가 모든 LLM의 입력을 자유롭게 결정할 수 있는 것처럼), 사용자는 유해하지 않은 입력을 옴니파서에 제공해야 합니다.

    OmniParser is designed to faithfully convert screenshot image into structured elements of interactable regions and semantics of the screen, while it does not detect harmful content in its input (like users have freedom to decide the input of any LLMs), users are expected to provide input to the OmniParser that is not harmful.

  • OmniParser는 스크린샷 이미지를 텍스트로 변환하는 데만 사용되지만, 실행 가능한 LLM을 기반으로 GUI 에이전트를 구성하는 데 사용할 수 있습니다. OmniParser를 사용하여 에이전트를 개발하고 운영할 때 개발자는 책임감을 가지고 일반적인 안전 표준을 따라야 합니다.

    While OmniParser only converts screenshot image into texts, it can be used to construct an GUI agent based on LLMs that is actionable. When developing and operating the agent using OmniParser, the developers need to be responsible and follow common safety standard.

  • OmniPaser-BLIP2의 경우 아이콘 이미지에서 개인의 성별 또는 기타 민감한 속성(예: 인종, 종교 등)을 잘못 유추할 수 있습니다. 민감한 속성의 추론은 특정 개인에 대한 정보보다는 고정관념과 일반화에 의존할 수 있으며, 소외된 사람들에게는 부정확할 가능성이 더 높습니다. 잘못된 추론은 심각한 신체적 또는 정신적 상해를 초래하거나 개인의 인권을 실현하는 능력을 제한, 침해 또는 약화시킬 수 있습니다. 직장과 같은 사용 사례 시나리오에서는 OmniParser의 사용을 권장하지 않습니다.

    For OmniPaser-BLIP2, it may incorrectly infer the gender or other sensitive attribute (e.g., race, religion etc.) of individuals in icon images. Inference of sensitive attributes may rely upon stereotypes and generalizations rather than information about specific individuals and are more likely to be incorrect for marginalized people. Incorrect inferences may result in significant physical or psychological injury or restrict, infringe upon or undermine the ability to realize an individual’s human rights. We do not recommend use of OmniParser in any workplace-like use case scenario.




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요