free-geometry-eval
Free Geometry: Refining 3D Reconstruction from Longer Versions of Itself — Dai et al. (2026) (arXiv:2604.14048, 2026)
What this evaluates
Evaluates test-time self-supervised adaptation for feed-forward 3D reconstruction models. It probes the model's ability to refine camera pose estimation and 3D geometry reconstruction on unseen scenes by enforcing cross-view feature consistency without ground-truth labels.
Datasets
- ETH3D — total ?; splits: test (-1)
- ScanNet++ — total ?; splits: test (-1)
- 7-Scenes — total ?; splits: test (-1)
- HiROOM — total ?; splits: test (-1)
Metrics
AUC@3(primary) — range: [0, 1]- Area under the cumulative error curve for rotation (degrees) and translation (cm) errors, computed up to a 3-degree/3-cm threshold. Higher is better.
F1-score(primary) — range: [0, 1]- F-score computed at standard distance thresholds between the predicted point cloud (aligned to ground truth via evo) and the ground truth point cloud. Higher is better.
Input / output format
Input: N randomly sampled RGB views (typically 4, 8, 16, or 32) from a test scene sequence.
Output: Predicted camera poses and depth maps for each view; a reconstructed point cloud aligned to ground truth.
Scoring recipe
def compute_auc3(errors_deg, errors_cm, threshold=3.0):
cum_errors = np.sort(np.concatenate([errors_deg, errors_cm]))
auc = np.trapz(np.arange(len(cum_errors)+1)/len(cum_errors), cum_errors)
return min(auc / threshold, 1.0)
def compute_f1(pred_cloud, gt_cloud):
aligned = evo.align(pred_cloud, gt_cloud)
dists = cdist(aligned, gt_cloud)
tp = np.sum(dists.min(axis=1) < threshold)
fp = len(aligned) - tp
fn = len(gt_cloud) - tp
return 2*tp / (2*tp + fp + fn)
# Average over 3 fixed seeds (43, 44, 45) per scene
Common pitfalls
- View sampling is random but fixed to 3 seeds (43, 44, 45) per scene; results are averaged over these seeds, not per-scene then averaged, which can bias variance.
- Point cloud alignment to ground truth using evo is mandatory before F1 computation; skipping alignment invalidates the metric.
- Test-time optimization uses only 5 epochs with dataset-specific learning rates, making direct comparison with standard zero-shot baselines sensitive to adaptation budget.
Evidence (verbatim from paper)
We report AUC at multiple thresholds (AUC@3, AUC@30) measuring the area under the cumulative error curve for rotation and translation errors. ... The resulting point cloud is aligned with ground truth by applying evo to assess the F-score at standard distance thresholds. Higher values indicate better performance for all metrics. All results are averaged over 3 random seeds.
Citation
@misc{dai2026freegeometry,
title={Free Geometry: Refining 3D Reconstruction from Longer Versions of Itself},
author={Dai et al. (2026)},
year={2026},
note={arXiv:2604.14048}
}
- arXiv: 2604.14048