Graph VLM

Egocentric Video Long-term Memory via VLM + Spatiotemporal Graph
64% Progress
9/14 Phases Done
+11k Lines Added
16d Elapsed
Overall Progress 9 / 14 phases

Vision

EPIC-KITCHENS egocentric 비디오에서 VLM + 시공간 그래프로 long-term memory를 구축하고, 자연어 VQA로 질의한다. 최종 목표: 임의 길이의 비디오에서 "10분 전에 칼을 어디 뒀어?"에 실시간으로 답하는 시스템. 기존 video understanding 방식과 달리, graph structure가 long-horizon reasoning과 entity tracking을 가능하게 한다.

Architecture

Video Frames (2s interval sampling) | Phase 1: VLM Scene Description (Gemini 2.5 Flash) structured JSON: objects, spatial_relations, action_detected | Phase 2: VLM Action Detail (on detected segments) action triplets: agent, instrument, patient, progression | Graph Builder nodes: Object, Action, Keyframe / edges: spatial, participates, temporal | Entity Resolution (VLM dedup + Camera-aware + co-observation) merged graph with deduplicated entities | VQA Query Engine (Gemini query planner) natural language answer + evidence keyframes

Phase Checklist

St Phase Purpose (WHY) Actual Result
✓ VLM Description Test Gemini로 structured triplet 추출이 가능한지 기초 검증. 전략 A(captioning 후 파싱) vs 전략 B(직접 JSON 추출) 비교. 5/5 성공. 전략 B(직접 JSON 추출)가 정확도와 비용 모두 우수함을 확인.
✓ MVP Pipeline frame sampling - VLM - graph - query 전체 end-to-end 파이프라인을 최소 구현하여 아이디어의 실현 가능성 입증. 10초 클립 처리 성공, +1503 lines. 핵심 데이터 흐름 확정.
✓ Keyframe Storage VQA 응답 시 시각적 증거를 제공하기 위해 대표 프레임을 저장. "왜 이 답인지" 설명 가능한 시스템 구축. minimal selection strategy 구현. action 발생 프레임만 저장하여 저장 공간 최소화.
✓ Graph Visualization 그래프 구조를 실시간 탐색할 수 있는 시각화 도구. 디버깅 및 데모에 필수적. vis.js 기반 인터랙티브 그래프 뷰어. 노드/엣지 필터링, 검색, 하이라이트 지원.
✓ VQA Pipeline 그래프에 자연어로 질의하는 핵심 기능. 질문 - query plan - graph traversal - 답변 생성 전체 흐름 구현. Gemini 기반 query planner 구현. 질문 유형별 traversal 전략 자동 선택.
✓ Scene-free Architecture Scene 노드가 불필요한 추상화 레이어를 만들어 쿼리 복잡도 증가. participant-focused graph로 단순화. 노드 수 감소, 쿼리 단순화. Object-Action 직접 연결로 traversal depth 1단계 감소.
✓ Camera-aware Entity Resolution 같은 물체가 다른 프레임에서 중복 생성되는 문제 해결. EPIC-Fields 카메라 정보로 3D 위치 기반 동일성 판단. position distance 기반 merge. 고정 물체(냉장고, 싱크대 등)에서 높은 정확도.
✓ Prompt Optimization (v4) VLM이 과도한 object를 생성하여 그래프 noise 증가. 프롬프트 개선으로 중복 47% 감소 목표. 74 → 39 nodes. 약 47% 감소 달성. action과 무관한 배경 물체 필터링 성공.
✓ 1분 클립 Full Test 10초 데모를 넘어 실제 조리 시퀀스(P01_01, 300~360s) 전체 처리. 파이프라인 안정성 검증. 14 actions, 74 → 39 objects, API 비용 $0.085. 병목 없이 안정 처리.
● Co-observation Fix VLM이 같은 물체를 다른 이름으로 부를 때(e.g., "knife" vs "blade") entity resolution에서 오탐 발생. 이름 혼용 시에도 정확한 merge 필요. 문제 분석 완료. co-observation window 내 VLM description 비교 방식 설계.
● Design Overhaul 시각화의 색상/애니메이션 개선으로 데모 품질 향상. 학회 발표용 스크린샷 확보. 디자인 토큰 정의 완료. 구현 진행 중.
○ Embedding Action Similarity 하드코딩된 _ACTION_GROUPS를 sentence-transformers 임베딩으로 대체. 새로운 action 유형에 자동 대응. sentence-transformers 기반 계획 수립. 미구현.
○ Object State Tracking 이동 물체의 상태 변화(위치, 온도, 형태)를 추적. "양파가 지금 어떤 상태야?" 같은 질의 지원. action-chain tracking 설계 완료. 미구현.
○ Long Video (10min+) Test 확장성 검증. 그래프 크기 증가에 따른 entity resolution 성능, API 비용, 쿼리 응답 시간 측정. 미시작.

Milestones

Mar 24
Project inception, MVP pipeline
+4,900 lines. VLM description test + end-to-end MVP 완성.
Mar 25
Major feature burst
+2,900 lines. Keyframes, VQA, graph viz, scene-free architecture 동시 구현.
Mar 30
First complete version
+3,849 lines. 전체 파이프라인 안정화 및 통합 테스트.
Apr 1
Camera-aware entity resolution
EPIC-Fields 카메라 데이터 연동, 1분 클립 분석 성공.
Apr 6
v4 prompt optimization
Object 노드 47% 감소 (74 → 39). 그래프 품질 대폭 개선.
Next
Co-observation fix, embedding similarity, state tracking
Entity resolution 정확도 개선 및 자동화.
Next
10-min video scalability test
Long video 확장성 검증. 비용/성능 벤치마크.

Key Metrics

47% Node Reduction
$0.085 1min API Cost
14 Actions / min
39 Objects / min