AI바라기의 인공지능

VLM : 빠른 논문 리뷰 : VideoAgent: Long-form Video Understanding with Large Language Model as Agent 본문

논문리뷰

VLM : 빠른 논문 리뷰 : VideoAgent: Long-form Video Understanding with Large Language Model as Agent

AI바라기 2025. 10. 13. 18:09

용어 설명 (Terminology)

  • VideoAgent: 본 논문에서 제안하는 시스템의 이름으로, LLM을 중앙 agent로 사용하여 긴 비디오를 이해하는 novel agent-based system.
  • LLM as Agent: Large Language Model (LLM)을 단순히 텍스트를 생성하는 도구가 아니라, 목표 달성을 위해 스스로 추론하고, 계획하며, 외부 도구(tool)를 사용하는 주체(agent)로 활용하는 개념.
  • Iterative Frame Selection: 비디오의 모든 프레임을 한 번에 처리하는 대신, 질문에 답하기 위해 필요한 정보를 여러 라운드에 걸쳐 반복적으로, 동적으로 선택하는 과정.
  • Vision-Language Foundation Models: 시각 및 언어 정보를 함께 처리하는 기반 모델. 이 논문에서는 다음과 같은 모델들을 'tool'로 사용합니다.
    • VLM (Visual Language Model): 이미지 프레임을 보고 텍스트 캡션(설명)을 생성하는 모델.
    • CLIP (Contrastive Language-Image Pre-training): 텍스트 쿼리(query)와 가장 유사한 이미지 프레임을 비디오 내에서 찾아내는(retrieval) 모델.
  • Self-Reflect / Self-evaluation: LLM agent가 현재까지 수집된 정보만으로 질문에 답할 수 있는지 스스로의 확신도(confidence)를 평가하는 단계. 확신이 낮으면 추가 정보 탐색을, 높으면 답변을 생성하고 프로세스를 종료합니다.
  • Segment-level retrieval: 비디오 전체에서 정보를 찾는 대신, LLM이 시간적으로 의미 있는 구간(segment)을 먼저 예측하고 그 구간 내에서만 프레임을 검색하여 temporal reasoning 능력을 향상시키는 전략.

Purpose of the Paper

기존 long-form video understanding 연구들은 두 가지 주요 한계에 직면했습니다.

  • LLMs: 긴 문맥(long context)을 이해하고 추론하는 능력은 뛰어나지만, 시각 정보를 직접 처리하지 못합니다.
  • VLMs: 시각 정보를 처리할 수 있지만, 몇 분에서 몇 시간에 달하는 긴 비디오 입력을 효율적으로 처리하는 데 어려움을 겪습니다.

이 논문은 "긴 비디오를 한 번에 처리하는 능력"보다 **"인간처럼 필요한 정보를 반복적으로 찾아 나서는 추론 및 계획 능력"**이 더 중요하다는 새로운 관점을 제시합니다. 따라서 비디오 이해 문제를 방대한 시각 정보를 처리하는 태스크가 아닌, LLM Agent가 VLM과 CLIP이라는 도구를 사용해 능동적으로 정보를 찾고 종합하는 decision-making process로 재정의하여 기존의 한계를 극복하고자 합니다.

Key Contributions & Novelty

  • Agent-based Framework 제안
    • Contribution: Long-form video understanding을 위한 VideoAgent 프레임워크를 제안. LLM이 중앙 agent 역할을 하며, VLM으로 프레임 내용을 파악하고 CLIP으로 필요한 프레임을 검색하는 구조.
    • Novelty: 비디오 이해를 정적인 input-output 문제가 아닌, 동적인 decision-making 문제로 재구성했습니다. 이는 사람이 긴 비디오를 이해하는 인지 과정을 모방한 새로운 접근 방식입니다.
  • 효율적인 Iterative Frame Selection 프로세스
    • Contribution: LLM의 Self-Reflect 메커니즘을 통해 현재 정보의 충분성을 판단하고, 부족할 경우 '어떤 정보'가 '어느 시간대(segment)'에 필요한지 스스로 추론하여 다음 프레임을 선택하는 다단계(multi-round) 프로세스를 도입.
    • Novelty: 기존의 균일 샘플링(uniform sampling)이나 단일 단계(single-iteration) 검색 방식과 달리, 질문의 복잡도에 따라 동적으로 정보 수집량을 조절하는 적응형(adaptive) 탐색을 수행합니다. 이로 인해 월등한 효율성을 달성합니다.
  • State-of-the-Art (SOTA) 성능 및 효율성 입증
    • Contribution: 주요 벤치마크인 EgoSchema NExT-QA에서 기존 SOTA 모델을 능가하는 성능을 달성.
    • Novelty: 기존 SOTA 모델 대비 약 20배 적은 평균 8.4개의 프레임만을 사용하여 더 높은 정확도를 기록함으로써, 제안된 agent 기반 접근법의 압도적인 효율성과 효과를 증명했습니다.

Experimental Highlights

  • Datasets & Metrics:
    • EgoSchema: 3분 길이의 긴 1인칭 시점 비디오 벤치마크.
    • NExT-QA: Causal, Temporal, Descriptive 질문 유형을 포함하는 자연 비디오 벤치마크.
    • Metric: Accuracy (정확도).
  • 주요 결과:
    • EgoSchema에서 54.1%의 정확도를 달성하여 이전 SOTA인 LLoVi (50.3%)를 3.8% 차이로 능가했습니다.
    • NExT-QA에서 71.3%의 정확도를 달성하여 이전 SOTA인 LLoVi (67.7%)를 3.6% 차이로 능가했습니다.
    • Frame Efficiency: EgoSchema에서 VideoAgent 평균 8.4개 프레임으로 60.2% (500-question subset)의 정확도를 달성했으며, 이는 180개 프레임을 사용하는 uniform sampling baseline (59.6%)보다 더 뛰어난 결과입니다.
  • Ablation Study:
    • Self-evaluation을 제거하고 모든 질문을 3라운드로 고정하자, 평균 사용 프레임은 8.4개에서 11.8개로 늘어난 반면, 정확도는 60.2%에서 59.6%로 감소했습니다. 이는 불필요한 정보 수집을 막는 self-evaluation의 효율성을 입증합니다.
    • Segment selection 기능을 비활성화하자 정확도가 3.6% 하락하여, 시간적 추론 능력에 이 기능이 중요함을 보여주었습니다.

Limitations and Future Work

  • Limitations:
    • VideoAgent의 성능은 프레임워크 자체의 혁신성과 더불어, 내부에서 'tool'로 사용되는 LLM, VLM, CLIP 모델의 성능에 크게 의존적입니다. 특히, LLM이 구조화된 JSON 포맷을 정확히 생성하는 능력이 전체 프로세스의 안정성에 중요하게 작용합니다.
  • Future Work:
    • 더 발전된 foundation models (LLMs, VLMs, CLIPs)가 출시됨에 따라, 이를 VideoAgent 프레임워크에 통합하여 성능을 지속적으로 향상시킬 수 있습니다.
    • VLM을 통한 캡션 생성 단계를 제거하고, GPT-4V와 같은 강력한 multimodal 모델을 직접 agent로 사용하여 시각 정보를 바로 이해하는 "caption-free" 방식으로의 발전을 제안합니다.

Overall Summary

VideoAgent는 긴 비디오 이해를 LLM agent가 주도하는 동적인 '정보 탐색 및 의사결정' 문제로 재정의한 혁신적인 프레임워크입니다. 이 agent는 VLM과 CLIP이라는 시각 도구를 활용하여, 인간의 인지 과정처럼 필요한 정보 조각들을 반복적으로 수집하고 종합하여 질문에 답합니다. 그 결과, 기존 SOTA 모델들을 압도적인 프레임 효율성(20배 적은 프레임 사용)으로 능가했으며, 이는 복잡한 multimodal 태스크 해결에 있어 agent-based 접근법의 큰 잠재력을 시사합니다.

쉬운 설명 (Simple Explanation)

VideoAgent의 핵심 아이디어는 **"똑똑한 형사가 긴 CCTV 영상을 보고 사건의 실마리를 찾는 방식"**과 유사합니다.

멍청한 방법은 몇 시간짜리 영상을 처음부터 끝까지 전부 보는 것입니다. 하지만 똑똑한 형사는 먼저 전체적인 사건 개요(initial frames)를 파악한 뒤, "용의자가 가방을 들고 나가는 장면이 필요해" (LLM agent's reasoning) 라고 생각합니다. 그리고 조수에게 "그 장면만 정확히 찾아와" (CLIP for retrieval) 라고 지시합니다. 조수가 가져온 짧은 클립을 본 뒤, "이것만으론 부족해, 그가 차에 타는 장면도 필요하겠군" (iterative process) 이라며 추가 정보를 요청합니다.

이처럼 VideoAgent는 비디오 전체를 무식하게 처리하는 대신, LLM이라는 형사가 질문에 답하기 위해 꼭 필요한 장면만 '생각해서' '찾아보는' 효율적인 방식으로 작동합니다.

 

 

 

 

 

 

 

 

더보기

VideoAgent 프레임워크 작동 순서

▶ STEP 0: 준비 (입력)
시스템에 긴 비디오 파일과 하나의 질문이 주어집니다.

▶ STEP 1: 초기 탐색 (전체 훑어보기)
비디오 전체를 다 보지 않고, 마치 책장을 넘기듯 몇 개의 프레임(예: 5개)을 균일한 간격으로 먼저 추출합니다.
(Why? 전체적인 맥락을 최소한의 비용으로 빠르게 파악하기 위함입니다.)

▶ STEP 2: 상황 요약 (VLM으로 캡션 생성)
추출된 각 프레임을 VLM(시각 언어 모델)에게 보여주고, "이 이미지 상세히 설명해줘"라고 요청해 텍스트 캡션을 얻습니다.

  • 프레임 10: 거실에 여러 사람이 앉아있다.
  • 프레임 69: 한 남자가 소파에 앉아 있고, 테이블 위에 유리잔이 보인다.
  • 프레임 150: 사람들이 웃으며 대화하고 있다.

(이제부터 LLM Agent가 두뇌 역할을 시작합니다)

▶ STEP 3: 1차 추론 (답변 시도)
LLM(에이전트)에게 2번에서 얻은 캡션들 원래 질문을 함께 주고 "이 정보만으로 답할 수 있니?"라고 묻습니다.

  • LLM의 생각: "캡션을 보니 남자가 있고 컵도 있지만, 컵을 '왜' 들었는지는 알 수 없네."

▶ STEP 4: 자신감 평가 (Self-Reflect)
LLM은 방금 내린 추론 과정과 답변을 스스로 검토하고 확신도(Confidence)를 평가합니다.

  • LLM의 판단: "정보가 불충분함. 확신도: 1/3" 이라고 결론 내립니다.

▶ STEP 5: 분기점 (답변 or 추가 탐색)
LLM이 내린 확신도에 따라 행동을 결정합니다.

  • (A) 확신도 높음 (3/3): (만약 답을 확신했다면) 여기서 답변을 출력하고 프로세스를 종료합니다.
  • (B) 확신도 낮음 (1~2/3): (현재 상황) 답을 모르겠으니, 다음 단계로 넘어가 추가 정보 탐색을 시작합니다.

▶ STEP 6: 추가 정보 계획 (검색 쿼리 생성)
LLM은 "답을 찾기 위해 어떤 정보가 더 필요한가?"를 스스로 생각하여, 아주 구체적인 검색 쿼리(Query)를 생성합니다.

  • LLM이 생성한 쿼리: "검은 스웨터를 입은 남자가 컵을 손으로 '드는' 장면"

▶ STEP 7: 정밀 탐색 (CLIP으로 프레임 검색)
6번에서 만든 검색 쿼리를 CLIP 모델에 전달하여, 비디오의 특정 구간 내에서 쿼리 내용과 가장 일치하는 새로운 프레임을 정확히 찾아냅니다.

  • CLIP이 프레임 57을 찾아냅니다. 이 프레임에는 남자가 컵을 들어 마시려는 순간이 담겨 있습니다.

▶ STEP 8: 정보 업데이트 후 반복 (Loop)
새로 찾은 프레임 57을 다시 **STEP 2(VLM)**로 보내 새로운 캡션을 얻습니다.

  • 새로운 캡션: 프레임 57: 검은 스웨터를 입은 남자가 유리잔을 들고 마시려고 하고 있다.

이 새로운 캡션을 기존 정보에 추가한 뒤, 업데이트된 정보 전체를 가지고 STEP 3 (추론) 부터 다시 모든 과정을 반복합니다.

▶ 2번째 루프(Loop)의 STEP 3, 4:

  • LLM은 이제 **"남자가 컵을 마시려고 한다"**는 결정적인 정보를 갖게 되었습니다.
  • 이를 바탕으로 "왜 컵을 들었나?"라는 질문에 **"마시려고"**라고 자신 있게 답변하고, 확신도를 3/3으로 평가합니다.

▶ 2번째 루프(Loop)의 STEP 5:

  • 확신도가 높으므로 (A)에 해당, 최종 답변 **"E. drink (마시기 위해)"**를 출력하고 전체 프로세스를 성공적으로 종료합니다.