Index
2026-04-25 → 2026-04-30 — Progress

RoboCasa GT LGM 학습 파이프라인 구축 및 학습 시작

VGGRPO / LGM Phase 2 | 3-cam GT (시뮬, z-buffer) | PnPCounterToMicrowave 3000 demos

TL;DR

3000
학습 Demos
3
Cameras
147
Views/sample
4
GPU (DDP)
~4h
Preprocess (병렬)

1 배경 / 목적

VGGRPO Phase 2의 핵심은 LGM이 실제로 geometry를 학습하는지 검증하는 것이다. 기존 DROID v3 (pseudo-label) 학습은 Any4D output 자체에 의존하므로 supervision 신호가 약하다. DROID GT v0 (RealSense 2-cam)은 깊이 노이즈/홀이 많아 깨끗한 기준선을 제공하지 못한다.

기존 한계: DROID pseudo-label → supervision이 Any4D 출력 품질에 bound. RealSense GT → depth 홀/노이즈로 인해 LGM이 geometry를 배우는지 artifact를 배우는지 불분명.

RoboCasa v0.1 시뮬 데이터는 z-buffer GT depth라 노이즈 0, 3 cam (agentview_left/right + eye_in_hand), 결정론적 pose → LGM이 실제로 geometry를 학습하는지 검증할 수 있는 가장 깨끗한 데이터셋. Camera convention 검증 완료 (별도 카드) 후 본격 파이프라인 구축.

2 작업 내용

1. Convention 검증 (사전 완료)

5-mode 비교로 stored 경로 채택 확정 (cross-camera NN 1.41cm, inherent geometry noise로 결론). 별도 분석 카드 참조.

2. Cam metadata preprocessing (scripts/preprocess_robocasa_cam.py)

HDF5 demo 1개당 cam metadata를 .npz로 캐시. env 1번 reset + cam_configs 주입 + per-frame state replay → get_camera_extrinsic_matrix로 T 추출.

캐시 내용 (demo당 .npz): - near, far (scalar) - K × 3 cameras (3×3 intrinsic) - T × 3 cameras × N_frames (4×4 extrinsic, cam→world) 성능: 3 demo 기준 ~3.3s/demo (env init 60s 분리 후) skip_existing=True → idempotent, 슬라이스 병렬 안전 캐시 경로: <hdf5_dir>/cam_cache/<demo>.npz (~300 KB/demo)

3. Dataset (src/data/robocasa_dataset.py)

RoboCasaDataset(hdf5_paths, num_frames=49, vae_size=(336,592), any4d_size=(294,518)) - 3 cam list 반환: videos / any4d / poses / depths / K_native - depth: native 216×384 유지 (loss 시점에 bilinear → Any4D pred 해상도) - batch_size=1 + custom robocasa_collate (list 통과) - reference view = agentview_left (view 0) - 147 views = 49 frames × 3 cams

4. Training (scripts/train_lgm_robocasa_v0.py + .sh)

DROID gt_v0의 helper를 그대로 import (VAE, LoRA r=32, connector→DINO, any4d tail, pseudo-label, depth align, DDP setup, viz). 주요 신규 구현:

신규 함수: - vae_encode_views(N): N-cam arbitrary 입력 지원 - gt_poses_4x4_to_any4d_format: cam→world 4×4 → view-0-relative quat+trans (scale 정렬: Any4D translation norm 매개) - ForwardModuleN(*z_list): DDP 호환 unpacked args 학습 설정: - 147 views (49 frames × 3 cams) - reference = view 0 = agentview_left - LoRA r=32, 학습 인프라: torchrun + auto-resume + sbmr 패턴

5. SLURM 자동화 (4-way 병렬 preprocess → train dependency)

# 260425 최초 제출 (preprocess 병렬 → train afterok dependency) 56270 [0..750 demos] ─┐ 56271 [750..1500] ├─ afterok ─► 56274 (train, 4 GPU DDP) 56272 [1500..2250] │ 56273 [2250..3000] ─┘ 순차 전처리 ~16h → 4-way 병렬 ~4h # 260429-30 train job 재시도 이력 (preprocess 완료 후) 62271 CANCELLED by 10010 62656 PREEMPTED (3h49m) 64772 CANCELLED by 0 (1h10m) 483 COMPLETED (2min, smoke test) 483 RUNNING ← 현재 진행 중 (5h57m as of 260430, 4GPU core-on-sub)

3 결과 (제출/검증 시점)

항목결과비고
단일 demo 캐시 검증mm 단위 일치cam_pos [1.3218, -1.9076, 1.82] — viz stored mode와 일치
K 행렬 검증분석식 완전 일치agentview fy=187.06, eye_in_hand fy=140.75
학습 import smoke testOKtrain_lgm_robocasa_v0.py 모듈 로드, main fn 존재
Preprocess (4-way 병렬)완료3000 demos × ~3.3s ÷ 4 = ~4h
Train job 483RUNNING5h57m (260430 기준), 4 GPU core-on-sub, 선점 없이 안정
재시도 이력: job 62656 (PREEMPTED 3h49m), 64772 (CANCELLED 1h10m) 등 여러 차례 중단 후 job 483이 현재 5h57m 안정 RUNNING. 선점/취소 반복이 있었으나 auto-resume 로직으로 최종 학습 진행 중.

학습 결과 수치 (step별 loss, viz)는 job 완료 후 별도 카드로 보고 예정.

4 Takeaway

LGM geometry 학습 검증 기반 마련

이제 LGM 학습 데이터 트랙이 3종이 되었다: DROID pseudo-label (대규모, 신호 약함) / DROID GT RealSense 2-cam (실제, 노이즈 있음) / RoboCasa GT 시뮬 3-cam (노이즈 없음, 도메인 갭 있음). RoboCasa 학습이 수렴하면 connector + LoRA가 실제로 geometry를 학습하는지 가장 명확하게 검증할 수 있다.

또한 robocasa convention 검증 결과(viz_robocasa_alignment.py, stored 경로, K 행렬 공식)는 DreamData 등 robocasa 기반 다른 프로젝트에 직접 재사용 가능하다.

5 Next Steps

학습 수렴 확인 (우선순위 높음)

job 483 완료 후 step 100 viz로 LGM pred depth vs Any4D target depth 정합성 확인. depth loss curve와 pose loss curve 확인. 발산 없이 수렴하면 성공 기준 달성.

task 확장 (수렴 확인 후)

PnPCounterToMicrowave 1-task 파일럿 성공 시, PnPCounter family 8개 task로 확장. 다양한 scene geometry로 LGM 일반화 능력 테스트.

DROID GT vs RoboCasa GT 비교 평가

같은 step 수에서 depth correlation, pose 정확도 비교. 시뮬 노이즈-없는 신호가 실제로 LGM 학습 품질을 높이는지 정량 검증.

시뮬 → 실제 zero-shot 검증 (장기)

RoboCasa로 학습된 LGM을 DROID/EgoExo4D에 적용해 zero-shot depth 추정 동작 확인. domain gap이 geometry 학습 자체를 방해하는지 확인.