--- datasets: - depth-anything/DA3-BENCH base_model: - zoooooooyuan/VGGT-1B - depth-anything/DA3-GIANT-1.1 pipeline_tag: image-to-3d library_name: peft tags: - 3D-reconstruction - test-time-adaptation - self-supervised-learning - depth-estimation - 3d-vision - peft ---
# 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.json` - `adapter_model.safetensors` - `README.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: - [zoooooooyuan/VGGT-1B](https://huggingface.co/zoooooooyuan/VGGT-1B) - [depth-anything/DA3-GIANT-1.1](https://huggingface.co/depth-anything/DA3-GIANT-1.1) # Training Setup This adapter corresponds to: - Backbone: `DA3` or `VGGT` - Method: `Free-Geo` - Dataset: `eth3d`, `7scenes`, `hiroom`, or `scannetpp` (all come from [depth-anything/DA3-BENCH](https://huggingface.co/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: ```python 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-eth3d` - `DA3-Free-Geo-7scenes` - `DA3-Free-Geo-hiroom` - `DA3-Free-Geo-scannetpp` - `VGGT-Free-Geo-eth3d` - `VGGT-Free-Geo-7scenes` - `VGGT-Free-Geo-hiroom` - `VGGT-Free-Geo-scannetpp` # Citation If you use this model, please cite the corresponding project or paper: ```bibtex @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}, } ```