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