SpaceTimePilot은 출력 프레임마다 원본 동작의 시간을 따로 지정하고 카메라 레이도 별도 조건으로 넣어, 피사체 동작과 카메라 이동을 독립적으로 조절하려는 생성형 렌더링 모델입니다. 같은 τ에서 객체 상태가 유지되는지, camera만 바꿨을 때 동작이 흔들리지 않는지를 교차 실험해야 실제 분리가 확인됩니다.
SpaceTimePilot은 카메라와 동작을 따로 바꿀 수 있나: τ와 CamxTime
기존 비디오는 카메라와 동작이 함께 묶여 있다
한 대의 카메라로 찍은 영상에서는 카메라가 움직이는 동안 피사체도 움직입니다. 학습 모델은 두 변화를 동시에 보므로, 카메라만 옮기려 했는데 객체까지 움직이거나 동작 시간을 바꿨더니 시점이 흔들릴 수 있습니다.
재구성 기반 4D 방식은 관측한 장면의 일관성을 유지하는 데 유리하지만 보지 못한 영역을 채우기 어렵습니다. 생성 모델은 누락 영역을 만들 수 있지만 입력에 없는 형상까지 추정하므로 정확한 3D 복원과는 목적이 다릅니다. SpaceTimePilot은 후자에 카메라와 시간 제어를 명시적으로 넣는 접근입니다.
Animation Time τ가 참조할 순간을 지정한다
모델은 일반적인 프레임 순서와 별도로 Animation Time 임베딩 τ를 사용합니다. 출력의 다섯 번째 프레임이 원본 동작의 어느 시점을 참조할지 지정하는 값입니다. 같은 τ를 이어 쓰면 동작을 멈춘 듯한 결과를, τ의 진행 간격을 바꾸면 느리게 재생하거나 순서를 되돌리는 제어를 표현할 수 있습니다.
카메라 조건은 Plücker 좌표 기반 레이 정보로 특징 맵에 전달됩니다. 시간 조건과 카메라 조건을 별도 입력으로 두기 때문에 다음 세 상황을 나눠 시험할 수 있습니다.
- 동작 시간은 고정하고 카메라만 이동
- 카메라는 고정하고 동작 시간만 변경
- 두 궤적을 서로 다른 속도로 함께 변경
이 세 테스트를 모두 통과해야 “시공간이 분리됐다”는 주장을 확인할 수 있습니다. 한 가지 카메라 이동 예시만으로는 충분하지 않습니다.
Temporal-Warping과 CamxTime이 빈 데이터를 메운다
같은 동작을 여러 카메라에서 동기화해 찍은 데이터는 구하기 어렵습니다. 원문은 정적인 멀티뷰 자료에 가상의 시간차를 부여하는 Temporal-Warping 학습과, 카메라 궤적과 객체 동작을 독립적으로 구성한 합성 데이터셋 CamxTime을 해결책으로 설명합니다.
Temporal-Warping은 시점 변화와 시간 변화의 관계를 모델에 노출하고, CamxTime은 현실 영상에서 드물게 나타나는 조합까지 학습 범위에 넣습니다. 두 데이터는 서로 보완하지만 합성 장면에서 잘 분리된 제어가 실제 단안 영상에서도 같은 품질로 이어지는지는 따로 확인해야 합니다.
평가에서는 생성 영상의 자연스러움뿐 아니라 지정한 카메라 궤적을 따르는지, 같은 τ에서 물체 상태가 유지되는지, 시야 밖 영역이 카메라 이동 뒤 일관되게 나타나는지를 분리해 보는 것이 좋습니다.
자유로운 연출과 정확한 복원은 다르다
단안 영상에는 피사체 뒤쪽과 가려진 공간 정보가 없습니다. 모델이 새 시점을 만들 때 그 영역은 관측 복원이 아니라 생성된 추정입니다. 여러 객체가 서로 가리는 장면이나 군중처럼 깊이 관계가 복잡한 경우에는 형상 변화와 시간적 불일치가 남을 수 있습니다.
CamxTime 의존도에는 합성 데이터와 실제 촬영 영상 사이의 간극도 따릅니다. 또한 비디오 확산 샘플링은 실시간 인터랙티브 렌더링과 다른 비용 구조를 가집니다. 특정 객체 하나만 되감고 나머지는 그대로 두는 객체별 시간 제어도 이 글에서 설명한 공간, 시간 분리와는 별도 과제입니다.
따라서 SpaceTimePilot은 촬영본의 카메라를 사후에 정확히 복원하는 도구라기보다, 한 영상에서 동작 시간과 새로운 시점을 조합해 후보 연출을 만드는 방법으로 이해하는 편이 안전합니다.
제어 분리는 3×3 교차표로 시험한다
camera path 하나와 τ schedule 하나만 보면 모델이 두 조건을 실제로 구분했는지 알 수 없습니다. 고정, 직선, 회전 camera와 정방향, 정지, 역방향 τ를 교차해 아홉 조합을 만듭니다. 각 조합에서 camera trajectory 오차와 object state 오차를 따로 기록합니다.
| 조건을 바꿀 때 | 유지돼야 할 것 | 흔한 실패 |
|---|---|---|
| camera만 변경 | 동일 τ의 pose, 형태 | viewpoint 변화에 동작도 변함 |
| τ만 변경 | camera ray와 배경 시점 | 속도 조절 때 시점이 흔들림 |
| 둘 다 변경 | 각 조건의 독립 목표 | 한 조건이 다른 조건을 덮음 |
| τ 고정 | object state | 정지 구간에서 미세 움직임 |
같은 τ를 여러 출력 frame에 반복했을 때 texture와 pose가 유지되는지, τ를 되돌렸을 때 원래 state로 돌아오는지도 봅니다. 단순한 frame 유사도뿐 아니라 keypoint와 occlusion 순서를 비교하면 동작이 실제로 멈췄는지 확인하기 쉽습니다.
새 시점은 관측 영역과 생성 영역을 표시한다
카메라가 입력 범위 밖으로 이동하면 피사체 뒤와 가려진 배경은 ground truth가 없습니다. 결과 frame에서 입력으로 관측된 영역과 새로 생성된 영역을 구분하고, 둘의 일관성을 따로 평가합니다. 관측 영역의 texture까지 바뀐다면 camera control보다 appearance preservation이 먼저 실패한 것입니다.
여러 객체가 교차하는 장면에서는 depth 순서와 identity가 유지되는지 봅니다. camera가 돌아갈 때 앞뒤 관계가 뒤집히거나 가려졌다 나온 object의 형태가 바뀌면 3D consistency가 약한 것입니다. 창작용 후보 연출에서는 허용할 수 있어도 reconstruction이나 측정 용도로는 사용할 수 없습니다.
CamxTime의 합성 이득과 Domain Gap을 분리한다
합성 data로 잘 분리된 camera, time 조합을 배울 수 있지만 실제 video의 blur, rolling shutter, 복잡한 조명에서는 다르게 작동할 수 있습니다. CamxTime을 뺀 조건과 넣은 조건을 합성, 실제 test set에서 각각 비교합니다. 합성 점수만 오르고 실제 입력이 그대로라면 data gap이 남습니다.
추론 비용은 video diffusion step, 출력 frame 수, camera path 길이에 따라 기록합니다. 짧은 sample의 제어 성공이 interactive 속도를 뜻하지 않으므로 목표 workflow에서 한 수정마다 기다리는 시간을 측정합니다. SpaceTimePilot의 선택 기준은 자유로운 demo가 아니라 요청한 camera와 τ가 서로 간섭하지 않고, 새로 생성한 영역이 허용 가능한 범위에서 일관되며, 제작 시간 예산을 지키는가입니다.
편집 반복에서는 고정 조건이 보존되는지 본다
첫 결과에서 camera path만 수정했는데 object motion과 배경 texture까지 바뀌면 사용자는 승인한 요소를 다시 검수해야 합니다. 기준 output을 정하고 τ만 바꾼 결과, camera만 바꾼 결과를 나란히 놓아 변경 대상 밖의 차이를 측정합니다. 한 번의 성공보다 여러 번 수정했을 때 고정 조건이 유지되는지가 실제 제작 효율을 좌우합니다.
조건이 충돌하는 입력도 필요합니다. camera가 빠르게 회전하는 동안 τ를 정지시키거나, object가 camera 반대 방향으로 빠르게 움직이도록 설정해 한 조건이 다른 조건을 압도하는지 봅니다. 실패하면 camera 속도와 τ 변화량에 허용 범위를 정하거나 복잡한 조합을 여러 구간으로 나눠 생성해야 합니다.
최종 delivery에서는 입력에 있던 영역과 새로 hallucinate된 영역, 사용한 camera, τ schedule을 함께 보관합니다. 이후 결과가 사실적 복원인지 창작된 view인지 설명할 수 있고, 같은 조건을 다시 실행할 때 drift를 비교할 기준도 생깁니다.
함께 읽으면 이해가 이어지는 글
- Darknet ISEG Layer는 무엇을 학습하나: 픽셀 클래스와 인스턴스 임베딩 해설 — Darknet의 ISEG layer가 truth mask를 읽어 클래스 delta와 인스턴스 embedding delta를 만드는 과정을 배열 인덱스와 함께 추적합니다.
- CodeGraph가 grep보다 나을 때: 함수 영향 범위와 오래된 그래프를 구분하는 법 — CodeGraph가 AST 관계, 임베딩, 그래프 순회를 결합해 함수 영향 범위를 찾는 원리를 설명하고, 동적 호출, 인덱스 지연, 커스텀 파서 때문에 놓칠 수 있는 경계를 정리합니다.
- GraphRAG가 필요한 질문은 무엇인가: 벡터 RAG와 비용, 평가 비교 — GraphRAG의 엔티티, 관계 추출, 커뮤니티 군집과 요약, 로컬, 글로벌 검색을 벡터 RAG와 비교하고 인덱싱 비용, 근거, 갱신, 평가 기준을 정리합니다.
자주 묻는 질문
Animation Time τ는 일반 frame 번호와 같은가요?
출력 frame이 원본 동작의 어느 순간을 참조할지 지정하는 별도 조건으로, 같은 값을 반복하거나 순서를 바꿔 정지, 속도 조절, 역방향을 표현합니다.
새 camera 시점은 실제 3D 복원인가요?
단안 입력에 보이지 않은 면은 모델이 생성한 추정이므로 측정 가능한 정확한 3D reconstruction과 구분해야 합니다.
동작과 camera가 정말 분리됐는지는 어떻게 확인하나요?
시간만 변경, camera만 변경, 둘을 서로 다른 속도로 변경한 세 조건에서 지정 궤적과 객체 상태를 각각 측정해야 합니다.
←→ 키와 좌우 스와이프를 지원합니다. 읽던 페이지는 이 기기에 저장됩니다.