alt_start=8: 앞 8 layer within-image, 뒤 16 layer cross-view alternatingVGGRPO LGM backbone 장기 교체 후보 (plan-da3_backbone_migration.md)인 DA3의 출력 스키마 / 인코더 hook point / cross-view alignment 메커니즘을 파악. 우리 파이프라인 (Wan VAE latent → Conv3d connector → backbone → phase-B loss)의 어느 부분을 어떻게 재구성해야 하는지 결정 근거 수집.
소스: arxiv 2511.10647, 프로젝트 페이지, ByteDance-Seed GitHub, HuggingFace.
DINOv2 vitl 기반, Patch 14, base resolution 504×504. 24 blocks를 두 그룹으로 분할:
Ls 블록 (layer 0~7): within-image self-attention onlyLg 블록 (layer 8~23): alternating cross-view ↔ within-view attentionLs:Lg = 2:1, i.e., alt_start=8Dual-DPT 헤드: shared reassembly modules + 두 fusion branch (depth / ray) + 별도 output layer. Camera head D_C: per-view single camera token에서 9-DoF 예측 (FOV 2 + quat 4 + trans 3), 전체 compute의 ~0.1% 추가.
"Input-adaptive cross-view self-attention" via token rearrangement. 모든 patch token + camera token이 같이 attention에 참여. 학습 시 view 수 [2, 18] uniform sampling.
| Model | Params | License | HF id | 우리 파이프라인 적합성 |
|---|---|---|---|---|
| DA3METRIC-LARGE | 0.35B | Apache 2.0 | depth-anything/DA3METRIC-LARGE | 최적 (metric depth + 상업 OK) |
| DA3-LARGE-1.1 | 0.35B | CC BY-NC 4.0 | depth-anything/DA3-LARGE-1.1 | 연구용 OK, 상업 불가 |
| DA3-BASE | 0.12B | Apache 2.0 | depth-anything/DA3-BASE | 경량화 필요 시 |
| DA3-SMALL | 0.08B | Apache 2.0 | depth-anything/DA3-SMALL | 실험용 빠른 iteration |
| DA3NESTED-GIANT-LARGE-1.1 | 1.40B | CC BY-NC 4.0 | — | 과도하게 큼 |
| 항목 | Any4D | DA3 | 파이프라인 영향 |
|---|---|---|---|
| Cross-view consistency | ❌ monocular | ✅ 인코더 내장 | per-view (s,b) alignment 제거 |
| Depth output | scale ambiguous per-frame | metric depth 직접 | LS fit 불필요, GT L1 직접 |
| Ray output | ray_directions per-pixel | ray map (origin 3 + dir 3) | GT ray 그대로 supervise |
| Pose | quat + trans (ref view 0) | quat + trans + FOV | FOV는 GT intrinsic에서 계산 |
| Scene flow | ✅ | ❌ | DA3 전환 시 drop 또는 외부 RAFT |
| Encoder | DINOv2-L (frozen + LoRA) | DINOv2 vitl (같은 family) | stitch search 로직 재사용 |
| 입력 해상도 | 294×518 | 504×504 (base) | 전처리 변경 필요 |
| 학습 view 수 | typically 2 | uniform [2, 18] | 우리 3-cam 셋업과 잘 맞음 |
같은 DINOv2 family라 Conv3d → layer hidden ridge regression이 그대로 동작. DA3 within-image regime (layer 0~7)에서 stitch 후보를 탐색하면 된다. Any4D best=7 대비 DA3 best=6 (실측 완료). Connector → backbone 인터페이스만 view-list 방식으로 변경.
Phase-B loss가 단순해진다: per-view alignment 통째 제거, depth는 metric GT와 직접 L1, ray는 intrinsic GT, pose는 quat + trans (+ FOV), scene_flow는 drop. supervision signal 설계가 훨씬 깔끔해짐.
DA3 조사 → connector 스케치 → stitch search 실행 → phase-B loss 설계 → train shell 작성. 상세 내용은 260501-da3_prototype_setup.html 참조.
클린 RoboCasa 데이터 도착 + DA3 트랙 트리거 조건 충족 후. preprocessing: HDF5 경로 교체 + preprocess_robocasa_cam.py 재실행. 입력 해상도를 294×518 → 504×504로 변경 시 K 스케일도 함께 조정.
연구 단계: DA3-LARGE-1.1 (CC BY-NC 4.0) OK. 상용화 시 DA3METRIC-LARGE / DA3-BASE / DA3-SMALL (Apache 2.0) 라인 선택. 지금은 연구용이므로 DA3-LARGE-1.1로 stitch search 진행.