Index
2026-04-17 — Analysis

HCPT Point Map 스케일 분포 분석

EgoX2_exp2 | pt_max_abs=100m 필터 기준 검증 및 데이터 확정

TL;DR

10.98m
중앙값
3,660
최종 clips
101
scale drop
138
PT 누락

1 배경 / 목적

HCPT 학습 manifest 빌드 시 --pt_max_abs=100 필터로 VGGT/ViPE reconstruction 실패 clip을 제거하고 있다. 이 필터가 실제로 얼마나 탈락시키는지, 전체 point map scale 분포가 어떤지 파악하여 필터 기준의 적절성을 수치로 검증한다.

문제 배경: p99=1543m는 정상 이상치가 아니라 VGGT/ViPE reconstruction 실패 clip의 군집. 상위 8개가 2300~2600m 범위에 집중 — 한 실패 모드가 복제된 형태로 나타남. NaN/Inf 없이 100% valid points이라 percentile 방식으로는 걸러낼 수 없음.

2 작업 내용

scripts/build_hcpt_manifest.py의 필터링 파이프라인을 재현하여 각 단계별 탈락 수를 집계하고, PT가 존재하는 3761개 clip의 norm_params.json에서 max(|min|, |max|) 값의 분포를 분석했다.

per-clip norm 유지 결정 근거

HCPT는 prior+gt가 같은 scene 좌표계에 있어 within-clip consistency만 있으면 충분하다. Fixed global norm은 cooking 장면(~3m)과 basketball 장면(~30m)의 VAE dynamic range를 다르게 쓰게 되어 오히려 불리. percentile 재계산도 시도했으나 reconstruction 실패 clip은 100% valid points이라 percentile로 해결 불가.

3 결과

필터링 파이프라인 단계별

단계탈락 수남은 clip비율
vipe 원본3,899100%
RGB/prior 누락03,899100%
PT 파일 누락138 (3.5%)3,76196.5%
100m 스케일 필터101 (2.7%)3,66093.9%
최종 (train/val)3,660— (3318/342)

max|xyz| 분포 통계 (3761개 기준)

1.74m
min
10.98m
중앙값(P50)
49.39m
mean
2600.63m
max
239.58m
std

Percentile

Percentile비고
P12.67m
P105.23m
P257.45m
P5010.98m중앙값
P7524.84m
P9039.27m
P9559.90m100m 기준 이내
P991,555.96mreconstruction 실패 군집

구간별 분포 (총 3761개)

2–5m
334 (8.9%)
5–10m
1364 (36.3%)
10–20m
903 (24.0%)
20–50m
907 (24.1%)
50–100m
149 (4.0%)
100–500m
32 (0.8%)
500m+
69 (1.9%) — 실패
93%가 50m 이내: 실내 근거리 장면이 대다수. 100m 기준은 정상 clip 97.3% 보존하면서 outlier만 제거.
1000m+ 63개 (1.7%): P99=1556m에서 확인되는 완전한 reconstruction 실패 clip 군집. NaN/Inf 없이 valid values이라 percentile 필터로 제거 불가 — max|xyz| threshold가 유일한 방법.

4 Takeaway

pt_max_abs=100m 기준 검증 완료

중앙값 ~11m, 93%가 50m 이내라는 분포를 감안하면 100m는 정상 데이터를 거의 건드리지 않으면서 (P95=60m 이내) reconstruction 실패 outlier를 효과적으로 제거한다. 50m로 기준을 내리면 149개(4.0%) 추가 제거 — 일부 정상 야외 장면이 포함될 위험. 100m가 균형점.

per-clip norm 유지 결정도 이 분포에서 합리화된다: cooking(3m) ↔ basketball(30m) 간 10배 차이가 있어 global norm은 어느 쪽에도 최적이 아님. clip별 정규화가 VAE latent space를 최대한 균등하게 활용.

5 Next Steps

PT 누락 138개 원인 파악

ViPE extraction 실패인지 아니면 clip 자체의 문제인지 확인 필요. 현재는 drop하고 진행.

50–100m 구간 149개 시각 검증

이 구간이 실제로 품질이 양호한지 확인 후 threshold를 50m로 낮출지 결정. 현재 학습에는 포함.

Ego PT 90도 회전 이슈 해결 후 재생성 시 분포 변화 확인

ego PT orientation 보정 후 max|xyz| 분포 변동 예상 — 재필터링 필요 여부 확인.