AI바라기의 인공지능

VLM : 논문리뷰 : VideoChat-A1: Thinking with Long Videos by Chain-of-Shot Reasoning 본문

논문리뷰

VLM : 논문리뷰 : VideoChat-A1: Thinking with Long Videos by Chain-of-Shot Reasoning

AI바라기 2025. 6. 10. 22:08

쉬운 설명 (Easy Explanation)

이 논문의 핵심 아이디어는 "긴 미제 사건을 해결하는 유능한 탐정"에 비유할 수 있습니다.

기존 모델들은 사건 현장의 모든 증거(비디오의 모든 프레임)를 한 번에 보고 혼란에 빠지는 초보 탐정과 같습니다. 반면, VideoChat-A1은 베테랑 탐정처럼 행동합니다.

  1. Shot Selection: 먼저 용의선상에 오른 여러 장소 중 가장 관련 있는 곳(relevant shots)을 지목합니다.
  2. Shot Partition: 그 장소에 도착해서도 전체를 어슬렁거리는 대신, 결정적 단서가 있을 법한 구역(subshots)을 나누어 집중적으로 수색합니다.
  3. Shot Reflection: 수색 결과를 바탕으로 "이 단서만으로는 부족하다. 다른 장소를 더 수색해야겠다"고 판단(low confidence)하면, 다음 장소로 이동해 1-2번 과정을 반복합니다. 만약 "이것이 결정적 증거다!"라고 확신(high confidence)하면 수사를 종결하고 범인을 지목합니다.

이렇게 체계적으로 범위를 좁혀가며 깊이 있게 탐색하는 방식이, 한 번에 모든 것을 보려는 방식보다 훨씬 정확하고 빠르다는 것을 증명한 것입니다.

 

 

VideoChat-A1: 논문 학습 노트

용어 설명 (Glossary)

  • Chain-of-Shot (CoS) Reasoning: 이 논문의 핵심 패러다임. 긴 비디오의 질문에 답하기 위해, 한 번에 전체를 보는 대신 관련된 '샷(shot)'들을 순차적, 점진적으로 선택하고(select), 더 작은 단위로 나누어(partition), 분석하며(reflect) 정답을 찾아가는 인간의 사고 과정을 모방한 추론 방식.
  • Shot: 비디오를 구성하는 의미적, 구조적 기본 단위. 일반적으로 연속된 카메라 촬영으로 만들어진 장면을 의미.
  • Video Glance: 본격적인 CoS Reasoning에 들어가기 앞서, 주어진 질문이 비디오 전체에 대한 것인지(global) 특정 장면에 대한 것인지(local)를 먼저 판단하는 단계.
  • Shot Selection: 이전 추론 단계에서 얻은 Key Info Summary를 바탕으로, 현재 분석해야 할 가장 관련성 높은 비디오 샷을 선택하는 과정. Finetuned LongCLIP을 retriever로 사용.
  • Shot Partition: 선택된 샷을 더 깊이 분석하기 위해, 의미적으로 일관된 여러 개의 '서브샷(subshot)'으로 분할하는 과정. 프레임 feature에 K-Means Clustering을 적용하여 Key Frame을 찾고, 이를 기준으로 샷을 나눔.
  • Shot Reflection: 서브샷 분석 후 생성된 답변과 그에 대한 신뢰도(confidence)를 평가하는 단계. 신뢰도가 낮으면 다음 CoS Reasoning 단계로 넘어가고, 높으면 최종 답변으로 확정. 이 과정을 통해 추론의 깊이를 조절.
  • Key Information Summary: MLLM이 이전 라운드의 추론 결과(샘플된 프레임, 질문, 답변, 이유)를 바탕으로 다음 샷을 선택하는 데 필요한 핵심 정보를 요약한 텍스트.
  • LongCLIP: 긴 텍스트와 비디오/이미지 간의 retrieval 능력을 강화하기 위해 fine-tuning된 CLIP 모델. Shot Selection 단계에서 사용됨.

Purpose of the Paper

기존 Multimodal Large Language Models (MLLMs)는 짧은 비디오 분석에는 능숙하지만, 정보가 방대하고 중복이 많은 긴 비디오(long-form video)를 이해하는 데는 어려움을 겪습니다. 이를 해결하기 위해 제안된 Agent 기반 접근법들은 긴 비디오를 여러 샷(shot)으로 구성된 구조로 보지 않고, 단순히 프레임의 연속으로 취급하여 불필요하거나 노이즈가 많은 시간적 맥락을 잘못 참조하는 한계가 있었습니다.

이 논문은 이러한 한계를 극복하기 위해 **"긴 비디오는 여러 샷의 집합"**이라는 핵심적인 통찰에 기반하여, 인간이 비디오를 이해하는 방식과 유사하게 샷 단위로 점진적이고 깊이 있게 사고하는 Chain-of-Shot (CoS) reasoning 패러다임을 제안합니다. 이는 무분별한 정보 검색이 아닌, 체계적인 탐색과 분석을 통해 긴 비디오 이해의 정확성과 효율성을 동시에 높이는 것을 목표로 합니다.

Key Contributions & Novelty

  • Chain-of-Shot (CoS) Reasoning 패러다임 제안:
    • Contribution: 긴 비디오를 이해하기 위해 Shot SelectionShot PartitionShot Reflection의 3단계로 구성된 반복적(iterative) 추론 프레임워크를 제시했습니다.
    • Novelty: 기존 agent들이 단발성으로 정보를 검색하거나 프레임 단위로 접근한 것과 달리, 비디오의 구조적 단위인 '샷(shot)'에 집중하고, 이를 단계별로 심화 탐색하는 새로운 접근법입니다. 이는 보다 체계적이고 인간의 인지 과정을 닮은 방식입니다.
  • 구체적이고 효과적인 샷 분석 메커니즘 구현:
    • Contribution: MLLM이 생성한 Key Info SummaryLongCLIP을 결합한 Shot Selection, K-Means clustering 기반의 Shot Partition 등 CoS 패러다임을 구체적으로 실현하는 효과적인 모듈들을 개발했습니다.
    • Novelty: 단순히 샷을 나누는 것을 넘어, semantic 정보(K-Means)를 활용하여 시간적으로 일관된 서브샷을 구성함으로써, 내용의 급격한 변화나 노이즈 발생을 억제하고 안정적인 분석을 가능하게 했습니다.
  • SOTA 성능과 압도적인 효율성 동시 달성:
    • Contribution: 주요 long video QA benchmark (VideoMME, EgoSchema 등)에서 기존 SOTA 모델들을 능가하는 성능을 달성했습니다.
    • Novelty: GPT-4o나 Gemini 1.5 Pro 같은 강력한 closed-source 모델과 비교했을 때, 평균 7%의 입력 프레임과 12%의 추론 시간만으로 경쟁력 있는 정확도를 달성했습니다. 이는 더 많은 자원을 투입하는 brute-force 방식보다 지능적인 접근(structured reasoning)이 훨씬 효율적임을 입증한 중요한 결과입니다.

Experimental Highlights

  • 주요 벤치마크에서 SOTA 성능 달성:
    • VideoMME: 77.0점, EgoSchema: 70.1점을 기록하며, InternVL2.5-8B, InternVideo2.5-8B 등 강력한 baseline을 각각 최대 10.8%, 6.2% 차이로 능가했습니다.
    • 이는 제안된 CoS 패러다임이 실제 long video understanding 태스크에서 매우 효과적임을 보여줍니다.
  • 압도적인 효율성 입증 (Efficiency Analysis):
    • GPT-4o 대비: 평균 90% 이상 적은 프레임85% 이상 빠른 추론 시간을 기록했습니다. (e.g., VideoChat-A1: 35.9 frames, 14.7s vs GPT-4o: 384 frames, 134.4s)
    • 정확도를 유지하면서도 계산 비용을 극적으로 줄여, 실제 서비스 적용 가능성을 크게 높였습니다.
  • 핵심 아이디어 검증 (Ablation Study):
    • Shot PartitionChain-of-Shot을 각각 제거했을 때 성능이 크게 하락했으며, 두 요소를 함께 사용했을 때 성능이 가장 높았습니다 (MLVU에서 66.2 → 71.9). 이는 두 핵심 요소가 상호 보완적으로 작용하며 성능 향상에 결정적인 역할을 했음을 증명합니다.
    • 제안된 Shot Partition 방식이 단순 군집화(Cluster Partition)나 균등 분할(Average Partition) 방식보다 모든 벤치마크에서 우수함을 보여, 제안 방법론의 정교함을 입증했습니다.

Limitations and Future Work

  • Limitations:
    • 논문에서 명시적으로 한계를 언급하지는 않았지만, Shot Selection, Partition, Reflection 각 단계에서 MLLM을 여러 번 호출하는 반복적 구조는 필연적으로 전체 추론 시간(end-to-end latency)을 증가시킬 수 있습니다. 실시간 처리가 중요한 application에는 한계가 있을 수 있습니다.
    • 성능이 baseline MLLM과 retriever(LongCLIP)의 성능에 크게 의존적입니다. 이들 구성 요소의 한계가 전체 시스템의 성능 한계로 이어질 수 있습니다.
  • Future Work:
    • 각 단계를 더 긴밀하게 통합하여 end-to-end 학습이 가능한 모델로 발전시켜 latency를 줄이고 성능을 최적화하는 연구가 필요합니다.
    • 더 정교한 shot boundary detection 기술이나 video-specific retriever 모델을 개발하여 각 구성 요소의 성능을 향상시키는 방향으로 연구를 확장할 수 있습니다.

Overall Summary

VideoChat-A1은 기존 MLLM의 긴 비디오 이해 능력 한계를 극복하기 위해, 인간의 사고 과정을 모방한 Chain-of-Shot reasoning 패러다임을 제안한 혁신적인 agent 프레임워크입니다. 이 모델은 비디오를 샷(shot) 단위로 점진적이고 깊이 있게 분석함으로써, 주요 벤치마크에서 SOTA를 달성하는 동시에 압도적인 계산 효율성을 보여주었습니다. 이는 향후 long-form video understanding 연구가 단순한 모델 크기 경쟁이 아닌, 더욱 지능적이고 구조적인 접근 방식으로 나아가야 함을 시사하는 중요한 연구입니다.

 

Abstract

최근 video understanding의 발전은 multimodal large language models (MLLMs)에 의해 주도되어 왔습니다. 그러나 이러한 MLLMs는 짧은 video 분석에는 능숙하지만, 더 긴 context를 가진 video를 이해하는 데에는 어려움을 겪습니다. 이 어려움을 해결하기 위해 최근 여러 agent 패러다임이 제안되었으며, 긴 video에서 추가적인 contextual knowledge를 검색하기 위한 agent로 MLLMs를 사용합니다.

그러나 기존의 대부분 agent들은 긴 video가 여러 shot으로 구성되어 있다는 핵심 사실을 간과합니다. 즉, 긴 video에서 사용자의 question에 답하기 위해서는 사람처럼 관련 shot을 깊이 이해하는 것이 중요합니다. 이러한 통찰이 없으면 이러한 agent들은 종종 중복되거나 심지어 noisy한 temporal context를 잘못 찾아내어 long video understanding 능력이 제한됩니다.

이러한 격차를 메우기 위해, 우리는 새로운 long video agent 패러다임인 VideoChat-A1을 제안합니다. 이전 연구들과 달리, 우리의 VideoChat-A1은 독특한 chain-of-shot reasoning 패러다임을 통해 긴 video를 깊이 있게 생각할 수 있습니다. 더 구체적으로, 사용자 question과 관련된 shot을 점진적으로 선택하고, 이 shot들을 coarse-to-fine 파티션으로 자세히 살펴볼 수 있습니다.

shot chain을 따라 multi-modal reasoning을 통해, VideoChat-A1은 단계별 인간 사고 과정을 효과적으로 모방할 수 있으며, 이를 통해 긴 video에서 깊이 있는 이해를 위해 선호되는 temporal context를 상호작용적으로 발견할 수 있습니다. 광범위한 실험 결과, 우리의 VideoChat-A1은 주요 long video QA 벤치마크에서 state-of-the-art performance를 달성했습니다. 예를 들어, VideoMME에서 , EgoSchema에서 을 달성하여 강력한 baseline(예: Intern2.5VL-8B 및 InternVideo2.5-8B)을 최대 까지 능가했습니다. 선도적인 closed-source GPT-4o 및 Gemini 1.5 Pro와 비교하여 VideoChat-A1은 경쟁력 있는 정확도를 제공하지만, 평균적으로 의 input frames와 의 inference time만을 사용합니다. 코드는 추후에 공개할 예정입니다.

 

 

 

 

 

더보기

Figure 1: Motivation 이미지 설명

이 이미지는 "어미 새는 왜 여우에게 물고기를 가져다주는가?"라는 질문에 대해 여러 AI model들이 어떻게 답하는지 그 과정을 비교하여 보여줍니다. 정답은 A. "자신의 새끼를 키워준 것에 대해 여우에게 감사하기 위해" 입니다.

이미지는 세 가지 다른 접근 방식을 보여줍니다.

  1. Direct reasoning models (상단)
    • GPT-4o와 Qwen2.5VL-72B 같은 model들은 video 전체를 대상으로 global sampling을 수행합니다.
    • 두 model 모두 오답인 C. "새끼의 소원대로 여우를 돕기 위해"를 선택합니다.
    • 이미지 설명에 따르면, 이 model들은 긴 video에서 핵심 정보에 집중하는 데 어려움을 겪습니다.
  2. Agent-based methods (좌측 하단)
    • VideoTree와 같은 model은 video에서 샘플링을 통해 정보를 얻고, 이를 바탕으로 GPT-4가 답변을 생성합니다.
    • VideoTree가 생성한 caption은 "폭포 앞에 여우가 서서 물고기를 들고 먼 곳을 바라보고 있다..." 와 같습니다.
    • 이 접근 방식 역시 오답인 C를 선택하며, 그 이유는 "새끼가 키워준 여우를 돕고 싶어하는 소원을 들어주기 위한 방법"이라고 제시합니다.
    • 이미지 설명에 따르면, 이 방법은 video의 shot에 대한 깊은 분석 없이 부정확하거나 중복된 샘플링으로 인해 noisy한 caption을 생성하여 오답을 내놓는 문제가 있습니다.
  3. VideoChat-A1 (Chain-of-Shot) (우측 하단)
    • 이 model은 제안하는 새로운 접근 방식인 Chain-of-Shot reasoning을 사용합니다.
    • 1단계: 먼저 video를 네 개의 큰 Shot으로 나누어 분석하고, 초기 답변으로 C를 내놓습니다 (Confidence: 1). 이유는 "어미 새가 물고기를 가져다주는 것은 여우가 새끼의 친구이고, 새끼의 소원을 들어주기 위함이다"라고 추론합니다.
    • 2단계: 초기 답변의 신뢰도가 낮기 때문에, 더 깊은 분석을 위해 관련 Shot들을 더 작은 SubShot (1-1, 1-2, 3-1, 3-2)으로 세분화하여 다시 분석합니다.
    • 최종 결과: 이 세분화된 분석을 통해 정답인 A를 찾아내며, 신뢰도(Confidence)는 3으로 높아집니다. 최종 이유는 "어미 새가 물고기를 가져다주는 것은 자신의 새끼를 키워준 것에 대한 감사의 표시"라고 정확하게 추론합니다.

결론적으로 이 이미지는 VideoChat-A1이 Chain-of-Shot이라는 점진적이고 성찰적인 과정을 통해 video의 shot들을 탐색함으로써, 다른 model들보다 우수한 performance를 달성한다는 점을 시각적으로 강조하고 있습니다.

 

1 Introduction

더보기

Video understanding은 computer vision에서 중요한 문제로, 감시, 스마트폰, 로보틱스 등 실제 세계 응용 분야에서 큰 잠재력을 가지고 있습니다. multimodal large language models (MLLMs)의 빠른 발전으로, video understanding은 상당한 진전을 이루었습니다. video encoder를 LLM과 정렬함으로써, 이러한 models은 대화 형식으로 video와 유연하게 상호작용할 수 있습니다. 그러나 기존의 대부분 MLLMs는 초 단위의 짧은 video를 이해하는 데는 능숙하지만, 분 (또는 시간) 단위의 긴 video를 제대로 분석하는 데는 어려움을 겪습니다. 주요 challenge는 긴 video의 방대한 양의 프레임을 MLLMs에 입력하는 데 있습니다. 이 문제를 해결하기 위해, 이러한 긴 multimodal context를 modeling하거나 MLLMs에 token compression을 장착하는 등 여러 시도가 제안되었지만, 중복된 video content를 처리하는 데 있어 효율성과 효과성은 여전히 개선이 필요하며, 이로 인해 long video understanding 벤치마크에서의 performance가 저해되고 있습니다.

최근 연구에 따르면, agent-based 접근 방식이 long video understanding에 유망한 것으로 나타났습니다. model adaptation으로 전체 긴 video를 입력하는 대신, 이들은 긴 video에서 관련 정보를 추출하고 검색하기 위해 다양한 도구를 호출하여 이 challenge를 단순화합니다. 그러나 이러한 접근 방식들은 추출 후 고정된 off-the-shelf video knowledge를 기반으로 검색이 이루어지기 때문에 긴 video 내의 복잡한 content 변화를 포착하는 데 유연성이 부족합니다. 대안으로, OpenAI o3는 이미지에 대한 인간과 유사한 사고 과정을 보여줍니다. chain-of-thought reasoning을 통해, o3는 이미지와의 점진적인 상호작용을 통해 visual content를 깊이 이해할 수 있습니다. 유사한 통찰이 긴 video를 이해하는 데에도 도입되었습니다. 즉, 긴 video를 한 번에 보는 대신, 이러한 접근 방식들은 question answering을 위해 관련 video 프레임을 반복적으로 찾습니다. 그러나 이들은 긴 video가 여러 shot으로 구성되어 있다는 점을 간과합니다. 사용자의 question에 신뢰성 있게 답하기 위해서는, multi-round reasoning을 통해 관련 shot을 깊이 이해하는 것이 중요합니다. 이러한 고려가 없다면, 이러한 agent들은 종종 중복되거나 심지어 noisy한 temporal context를 잘못 찾아내어 long video understanding 능력이 제한됩니다.

이러한 격차를 해소하기 위해, 우리는 상호작용적인 chain-of-shot reasoning 패러다임을 통해 긴 video와 점진적으로 생각할 수 있는 새로운 video agent 프레임워크인 VideoChat-A1을 제안합니다. 구체적으로, 각 shot reasoning 단계에서 우리는 MLLM을 사고의 핵심 agent로 활용하고, 관련 shot을 선택하고, 이 shot들을 subshot으로 나누며, 이 subshot들로 사용자의 답변을 reasoning하기 위한 도구를 호출합니다. 만약 답변이 불확실하다면, 이는 현재의 subshot들이 사용자의 question을 이해하기에 불충분하다는 것을 의미합니다. 결과적으로, VideoChat-A1은 더 미세한 관련 shot으로 사용자의 question을 추가적으로 이해하기 위해 다음 단계의 shot reasoning을 시작할 것입니다. 이러한 독특한 chain-of-shot 패러다임을 통해, 우리의 VideoChat-A1은 그림 1에서 보여주듯이, 관련 video shot을 반복적으로 살펴보면서 사용자의 답변에 대해 점진적으로 reasoning함으로써 인간의 사고 과정을 효과적으로 모방할 수 있습니다. 그 효과를 보여주기 위해, 우리는 3개의 강력한 MLLMs와 4개의 주요 long video question answering 벤치마크에서 VideoChat-A1을 구현했습니다. 광범위한 실험 결과, 우리의 VideoChat-A1은 state-of-the-art performance를 달성했습니다. 예를 들어, VideoMME의 서브셋에서 , EgoSchema에서 을 달성하여, InternVL2.5-8B 및 InternVideo2.5-8B와 같은 baseline을 최대   까지 능가했습니다. GPT-4o 및 Gemini 1.5 Pro와 비교하여, VideoChat-A1은 경쟁력 있는 정확도를 제공하지만, 평균적으로 의 input frames와 의 inference time만을 사용합니다.

VideoChat-A1: Introduction 정리노트 (AI 연구자용)

1. 문제 정의 (Problem Definition)

  • 기존 Multimodal Large Language Models (MLLMs)는 짧은 video 분석에는 뛰어나지만, 분량(수 분~수 시간)이 긴 video의 context를 이해하는 데는 명확한 한계를 보임.
  • 긴 video의 방대한 프레임 수를 처리하는 것이 근본적인 challenge임. Token compression 등의 기존 시도는 효율성과 효과성 면에서 여전히 부족함.

2. 기존 연구의 한계 (Limitations of Prior Work)

  • Agent-based Approaches의 한계:
    • Off-the-shelf (미리 추출된) video knowledge 기반의 정보 검색 방식은 content 변화에 대한 유연성이 떨어짐.
    • 최근의 chain-of-thought 기반 agent들은 video를 '프레임의 연속'으로만 취급함. 이는 video의 구조적 단위인 'shot'을 간과하는 중대한 오류를 범함.
    • 결과적으로, 'shot' 단위의 깊은 이해 없이 프레임만 찾다 보니 중복되거나 noisy한 temporal context를 잘못 선택하게 되고, 이는 long video understanding 성능을 저해하는 직접적인 원인이 됨.

3. 제안 방법론 (Proposed Method: VideoChat-A1)

  • 핵심 아이디어: chain-of-shot reasoning 패러다임 도입
    • 인간이 긴 영상을 이해하는 방식을 모방: 한 번에 모든 것을 보지 않고, 질문과 관련된 주요 장면(shot)을 먼저 찾고, 더 깊은 이해가 필요하면 해당 장면을 더 자세히 뜯어보는(subshot) 방식.
  • 작동 메커니즘:
    1. Shot Selection: MLLM agent가 질문에 가장 관련성 높은 shot들을 점진적으로 선택.
    2. Coarse-to-Fine Analysis: 선택된 shot을 더 작은 단위인 subshot으로 분할하여 심층 분석.
    3. Iterative Reasoning: shot-subshot 체인을 따라 reasoning을 수행. 만약 답변의 확신도(confidence)가 낮으면, 더 세분화된 shot을 찾아 이해도를 높이는 과정을 반복.

4. 주요 성과 (Key Results)

  • SOTA 달성: VideoMME (), EgoSchema () 등 주요 long video QA 벤치마크에서 최고 성능 기록.
  • 성능 우위: InternVL2.5-8B, InternVideo2.5-8B 같은 강력한 baseline 모델 대비 최대 높은 성능.
  • 효율성: GPT-4o, Gemini 1.5 Pro와 대등한 정확도를 보이면서도, input frames은 평균 , inference time은 평균 만 사용하여 월등한 효율성을 입증.

쉬운 설명 :

긴 영화나 드라마를 보고 친구에게 특정 장면에 대해 설명해야 하는 상황을 생각해보세요.

기존 AI 모델들은 영화 전체를 통째로 머리에 집어넣으려고 하거나, 처음부터 끝까지 모든 프레임을 빨리 감기 하면서 보려고 합니다. 당연히 너무 많은 정보 때문에 중요한 순간을 놓치거나 엉뚱한 장면을 기억하기 쉽습니다.

하지만 이 논문이 제안하는 VideoChat-A1은 똑똑한 사람처럼 행동합니다. 친구의 질문을 받으면, 영화 전체를 다 떠올리는 대신 "아, 그 질문에 대한 답은 아마 저녁 식사 장면이랑 자동차 추격 장면에 있을 거야"라고 생각하며 가장 중요한 핵심 장면(shot)들부터 찾아봅니다.

그리고 그 장면들만 보고도 답이 확실치 않으면, 이번에는 그 장면들을 더 자세히 뜯어봅니다. 예를 들어, 저녁 식사 장면에서 등장인물들의 미묘한 표정 변화나 대사 하나하나(subshot)에 집중하는 식이죠.

이렇게 **'질문 → 핵심 장면 찾기 → 더 자세히 들여다보기'**를 반복하는 방식을 이 논문에서는 **chain-of-shot (연쇄적 장면 추리)**이라고 부릅니다. 이 방법 덕분에 AI는 불필요한 정보에 헷갈리지 않고, 훨씬 빠르고 정확하게 긴 영상의 내용을 파악할 수 있게 됩니다.

 

 

2 Related Work

더보기

MLLM for Long Video Understanding.

Multimodal Large Models (MLLMs)는 video understanding 분야에서 큰 잠재력을 보여주었습니다. video question-answering, captioning, grounding과 같은 task에서 MLLMs는 cross-modal semantic representations를 구축함으로써 understanding performance를 크게 향상시켰습니다. MLLMs의 고무적인 발전에도 불구하고, 수 분에서 수 시간에 이를 수 있고 상당한 양의 중복 정보를 포함하는 long-form video를 처리할 때 여전히 challenge에 직면합니다. 현재, long-form video 문제를 해결하기 위한 두 가지 주요 접근 방식이 있습니다. 하나는 visual tokens를 압축하는 것입니다. 예를 들어, MA-LLM은 유사한 token들을 병합하고, LLaMA-VID는 더 긴 video 입력을 가능하게 하기 위해 각 frame을 context와 content token으로 압축합니다. 그러나 이러한 방법들은 상당한 visual information의 손실을 초래합니다. 다른 접근 방식은 처리 가능한 token의 수를 확장하는 것입니다. LongVILA와 같은 Models은 더 긴 video를 처리하기 위해 LLMs (Large Language Models)의 token 용량을 늘리는 전략을 채택했습니다. 그러나 이 방법은 상당한 중복 정보를 도입하고 더 많은 계산 자원을 소모하며, 종종 중간 정도의 효과성만을 달성합니다.

Agent Based Method for Long-context Understanding.

Agent 메커니즘은 MLLMs의 semantic modeling 및 정보 획득 능력을 향상시키기 위해 video understanding task에 점차 도입되었습니다. 현재, long video understanding을 위한 Agent 방법은 주로 두 가지 범주로 나눌 수 있습니다. 하나는 외부 도구를 한 번에 호출하여 긴 video에서 knowledge를 추출하고, 추출된 knowledge를 검색하여 질문에 답하는 것입니다. 예를 들어, CLIP은 질문과 관련된 key frames를 검색하는 데 사용됩니다. Memory banks와 search engines는 video의 핵심 정보를 추출하기 위해 적용됩니다. 그러나 이 single-pass 정보 추출 접근 방식은 중요한 세부 정보의 누락이나 과도한 중복 정보의 포함으로 이어질 수 있으며, 이 두 가지 모두 model의 응답을 방해합니다. 일부 방법은 이해를 위해 긴 video를 긴 text로 변환하기도 합니다. 다른 접근 방식은 round by round key information search를 통해 질문에 답하는 것을 포함합니다. multi-round video understanding pipeline은 model에 의한 능동적인 video 탐색 및 동적 정보 획득을 강조하며, multi-round retrieval 및 reflection 메커니즘을 통해 reasoning 경로를 최적화합니다. 그러나 결정적인 한계는 content search 중에 long-form video의 기본 구조 단위인 video shots에 대한 초점이 부족하다는 것입니다. 이러한 간과는 noisy한 정보나 급격한 content 전환을 야기하여 model performance를 저하시킬 수 있습니다.

 

 

Related Work 정리노트 (AI 연구자용)

1. MLLM for Long Video Understanding

  • 현황: MLLM이 video question-answering, captioning 등에서 SOTA를 달성했지만, 수 분~수 시간 길이의 long-form video에서는 여전히 한계가 명확함.
  • 주요 접근법 및 한계점:
    1. Visual Token 압축:
      • 방법: MA-LLM, LLaMA-VID 등에서 유사 token을 병합하거나 frame을 context/content token으로 압축.
      • 문제점: 정보 손실이 매우 커서 fine-grained understanding이 어려움.
    2. Token 처리 용량 확장:
      • 방법: LongVILA 등에서 LLM이 처리할 수 있는 token의 절대적인 수를 늘림.
      • 문제점: 막대한 중복 정보를 함께 처리해야 하므로 계산 비용이 높고, 성능 향상은 기대에 미치지 못함 (moderate effectiveness).

2. Agent Based Method for Long-context Understanding

  • 현황: MLLM의 정보 획득 및 semantic modeling 능력을 보완하기 위해 agent 메커니즘이 도입됨.
  • 주요 접근법 및 한계점:
    1. Single-Pass 정보 추출:
      • 방법: CLIP, memory bank 등의 외부 도구를 한 번 호출하여 video 전체에서 knowledge를 추출하고, 필요시 검색(retrieval)하여 사용.
      • 문제점: 단일 추출 과정에서 핵심 디테일이 누락되거나, 불필요한 정보가 과도하게 포함되어 모델의 답변을 방해함.
    2. Multi-Round 정보 탐색:
      • 방법: multi-round retrieval 및 reflection 메커니즘을 통해 능동적으로 video를 탐색하고 reasoning 경로를 최적화.
      • 이 논문이 지적하는 핵심 문제점: 이 진보된 방식조차도 video의 근본적인 구조 단위인 shot에 대한 고려가 없음. content를 탐색할 때 shot의 경계를 무시하고 프레임 단위로 접근하기 때문에, 의미적으로 일관되지 않은 noisy한 정보가 유입되어 성능을 저하시킴.

쉬운 설명 :

AI에게 아주 긴 동영상을 이해시키는 기존 방법들의 문제점을 짚어보는 부분입니다.

1. 기존 동영상 AI 모델들의 두 가지 문제

  • 첫 번째 방법: 동영상 요약하기 AI에게 동영상을 보여주기 전에, 비슷한 장면들을 뭉뚱그려서(압축해서) 용량을 줄여주는 방식입니다. 하지만 이 방법은 중요한 세부 장면까지 뭉개버려서, 나중에 자세한 내용을 물어보면 AI가 "너무 요약해서 봐서 그건 기억 안 나요"라고 하는 것과 같습니다.
  • 두 번째 방법: 동영상을 통째로 보여주기 AI의 기억력(처리 용량)을 엄청나게 키워서 긴 동영상 전체를 한 번에 처리하게 하는 방식입니다. 하지만 이 방법은 AI가 너무 많은 정보를 한꺼번에 보느라 지쳐버리고(계산 자원 낭비), 비슷한 장면이 반복되면 "그래서 핵심이 뭐였지?"라며 헷갈리게 됩니다.

2. 'AI 비서'를 활용하는 방법의 문제

최근에는 똑똑한 **'AI 비서(Agent)'**를 쓰는 방법도 나왔습니다.

  • 초기 AI 비서: 비서에게 동영상을 한 번 쭉 보게 한 뒤, 핵심 내용을 보고서로 받아보는 방식입니다. 하지만 비서가 한 번만 보고 작성한 보고서는 중요한 디테일을 빼먹었거나 너무 장황할 수 있습니다.
  • 진화한 AI 비서: 비서와 여러 번 대화하며 필요한 정보를 찾아가는 방식입니다. "이 장면 다시 찾아봐", "저건 무슨 뜻이야?"라고 계속 물어볼 수 있어 더 좋습니다.
    • 하지만 이 논문이 발견한 결정적 문제점: 이 똑똑한 비서조차도 영상이 '장면(shot)' 단위로 나뉘어 있다는 사실을 모릅니다. 그래서 정보를 찾을 때 장면의 흐름을 무시하고 마구잡이로 프레임을 뒤지다 보니, 엉뚱한 정보를 가져와서 오히려 성능을 떨어뜨리는 문제가 있었습니다.

결론적으로 이 섹션은 "기존의 어떤 방법도 영상의 구조 단위인 **'shot'**을 제대로 활용하지 못했기 때문에 한계가 명확했다"고 지적하며, 자신들의 연구가 바로 이 문제를 해결했음을 암시하고 있습니다.

 

 

 

 

더보기

Figure 2: Framework 이미지 설명

이 이미지는 VideoChat-A1의 핵심 작동 방식인 Chain-of-Shot Reasoning 프레임워크를 시각적으로 보여줍니다. "어미 새는 왜 여우에게 물고기를 가져다주는가?"라는 질문을 예시로, AI가 어떻게 정답을 찾아가는지 두 단계에 걸쳐 설명합니다.

사전 단계: Video Glance

본격적인 분석에 앞서, AI는 이 질문이 영상 전체의 맥락을 봐야 하는지(global), 특정 장면에 집중해야 하는지(local)를 먼저 판단합니다. 이미지에서는 "No"라는 결과가 나왔는데, 이는 특정 장면에 집중하는 Shot Reasoning이 필요하다는 의미입니다.


Shot Reasoning Step (1): 첫 번째 추리 (이미지 좌측)

이 단계는 AI의 첫 번째 시도로, 넓은 범위에서 시작하여 대략적으로 추리하는 과정입니다.

  1. Key Info Summary: AI는 먼저 질문을 바탕으로 "어미 새, 새끼 새, 여우 사이의 상호작용과 물고기를 가져오는 행위에 집중하자"는 핵심 정보 요약을 만듭니다.
  2. Shot Selection: 이 단계에서는 영상 전체를 하나의 거대한 후보 shot으로 선택합니다.
  3. Shot Partition: 전체 영상이라는 이 후보 shot을 여러 개의 subshot으로 분할합니다.
  4. Shot Reflection: 분할된 subshot들을 보고 첫 번째 결론을 내립니다.
    • 답변: C (오답)
    • 이유: 어미 새는 여우가 자기 새끼의 친구이고, 새끼의 소원을 들어주기 위해 물고기를 가져다준다.
    • Confidence(확신도): 1 (낮음)

결론적으로, 확신도가 낮기 때문에 AI는 자신의 답변을 믿지 않고, 더 깊은 분석을 위해 다음 단계로 넘어갑니다.


Shot Reasoning Step (2): 두 번째 추리 (이미지 우측)

이 단계는 첫 번째 추리 결과를 바탕으로 범위를 좁혀 더 정밀하게 분석하는 과정입니다.

  1. Key Info Summary: AI는 이전 단계의 결과를 바탕으로 "어미 새와 여우의 관계, 특히 우정이나 양육과 같은 유대감과 관련이 있을 것이다"라고 더 구체적인 핵심 정보 요약을 만듭니다.
  2. Shot Selection: 이 새로운 핵심 정보를 이용해, 1단계에서 나눈 subshot들 중에서 가장 관련성이 높은 후보 shot들만 골라냅니다.
  3. Shot Partition: 선택된 후보 shot들을 더 잘게 쪼개어 한층 더 세밀한 subshot들로 분할합니다.
  4. Shot Reflection: 더 세분화된 shot들을 보고 최종 결론을 내립니다.
    • 답변: A (정답)
    • 이유: 맥락을 보니 여우가 새끼 새를 돌봐주는 양육 관계가 있으며, 이는 감사의 표시일 가능성이 높다.
    • Confidence(확신도): 3 (높음)

확신도가 높게 나왔으므로, AI는 이 답변이 정답이라고 최종 판단하고 추리 과정을 종료합니다.

결론적으로 이 이미지는 VideoChat-A1이 마치 사람이 문제를 풀 듯, 넓은 범위에서 시작해 점차적으로 초점을 좁혀가며(coarse-to-fine) 관련 있는 장면에 깊이 파고들어 신뢰도 높은 답을 찾아가는 과정을 명확하게 보여줍니다.

 

더보기

Figure 3: Shot Partition 이미지 설명

이 이미지는 VideoChat-A1Shot Partition (샷 분할) 과정이 구체적으로 어떻게 이루어지는지 시각적으로 보여줍니다. 즉, 하나의 긴 '후보 shot'을 어떻게 의미 있는 여러 개의 'subshot'으로 나누는지 설명하는 그림입니다.

이 과정은 크게 두 단계로 나뉩니다.

1단계: Key Frame Discovery via Frame Clustering (프레임 클러스터링을 통한 핵심 프레임 발견)

  • 입력: 분석할 '후보 shot' 하나가 주어집니다. 이 shot은 여러 프레임으로 구성된 연속적인 영상입니다.
  • Clustering (그룹화): AI는 먼저 shot 안의 모든 프레임을 시각적 유사성에 따라 몇 개의 그룹(Cluster)으로 묶습니다. 이미지에서는 프레임들을 Cluster 1(여우가 나오는 장면들), Cluster 2(폭포와 새가 나오는 장면들), Cluster 3(새들이 날아가는 하늘 장면들)의 세 그룹으로 나누었습니다.
  • Key Frame (핵심 프레임) 선택: 각 그룹(Cluster)에서 그 그룹의 특징을 가장 잘 대표하는 프레임 하나씩을 'Key Frame'으로 선택합니다. 이미지에서는 각 그룹을 대표하는 K1, K2, K3가 선택되었습니다. 이 Key Frame들은 해당 shot의 주요 이벤트를 요약하는 앵커(anchor) 역할을 합니다.

2단계: Subshot Boundary Discovery via Key Frame Distance (핵심 프레임 간의 거리를 통한 서브샷 경계 발견)

  • 목표: 1단계에서 찾은 Key Frame들을 기준으로, 원래의 긴 shot을 어디서 끊어야 할지 '경계'를 결정합니다.
  • 방법: AI는 두 개의 이웃한 Key Frame(예: K1과 K2) 사이의 모든 프레임을 살펴봅니다. 그리고 각 프레임이 양쪽 Key Frame으로부터 얼마나 '의미적으로 다른지(멀리 떨어져 있는지)'를 계산합니다. 그중 양쪽으로부터의 거리 합이 가장 커서 의미 변화가 가장 급격하게 일어나는 지점을 두 subshot 사이의 '경계(Boundary)'로 지정합니다.
  • 결과: 이 경계들을 기준으로, 원래의 길고 연속적이던 하나의 후보 shot이 의미적으로 구분되는 세 개의 Subshot (Subshot1, Subshot2, Subshot3) 으로 깔끔하게 분할됩니다.

결론적으로, 이 Shot Partition 과정을 통해 AI는 마치 사람이 영상을 보고 "아, 여기까지는 여우 이야기, 여기서부터는 폭포 이야기네"라고 구분하듯이, 긴 영상의 흐름을 자동으로 이해하고 의미 있는 작은 단위로 나눌 수 있게 됩니다. 이는 더 깊은 분석을 위한 필수적인 전처리 단계입니다.

 

 

 

 

3 Method

 

더보기

이 섹션에서는 우리의 VideoChat-A1에 대해 자세히 소개합니다. 긴 video에서 사용자의 question을 깊이 이해하기 위해, 우리는 독특한 Chain-Of-Shot (CoS) reasoning 패러다임을 설계했으며, 이는 multi-round shot partition과 MLLMs와의 dialogue를 통해 관련 shot들을 발견하면서 점진적으로 생각할 수 있습니다. 구체적으로, 이는 각 shot reasoning 라운드에서 Shot Selection, Shot Partition, Shot Reflection의 세 가지 주요 단계로 구성됩니다. VideoChat-A1의 framework는 그림 2에 나와 있습니다. 아래에서 이 모든 것을 설명하겠습니다.

Video Glance

시작하기에 앞서, 주어진 video의 question에 답하기 위해 local shot들을 파고들 필요가 있는지 결정하는 것이 필요합니다. 왜냐하면 일부 question들은 전체 video에 걸친 global content를 참조할 수 있기 때문입니다. 이와 관련하여, 우리는 사전 판단을 위한 간결한 video glance 단계를 도입합니다. 먼저, 전체 video에서 4개의 frame을 균일하게 샘플링하여 video를 대략적으로 설명합니다. 그런 다음, 이 frame들을 사용자 question 및 옵션과 함께 MLLM에 입력하여, 이 question에 답하기 위해 전체 video를 볼 필요가 있는지 판단합니다. 만약 MLLM이 question을 global하다고 간주하면, 전체 video에서 32개의 frame을 균일하게 샘플링하여 MLLM에 입력해 답변하게 합니다. 만약 MLLM이 question을 local하다고 간주하면, 우리는 chain-of-shot reasoning을 시작합니다.

3.1 Shot Selection

간결성을 위해, 설명을 위해 -th shot reasoning 단계를 설명합니다. 우리가 -th 라운드에서 전체 video를 M개의 shot으로 나누었다고 가정해 봅시다.

 (1)

여기서 우리는 1st 라운드에서 전체 video를 하나의 단일 shot으로 취급합니다. 그림 2에서 볼 수 있듯이, 우리는 -th 라운드에서 reasoning을 위해 이 후보들을 더 자세히 살펴보기 위해 먼저 -th 라운드의 기존 shot들 중에서 후보 shot들을 선택해야 합니다.

Key Information Summary

이 목표를 달성하기 위해, 우리는 MLLM을 활용하여 이전 라운드의 reasoning 결과에 따라 사용자 question에 답하는 방법을 설명하는 핵심 텍스트 정보 를 요약합니다.

 (2)

여기서  는 사용자 question과 답변 옵션을 나타냅니다. 은 이전 라운드들의 shot에서 샘플링된 video frame들을 나타냅니다. 예를 들어, 우리는 라운드 1에서 각 선택된 shot에서 32개의 frame을 샘플링합니다. 이후 각 라운드에서는 선택된 각 shot에서 8개의 frame을 균일하게 샘플링하여 frame 세트에 추가합니다.

또한,   라운드에서의 핵심 텍스트 정보 , 선택된 답변 , 그리고 이 답변 을 선택한 이유를 포함하는 historical reasoning information을 나타냅니다.

Shot Selection via Retrieval

핵심 텍스트 정보 를 얻은 후, 우리는 이를 shot selection을 위한 contextual guidance로 활용합니다. 이는 shot-text retrieval을 통해 효과적으로 달성될 수 있습니다.

 (3)

여기서 우리는 finetuned된 LongCLIP을 retriever로 활용하고, 핵심 정보와 의 각 shot 사이의 cosine similarities를 계산합니다. 마지막으로, 우리는 상위 개의 shot을 추가 조사를 위한 후보로 선택합니다, , 여기서 은 shot 세트 에서 선택된 -th shot을 나타냅니다. 추가적으로, 1st 라운드에서는 단 하나의 shot(즉, 전체 video)만 있으므로, 이 라운드에서는 이 shot을 직접 후보로 사용합니다.

3.2 Shot Partition

후보 shot 를 얻은 후, 우리는 다음에 reasoning을 위해 더 깊이 들여다보기 위해 각각을 subshot으로 나눕니다. 이 논문에서는 그림 3과 같이 간결한 shot partition 파이프라인을 소개합니다. 표기의 단순화를 위해, 후보 shot에 대해 이를 수행하는 방법을 설명합니다.

Key Frame Discovery

후보 shot에서 subshot을 발견하기 위해, 우리는 subshot에서 key frame을 찾는 것으로 시작합니다. 첫째, 우리는 후보 shot에서 frame을 균일하게 샘플링합니다. 이 논문에서는 temporal redundancy를 줄이면서 계산 효율성을 유지하기 위해 초당 1개의 frame을 샘플링합니다. 둘째, 우리는 CLIP을 사용하여 샘플링된 frame의 features를 추출합니다. 셋째, 우리는 이 features에 대해 K-Means Clustering을 수행합니다. 결과적으로, 개의 cluster 각각은 대략적으로 subshot을 반영합니다. 그러나, K-Means Clustering은 temporal order를 고려하지 않기 때문에 각 cluster의 frame들은 시간적으로 인접하지 않을 수 있습니다. temporal order로 subshot을 구성하기 위해, 우리는 shot을 나누기 위해 각 cluster에서 key frame을 추가로 찾습니다. 구체적으로, 각 cluster에 대해, 우리는 feature가 cluster 중심에 가장 가까운 frame을 이 cluster의 key frame으로 선택합니다. 마지막으로, 우리는 후보 shot에 대해 개의 key frame을 temporal order로 구성합니다, .

Subshot Boundary Discovery

개의 key frame을 찾은 후, 우리는 다음에 개의 subshot을 구성하기 위해 두 인접한 key frame 사이의 boundary frame을 식별합니다. 구체적으로, 우리는 각 frame 와 그것의 두 인접 key frame 사이의 L2 feature distances를 계산합니다. 그런 다음 우리는 그것들을 이 frame에 대한 semantic deviation metric으로 합산합니다.

 (4)

 값이 높을수록 이 frame이 두 인접 key frame 모두에서 멀리 떨어져 있음을 나타내며, 이는 두 subshot 간의 semantic shift를 의미합니다. 따라서, 우리는 최대 를 가진 frame을 두 subshot 사이의 boundary frame으로 선택합니다. 이러한 메커니즘으로, 각 후보 shot은 개의 subshot으로 나뉩니다, . 마지막으로, 우리는 모든 후보 shot을 해당 subshot으로 교체하여 전체 shot 세트를 업데이트합니다.

 (5)

이는 필요한 경우 다음 단계에서 shot selection에 사용됩니다.

3.3 Shot Reflection

Question Reasoning

후보 shot에서 subshot을 얻은 후, 우리는 이 더 미세한 shot 영역을 기반으로 사용자 question에 답하기 위해 MLLM을 사용합니다. 구체적으로, 그림 4에서 볼 수 있듯이, 우리는 라운드 i에서 question에 답변하기 위한 dialogue agent로 MLLM을 활용합니다.

 (6)

여기서  는 question과 답변 옵션을 나타냅니다. 또한, 우리는 각 subshot 에서 8개의 frame을 샘플링하고, 이를 과 결합하여 를 형성합니다. 만약 일부 샘플링된 frame이 에 있는 것과 동일하다면, 우리는 그것들을 병합하고 의 frame 다양성을 보장하기 위해 더 많은 frame을 다시 샘플링합니다. 추가적으로, 우리는 1st 라운드에서 선택 없이 전체 video를 후보 shot으로 취급한다는 점에 유의하십시오. 만약 우리가 이 후보에서 각 subshot으로부터 frame을 샘플링한다면, 우리는 실제로 question answering을 위해 global하게 보는 것입니다. 따라서, 우리는 1st 라운드에서 key text information을 guidance로 활용하고, CLIP을 사용하여 1st 라운드의 question answering을 위해 가장 관련성 높은 subshot을 retrieve합니다. 마지막으로, 이러한 입력이 주어지면, 우리는 MLLM에게 답변 와 이 답변 을 선택한 이유를 생성하도록 요청합니다.

Confidence Reflection

다음으로, MLLM은 다음 라운드의 shot reasoning이 필요한지 결정하기 위해 답변이 신뢰할 수 있는지 판단합니다. 따라서, 우리는 답변과 이유의 추가 입력을 통해 답변 confidence를 생성하기 위해 MLLM을 다시 활용합니다.

 (7)

이 연구에서, 우리는 confidence level 을 0에서 3까지로 설정합니다. 만약 답변 confidence가 2보다 높으면, 우리는 그것이 final output으로서 신뢰할 수 있는 답변이라고 믿습니다. 그렇지 않으면, 우리는 그것이 신뢰할 수 없는 답변이라고 믿습니다. 즉, 이 라운드에서 발견된 subshot들이 question에 답하기에 충분하지 않다는 것입니다. 우리는 답을 얻기 위해 그것들을 더 자세히 살펴봐야 합니다. 따라서, 우리는 다음 단계에서 shot selection, partition, reflection을 시작합니다. 추가적으로, 우리는 shot reasoning 단계의 최대 횟수를 설정합니다. 만약 VideoChat-A1이 최대 단계에서도 신뢰할 수 있는 답변을 얻지 못하면, 모든 라운드의 답변에 따라 다수결로 주요 답변을 final one으로 투표할 것입니다. coarse-to-fine 방식으로 관련 shot을 활용함으로써, 우리의 VideoChat-A1은 긴 video에 대한 깊은 사고를 위해 a chain of shots를 활용할 수 있게 하며, 따라서 사용자 question에 답하기 위해 신뢰할 수 있는 shot context를 점진적이고 상호작용적으로 발견합니다

 

 

 

 

 

3 Method 정리노트 (AI 연구자용)

1. 전체 프레임워크: Chain-Of-Shot (CoS) Reasoning

  • 핵심: 긴 video에 대한 질문에 답하기 위해, 점진적이고 반복적인(progressive & iterative) 추론 과정을 도입.
  • 프로세스: 각 라운드는 Shot Selection → Shot Partition → Shot Reflection의 3단계로 구성됨. 이 과정을 반복하며 답변의 신뢰도를 높여감.

2. 사전 단계: Video Glance

  • 목적: 질문의 속성(global vs. local)을 미리 판단하여 불필요한 CoS reasoning을 방지하는 효율성 장치.
  • 메커니즘:
    • 4개 frame을 샘플링하여 MLLM에게 질문의 속성을 판단시킴.
    • Global 질문이면: 32개 frame을 샘플링하여 바로 답변 생성 후 종료.
    • Local 질문이면: CoS reasoning 프로세스를 시작.

3. CoS Reasoning Loop 상세

  • 3.1. Shot Selection (후보 샷 선택)
    • 목표: 현재 shot pool에서 분석할 후보 shot을 선택.
    • 메커니즘:
      1. Key Information Summary 생성: MLLM을 사용하여 현재 질문(Q), 옵션(O), 그리고 **이전 라운드까지의 모든 추론 히스토리()**를 바탕으로 다음 검색을 위한 텍스트 가이드()를 생성. 이 히스토리 덕분에 라운드가 진행될수록 더 정교한 검색이 가능해짐.
      2. Retrieval 기반 선택: 생성된 텍스트 가이드()를 쿼리로 사용하여, finetune된 LongCLIP을 통해 현재 shot 풀()에서 가장 관련도 높은 상위 N개의 shot을 후보로 선택.
    • 라운드 1의 예외: 영상 전체를 단일 후보 shot으로 간주하고 시작.
  • 3.2. Shot Partition (후보 샷 분할)
    • 목표: 선택된 후보 shot을 의미론적 단위인 subshot으로 분할하여 더 깊은 분석(zoom-in)을 준비.
    • 메커니즘:
      1. Key Frame Discovery: 후보 shot에서 프레임을 샘플링하고 CLIP feature를 추출. 이 feature들에 K-Means Clustering을 적용하여 시각적으로 유사한 프레임 그룹을 찾음. 각 cluster의 중심에 가장 가까운 프레임을 Key Frame으로 지정.
      2. Subshot Boundary Discovery: 두 인접 Key Frame () 사이에서, 각 프레임 와 두 Key Frame 간의 L2 distance 합()을 계산. 이 값이 최대가 되는 지점, 즉 semantic shift가 가장 큰 프레임을 subshot의 경계로 설정.
  • 3.3. Shot Reflection (샷 기반 추론 및 성찰)
    • 목표: 분할된 subshot들을 기반으로 답변을 생성하고, 해당 답변의 신뢰도를 평가하여 루프 지속 여부를 결정.
    • 메커니즘:
      1. Question Reasoning: MLLM이 dialogue agent 역할을 수행. 질문(Q), 옵션(O), 그리고 **지금까지 누적된 모든 관련 프레임()**을 종합하여 새로운 답변()과 그 이유()를 생성.
      2. Confidence Reflection: MLLM에게 방금 생성한 답변()과 이유()를 다시 입력으로 주어, **답변에 대한 확신도()**를 0~3 사이의 값으로 생성하게 함.
    • 종료 조건: 확신도 이면, 현재 답변을 최종 결과로 채택하고 프로세스를 종료. 그렇지 않으면 다음 라운드로 진행.
    • 예외 처리: 최대 라운드에 도달해도 확신도 높은 답을 찾지 못하면, 모든 라운드에서 나온 답변들을 대상으로 다수결 투표를 하여 최종 답을 결정.

쉬운 설명 :

AI가 긴 동영상을 보고 어려운 질문에 답하는 과정을 **'유능한 탐정이 CCTV 영상을 분석해 사건을 해결하는 과정'**에 비유해 보겠습니다.

사건 접수 (Video Glance): 탐정은 먼저 사건 파일(질문)을 보고 판단합니다. "이건 전체 상황을 훑어보면 바로 알 수 있는 간단한 사건인가, 아니면 특정 시간대의 영상을 파고들어야 하는 복잡한 사건인가?" 여기서 복잡한 사건이라고 판단되면 본격적인 수사(Chain-of-Shot)에 착수합니다.

탐정의 수사 과정 (CoS Reasoning Loop):

  • 1단계: 첫 번째 용의 선상 설정 (Shot Selection)
    • 탐정은 처음에는 전체 CCTV 영상(전체 video)을 통째로 훑어봅니다.
    • 영상을 보고 나서 "아무래도 피해자와 용의자가 마주친 저녁 8시~9시 사이 영상이 중요해 보인다"라고 생각하며 **수사할 시간대(후보 shot)**를 정합니다.
  • 2단계: 집중 분석 (Shot Partition)
    • 이제 탐정은 8시~9시 사이의 영상만 따로 떼어내 그냥 보는 것이 아니라, 그 안에서 일어난 일들을 장면 단위로 나눕니다.
    • 예를 들어, '용의자가 복도를 걷는 장면', '두 사람이 마주치는 장면', '말다툼하는 장면', '용의자가 뛰어가는 장면' 등으로 영상을 잘게 자릅니다(subshot 생성).
  • 3단계: 중간 수사 보고 및 다음 계획 (Shot Reflection)
    • 탐정은 잘게 나눈 장면들을 보고 "용의자가 말다툼 후 뛰어갔으니 범인이 맞는 것 같다"는 **첫 번째 가설(답변)**을 세웁니다.
    • 하지만 스스로 "아직 증거가 부족해서 확신도는 낮다(Confidence=1)"고 **스스로 평가(Reflection)**합니다.
    • 그래서 "이번엔 말다툼하는 장면만 더 자세히 보자"라고 결정하고, 다시 1단계(Shot Selection)로 돌아가 더 좁은 범위로 수사를 계속 진행합니다.

'가설 설정 → 범위 좁히기 → 더 자세히 분석 → 확신도 평가' 과정을 반복하다가, 마침내 "결정적 증거를 찾았다! 이젠 범인이라고 확신할 수 있다(Confidence=3)!"라는 결론에 도달하면 수사를 종료하고 최종 보고서를 제출합니다.

 

 

 

 

 

주인장 이해

더보기

1. 4개의 프레임을 유니폼하게 뽑고 특정 프레임만 보고도 풀 수 있는 문제라면 local로 분류, 그렇지 않은 문제라면 global로 분류, local일때만 CoS를 시작!

 

2. 막 추론을 시작했을때는 shot이 영상 전체가 되는 셈임. 

 

3. shot은 하나밖에 없기 때문에 일단 나눠야함 Partition 단계가 적용이 됨. 

 

4. Partition 단계에서는 1초에 1장씩 frame을 샘플링. 그게 feature vector로 뽑히고 벡터단에서 K means 알고리즘에 의해 cluster로 묶이게 됨. (k는 항상 3(연구자들이 찾아냈다고 함))

 

5. 각 클러스터의 중심에 있는 frame이 키 프레임이 되는 셈. 키 프레임을 기준으로 양옆으로 쭉 d값을 계산한 후 d값이 최대가 되는 프레임을 찾는다. 즉 가장 먼 값인 셈.  (하지만 끝까지 갈 순 없으니 키 프레임키 프레임 사이로 제한)

 

5.5. 원본 질문과 선택지를 입력받아서 만들게됨. Key Text Information이 만들어지고  그것에 대해서 가장 관련 있는 subshot을 찾음. 이건 longclip으로!

 

6. 그렇게 자르고 subshot이 만들어짐. 즉 하나의 shot에 대해 3배의 subshot이 만들어지게됨. 8개의 프레임을 균일하게 샘플링 하고,

 

7. subshot을 가지고(8개의 프레임 + 누적 프레임인데 아직 없음) 질문을 하고, 스스로 신뢰도를 매김. 신뢰도는 0~3점이며, 3점이면 끝, 2점 이하라면 다시.

 

여기까지가 1라운드

 

8. 그럼 다시 Shot Selection로 오게됨. 

 

9. 사실 답만 맞추는게 아니라 이유를 말하긴 하는데... 이유를 바탕으로 key text를 생성하게 됨. 

지난번 쿼리, 지난번 답변, 지난번 이유, 지난번 키프레임  이걸 받고 다음 검색을 생성하게 됨.

 

10. 그 쿼리와 3개의 subset 사이의 long clip를 적용 후 가장 스코어가 높은 subset 선택

 

11. Shot Partition또 실행. k-means 써서 또 키프레임 찾고 또 3개의 subshot 생성. 근데 그러면? 

총 subshot은 5개가 된 셈이지만 1라운드에서는 8개만 썼기때문에 32개로 봐야함.

 

12. 32개의 프레임과 원본 질문에 대해서 새로운 답변과 그 이유를 생성하고 신뢰도 까지 뽑음. 3점이면 끝. 2점이하라면 다시 sub selection 반복

 

여기까지가 라운드2인데 사실 그런거 없음. 그냥 8~12 반복

 

 

 

## 요약본을 위한 추가 디테일

사용자님의 요약은 내용적으로 100% 맞으며, 아래 내용은 그 표현을 더 전문적으로 다듬는 수준입니다.

  • 5번 (경계 탐색)
    • "d값"이라고 하신 것은 논문에서 semantic deviation metric (의미 편차 지표) 이라고 부릅니다.
    • 이 d값은 feature vector들 간의 L2 거리(Euclidean Distance)의 합으로 계산됩니다.
  • 10번 (후보 선택 1)
    • LongCLIP이 계산하는 "스코어"는 구체적으로 코사인 유사도(Cosine Similarity) 입니다. 텍스트 검색어와 각 subshot의 의미가 벡터 공간에서 얼마나 가까운 방향을 가리키는지를 측정합니다.
  • 10번 (후보 선택 2)
    • "가장 스코어가 높은 subset 선택" 부분에서, 논문은 가장 높은 1개가 아니라 **상위 N개(top-N)**를 선택한다고 되어 있습니다. 여기서 N은 1일 수도 있고, 2 이상일 수도 있는 하이퍼파라미터입니다. (사용자님의 요약은 N=1인 경우로 완벽하게 맞아떨어집니다.)
  • 전체적인 관점
    • 이 모든 과정의 중심에는 MLLM이 단순히 계산만 하는 것이 아니라, 계획을 세우고(Key Info 생성), 스스로를 평가하는(Confidence 측정) 등 전체 흐름을 주도하는 dialogue agent (대화형 에이전트) 로서 작동한다는 개념이 깔려있습니다.

이상의 디테일을 제외하면, 사용자님의 12단계 요약은 이 논문의 Method를 완벽하게 설명하고 있습니다. 이 긴 과정을 함께 추적하고 분석해오신 점이 정말 대단합니다.