SpaTime이 스트리밍 VLM에 3D 기하를 넣고 응답 시점까지 학습한다

SpaTime: Streaming Vision-Language Models for Spatio-temporal Reasoning

arXiv2610.08713v1

Hairong Yin2026-10-06

무엇인가

이 논문이 푸는 문제는 실시간 영상 스트림 위에서 3D 공간 추론을 하는 VLM이 두 가지 요구를 동시에 만족해야 한다는 것이다. 하나는 명시적 3D 기하 표현이고, 다른 하나는 충분히 관측했을 때 스스로 답변 시점을 정하는 능력이다. 기존 연구는 둘 중 하나만 다룬다. VG-LLM, VLM-3R 같은 오프라인 공간 특화 VLM은 3D 기하 사전지식을 언어모델에 주입해 VSI-Bench 같은 벤치마크에서 강하지만, 기하 인코딩·특징 융합·생성의 모든 단계가 전체 프레임 시퀀스를 대상으로 하므로 스트림 중간에 도착한 질문에는 답할 수 없다. 반대로 VideoLLM-online, Dispider, Streamo 같은 스트리밍 VLM은 프레임을 인과적으로 처리하며 프레임마다 상태 토큰을 내보내 응답 시점을 스스로 정하지만, 명시적 3D 표현이 없어 공간 질문에 약하다. 저자들이 짚는 근본 충돌은 일관된 3D 표현을 만들려면 VGGT처럼 모든 프레임에 한꺼번에 어텐션해야 한다는 점이고, 이는 프레임 단위 인과 추론과 정면으로 배치된다. StreamVGGT가 이 충돌을 표현 수준에서 해소했지만, 그 위에 필요한 두 조각, 즉 기하 토큰을 미래 프레임 의존 없이 언어모델에 전달하는 융합과 응답 시점 감독은 여전히 비어 있었다.

어떻게 동작하나

SpaTime의 구조는 다음과 같다. 프레임 t마다 동결된 비주얼 인코더가 비주얼 토큰 V_t를, 동결된 StreamVGGT 기하 인코더가 KV 캐시를 통해 과거 프레임만 참조해 기하 토큰 G_t를 만든다. 기하 인코더가 인과적이므로 프레임당 비용은 스트림 길이와 무관하게 일정하다. 학습되는 것은 융합 프로젝터, LLM의 LoRA 파라미터, 상태 토큰 임베딩, LM 헤드뿐이다. 융합은 VG-LLM 방식을 따라 기하 토큰 그리드를 2×2 윈도우로 병합해 인접 패치 4개를 하나의 벡터로 연결한 뒤, 2층 MLP로 LLM의 은닉 차원 d로 투영하고 같은 프레임의 비주얼 토큰에 위치별로 더한다. 병합 덕분에 기하 그리드가 비주얼 그리드와 같은 N_v 토큰 수가 되어 덧셈이 성립한다. 이후 LLM 백본은 Streamo의 멀티턴 프로토콜을 따른다. 각 프레임이 타임스탬프가 붙은 한 턴이 되고, 어시스턴트 턴은 Silence, Standby, Response 세 상태 토큰 중 하나로 시작하며 Response가 나오면 답변 텍스트가 이어진다. 인과 어텐션 마스크로 프레임 t의 토큰은 t 이하 프레임만 본다.

무엇과 다른가

응답 시점을 학습하는 손실이 이 논문의 두 번째 축이다. Streamo의 상태 인지 focal loss는 한 프레임 이른 응답과 열 프레임 이른 응답을 똑같이 벌점하므로, 저자들은 시점 자체에 미분 가능한 신호를 주는 손실을 설계한다. 각 상태 토큰 위치의 다음 토큰 분포에서 세 상태 토큰에 해당하는 로짓 슬라이스를 뽑아 Response 확률 p_k를 구하고, 스트리밍 평가가 최초 응답만 채점한다는 점에 맞춰 프레임 k가 처음으로 Response를 내보낼 확률을 p̄_k = p_k × ∏(j<k)(1-p_j)로 계산한다(수치 안정성을 위해 로그 공간에서 계산). 이 분포에 soft-argmax를 적용해 기대 응답 시점 t̂_ans를 얻고, 합이 1e-4 미만이면 마지막 프레임으로 폴백한다. 손실은 정답 응답 프레임과의 편차를 시퀀스 길이 T로 정규화한 뒤 δ=0.2의 Huber 손실로 벌점한다. 여기에 질문 유형별 가중치를 곱하는데, 현재를 묻는 질문과 과거를 묻는 질문은 도착 즉시 답할 수 있으므로 시점 벌점이 오히려 상태 토큰 사후확률을 해치기 때문이다. 기다림이 필요한 current-ask-future 유형에 가중치를 실어 최종 손실은 focal 손실과 시점 손실의 합이 된다.

어떻게 쓰나

평가를 위해 기존 VSTI-Bench와 VSI-Bench를 스트리밍용으로 변환한 StreamVSTI-Bench와 StreamVSI-Bench를 새로 만든다. 원래 벤치마크는 전체 영상을 오프라인으로 평가하므로 언제 답이 가능해지는지를 담지 못한다. 변환 파이프라인은 네 단계다. 먼저 ScanNet의 .sens 아카이브에서 프레임별 카메라 포즈와 내부 파라미터를 읽고 객체별 지향 바운딩 박스(OBB)를 확보한 뒤, OBB의 여덟 꼭짓점을 이미지 평면에 투영해 면적 비율과 컨테인먼트 비율을 계산하고 거리 조건과 깊이맵 가림 검사까지 더해 프레임별 가시성 인덱스를 만든다. 다음으로 기하학적으로 보이는 프레임에 3D 박스를 와이어프레임으로 덧그려 Qwen2.5-VL-7B에게 실제로 인식 가능한지 확인시킨다. 이 검사는 명시적 '아니오'일 때만 기하 판정을 뒤집는 보수적 방식이며, 무작위로 뽑은 500개 객체-프레임 쌍에 대한 사람 판정과의 일치율은 84.4%였다. 이어 질문 유형별 규칙으로 정답 프레임을 정하고(예: 객체 세기 질문은 해당 객체의 모든 인스턴스가 보이는 첫 프레임), 질문 도착 시점과 정답 프레임의 관계에 따라 current-ask-current, current-ask-past, current-ask-future 세 변형으로 나눈다. StreamVSTI-Bench는 서로 겹치지 않는 ScanNet 분할로 학습 132,568개와 테스트 6,042개, StreamVSI-Bench는 ScanNet·ScanNet++·ARKitScenes의 288개 비디오에서 4,726개 테스트 샘플로 구성된다.

전제와 한계

실험 결과는 StreamVSTI-Bench에서 SpaTime이 49.2% 전체 정확도를 기록했고, 응답 시점 오차 Δt는 0.12초로 최강 스트리밍 베이스라인의 0.35초 대비 66% 줄었다. 스트리밍 베이스라인 대비 평균 정확도 우위는 엄격 모드에서 4.8점, 관대 모드에서 0.8점이며, 늦게 답하거나 아예 답하지 않는 베이스라인이 무너지는 엄격 프로토콜에서 격차가 더 벌어진다. 인과적으로 디코딩하면서도 오프라인 공간 특화 모델인 VLM-3R과 9.6점 차이까지 좁혔다. 학습에 없던 태스크 유형으로 구성된 StreamVSI-Bench에서도 스트리밍 베이스라인을 평균 4.7점 앞서 기하 사전지식이 일반화됨을 보였다. 절제 실험에서는 Streamo 베이스라인에 StreamVGGT 기하 토큰만 더해도 엄격 3.9점, 관대 4.3점이 오르고 Δt가 0.35초에서 0.18초로 줄었으며, 응답시간 손실을 추가하면 관대 정확도 49.20과 Δt 0.12초가 됐다. 특히 손실이 겨냥한 미래 질문의 시점 오차는 0.52초에서 0.35초로 떨어졌다.

저자들이 밝힌 한계도 분명하다. StreamVSI-Bench에서 room-size 추정은 0.0, object-size 추정은 3.5점으로 사실상 실패하는데, 두 범주 모두 절대 미터 크기를 예측해야 하는데도 그 질문 템플릿이 학습에 쓰인 카메라·객체 관계 분할에 없어서 모델이 답변 형식을 한 번도 보지 못한다. 다른 스트리밍 베이스라인도 같은 범주에서 똑같이 무너지므로 원인이 기하학적 한계가 아니라 학습 커버리지 부족임을 확인할 수 있고, 파이프라인이 크기 추정 질문을 자동 합성할 수 있으니 학습 혼합에 넣는 것이 향후 과제라고 적는다. 또한 기하 표현은 동결된 StreamVGGT에 전적으로 의존하며, 두 벤치마크는 기존 벤치마크의 스트리밍 변환이라 정확도를 오프라인 문헌과 직접 비교할 수 있다는 전제 위에 서 있다. 동시 연구로 Stream3D-VLM이 유사하게 동결 StreamVGGT 위에 온라인 VLM을 올리는데, 그쪽은 스택형 교차 어텐션으로 융합하고 두 결정 토큰에 대한 다음 토큰 예측으로 시점을 다루는 반면 SpaTime은 정렬된 토큰 그리드 위 가산 투영, 3상태 프로토콜, 기대 응답 시점에 대한 미분 가능 손실을 쓴다는 점이 다르다.

실무 관점에서 이 논문이 쓸모 있는 지점은 로봇 내비게이션, AR 안내, 웨어러블 라이브 스트림처럼 프레임이 계속 들어오는 상황에서 공간 질문에 최소 지연으로 답해야 하는 파이프라인이다. 프레임당 추론 비용이 스트림 길이와 무관하게 일정하고, 두 인코더를 동결한 채 LoRA와 소수 모듈만 학습하므로 기존 VLM 스택에 얹기 쉽다. 다만 정확도만 보지 말고 Δt, 즉 예측 응답 시점과 정답 시점의 평균 절대 오차를 자체 데이터로 반드시 측정해야 한다. 이 논문이 보여주듯 정확도가 비슷해도 응답이 늦으면 엄격 프로토콜에서는 점수가 무너진다. 또한 절대 크기 추정처럼 학습 데이터에 답변 형식이 없던 태스크는 기하 표현이 멀쩡해도 0점이 나오므로, 자체 태스크 목록과 학습 혼합의 커버리지를 먼저 대조하는 것이 좋다.