생성→3D lift→viser 파이프라인 + 프레임별 .ply (policy eval과 분리된 depth 생성 경로).X-WAM은 멀티뷰 RGB + state로부터 미래 4D 관측(video+depth)을 joint 생성하는 모델이다. 지금까지 RoboCasa policy SR(75%대)만 검증했고, "생성된 RGB와 depth가 실제로 기하적으로 3D-consistent한가"는 보지 않았다.
이를 눈으로 확인하려면: 한 장면을 조건으로 RGB+depth를 생성 → 카메라 K/extrinsic으로 3D space에 unproject → 3뷰를 world 좌표계로 fuse → 인터랙티브 뷰어로 확인. policy eval 경로(policy_server.py)는 run_depth=False라 depth를 쓰지 않아, 별도 생성+lift 파이프라인이 필요했다.
데이터 소스. config 기본 경로·Delta_action 버전은 depth가 없거나 OOD. 최종으로 robomimic HDF5 v0.1_216x384_depth_sealed/.../CloseDoubleDoor 사용 — 뷰가 X-WAM 학습 뷰(robot0_agentview_left/right, eye_in_hand)와 정확히 일치, metric depth(z-buffer) + cam_cache에 intrinsic K·frame별 extrinsic T(cam→world)·near/far 포함.
생성 (tmp/gen_xwam_rgbd.py, xwam env, 로그인 1-GPU): 첫 프레임 RGB 3뷰 + proprio + prompt 조건, run_depth=True / early_stop=False(video 50 step, action 10 step, cfg 2.0). VAE decode 후 뷰별 RGB/depth 분리 저장.
3D lift + viser (tmp/viz_viser.py, robocasa env): 256×320 생성 뷰용 K를 resize+centercrop affine 체인으로 보정, z-buffer→metric(near/(1−d·(1−near/far))), 생성 depth는 프레임0(조건=GT 재현)에서 per-view 선형 fit으로 scale-align, K+T로 world unproject 후 3뷰 fuse. source/뷰/frame 토글 + play.
| 산출물 | 내용 |
|---|---|
tmp/xwam_3d/sample.npz | 생성/GT RGB·depth, K, extrinsic T, near/far |
tmp/xwam_3d/ply/{gen,gt}_frame00–08.ply | 프레임별 fused 포인트클라우드 (18개) |
viser *:8067 | 인터랙티브 3D 뷰어 (상시 구동) |
X-WAM의 4D joint 생성이 2D PSNR 너머로 3D-consistent함을 검증했고, policy eval과 분리된 생성→3D 파이프라인을 확보했다.