Free Geometry: Refining 3D Reconstruction from Longer Versions of Itself
Test-time self-evolution for feed-forward 3D reconstruction without 3D ground truth
Model Description
This repository provides a LoRA / PEFT adapter for Free-Geometry fine-tuning on top of a pretrained base model (VGGT and DepthAnything3).
This is not a full standalone model checkpoint. The repository only contains the adapter weights and configuration needed to apply the fine-tuned update to the original base model.
Use this adapter if you want the Free-Geo fine-tuned behavior while keeping the original base model separate.
What Is In This Repository?
This repository is expected to contain:
adapter_config.jsonadapter_model.safetensorsREADME.md
These files define the PEFT adapter and tell PEFT how to attach the LoRA weights to the base model.
Base Model
This adapter was trained on top of:
Training Setup
This adapter corresponds to:
- Backbone:
DA3orVGGT - Method:
Free-Geo - Dataset:
eth3d,7scenes,hiroom, orscannetpp(all come from depth-anything/DA3-BENCH
Inference With PEFT
This repository contains PEFT/LoRA adapter weights. The adapters are not standalone models, so first load the DA3 base model, then attach one adapter from this repo.
Example using the DA3 + Free-Geo HiRoom adapter:
import torch
from peft import PeftModel
from depth_anything_3.api import DepthAnything3
base_model_id = "depth-anything/DA3-GIANT-1.1"
adapter_repo_id = "PeterDAI/Free-Geometry"
adapter_subfolder = "DA3+Free-Geo/hiroom"
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = DepthAnything3.from_pretrained(base_model_id).to(device)
model.model.backbone.pretrained = PeftModel.from_pretrained(
model.model.backbone.pretrained,
adapter_repo_id,
subfolder=adapter_subfolder,
is_trainable=False,
)
model.eval()
prediction = model.inference(
["image1.jpg", "image2.jpg"],
export_dir="output/da3_free_geometry_hiroom",
export_format="mini_npz",
)
print(prediction.depth.shape)
To use another adapter from this repo, keep adapter_repo_id the same and change only adapter_subfolder, for example:
adapter_subfolder = "DA3+Free-Geo/eth3d"
Repository Variants
Free Geometry is designed for test-time adaptation, so you can find different model variants for each datasets.
DA3-Free-Geo-eth3dDA3-Free-Geo-7scenesDA3-Free-Geo-hiroomDA3-Free-Geo-scannetppVGGT-Free-Geo-eth3dVGGT-Free-Geo-7scenesVGGT-Free-Geo-hiroomVGGT-Free-Geo-scannetpp
Citation
If you use this model, please cite the corresponding project or paper:
@misc{dai2026freegeometryrefining3d,
title={Free Geometry: Refining 3D Reconstruction from Longer Versions of Itself},
author={Yuhang Dai and Xingyi Yang},
year={2026},
eprint={2604.14048},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.14048},
}
- Downloads last month
- -
Model tree for PeterDAI/Free-Geometry
Base model
depth-anything/DA3-GIANT-1.1