Index
2026-05-01 — Plan

LGM Backbone 장기 교체 계획: Any4D → DA3

VGGRPO | 재현 트랙(Any4D) vs 개선 트랙(DA3) 명시적 분리

TL;DR

2
분리된 트랙
1300
DA3 prototype 라인
보류
DA3 학습 실행

1 배경 / 목적

RoboCasa GT 학습 디버깅(analysis-alignment_normalization_breakdown)에서 Any4D monocular 모델의 구조적 한계가 명확해짐: frame마다 독립적으로 depth scale을 결정하는 monocular 특성상, per-view (s, b) LS fit이 frame마다 흔들린다. eye_in_hand에서 s=1.77~6.49 (3.7× 범위).

근본 문제: monocular backbone은 frame-level scale ambiguity가 본질적. 3 cam 동시 관측 + GT cross-view geometry라는 우리 셋업과 misaligned.

Depth Anything 3 (DA3)는 multi-view video를 네이티브 지원. 인코더 후반부에 cross-view alternating attention이 내장되어 있어, per-view alignment 없이 metric scale을 직접 학습한다.

2 작업 내용

이번 세션에서 내린 결정만 기록. 코드 변경은 없음 — 이유: Any4D 트랙 재현이 우선이고, backbone 교체는 사실상 Phase 2 재시작 비용이므로.

두 트랙의 명시적 분리

🔵 트랙 A: Any4D (논문 재현)

VGGRPO 논문 baseline과의 직접 비교 가능. 현재 RoboCasa GT 학습 진행 중 (job 483). 클린 데이터 도착 후 완주 목표.

🟢 트랙 B: DA3 (개선)

논문 baseline과의 차이를 "ablation 항목"으로 명시. prototype 셋업 완료 (260430). 학습은 트리거 조건 충족 후 시작.

DA3 전환 시 변경 범위

컴포넌트Any4DDA3변경 규모
Stitch layerLayer 7 (DROID/RoboCasa 동일)Layer 6 (best_layer.json)
Connectorlgm_connector_v2.pylgm_connector_da3.py중 (신규 파일)
Phase-B lossper-view (s,b) + scene_flowper-clip 1 scale, no scene_flow중 (신규 파일)
Train scripttrain_lgm_robocasa_v0.pytrain_lgm_robocasa_da3_v0.py중 (신규 파일)
입력 해상도294×518 (DINOv2 패치)504×504 (DA3 base)전처리 변경

3 결과

이번 세션은 결정 단계 — 정량 수치는 DA3 실제 학습 후 산출.

전환 트리거 조건 (명시적 기준)

트리거 1 (단기): 클린 데이터셋에서 학습해도 per-view scale 변동 잔존 → any4d viz에서 여전히 view간 pred 불일치 관찰 시 트리거 2 (중기): Phase 3 reward ablation에서 cross-view consistency 메트릭이 → DA3 baseline 대비 Any4D reward signal이 충분히 좋지 않다고 드러날 시 어느 한 트리거만 충족해도 DA3 트랙 학습 시작.
비용 확인: DA3 prototype (connector + stitch search + phase-B loss + train shell) 1300라인, 6시간 작업. "재시작" 비용 아님 — 작은 surgery.
보류 이유: 지금 DA3로 전환하면 논문 재현이 아닌 "변형/개선" 트랙. 재현 먼저 끝낸 뒤 변형이 정석.

4 Takeaway

Backbone 선택 = Supervision 설계 결정

LGM backbone 선택은 단순 정확도 문제가 아니라 supervision signal 설계 전체에 영향을 준다. monocular는 alignment를 끼고 가야 하고, multi-view는 alignment 없이 metric scale을 그대로 쓴다. 이 차이가 phase-B loss 구조, GT 사용 방식, 심지어 GRPO reward signal의 품질까지 달라지게 한다.

두 트랙을 명시적으로 분리해서 다루는 이유: 한 트랙의 결과를 다른 트랙에 적용하면 ablation이 오염된다. "Any4D로 학습했을 때 GRPO 성능"과 "DA3로 학습했을 때 GRPO 성능"은 독립 비교가 가능해야 한다.

5 Next Steps

단기 — Any4D 트랙 완주

클린 데이터셋 도착 → HDF5 경로 교체 → preprocessing 재실행 → 학습 재제출. 트리거 조건 관찰.

중기 — Phase 3 reward ablation

LGM 수렴 후 4D reward signal로 GRPO fine-tune. cross-view consistency 메트릭 측정. DA3 전환 트리거 2번 충족 여부 판단.

DA3 트랙 학습 시작 조건

1) 클린 데이터 확보, 2) stitch search 결과 확인 (이미 완료: best layer=6), 3) LoRA target 검증 (이미 완료: 25.27M trainable), 4) 트리거 조건 충족.

장기 — 수렴 비교

Any4D vs DA3, 동일 데이터/step/메트릭으로 비교. cross-view consistency (각 cam pred depth scale/shape 일관성) 정성 비교. GRPO reward signal 안정성 비교.