vulus98 commited on
Commit
0533f66
Β·
verified Β·
1 Parent(s): 9be3c77

Initial release: PaGeR-normals (surface normals only)

Browse files
Files changed (3) hide show
  1. README.md +85 -0
  2. config.yaml +7 -0
  3. model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - surface-normals
5
+ - normal-estimation
6
+ - panoramic-images
7
+ - equirectangular
8
+ - high-resolution
9
+ - computer-vision
10
+ - in-the-wild
11
+ - zero-shot
12
+ pipeline_tag: image-to-image
13
+ ---
14
+
15
+ <h1 align="center"> πŸ“Ÿ PaGeR-Normals Model Card</h1>
16
+
17
+ <p align="center">
18
+ <a title="Github" href="https://github.com/prs-eth/PaGeR" target="_blank" rel="noopener noreferrer" style="display: inline-block;">
19
+ <img src="https://img.shields.io/github/stars/prs-eth/PaGeR?label=GitHub%20%E2%98%85&logo=github&color=C8C" alt="Github">
20
+ </a>
21
+ <a title="Website" href="https://prs-eth.github.io/PaGeR/" target="_blank" rel="noopener noreferrer" style="display: inline-block;">
22
+ <img src="https://img.shields.io/badge/%E2%99%A5%20Project%20-Website-blue" alt="Website">
23
+ </a>
24
+ <a title="arXiv" href="https://arxiv.org/abs/TBD" target="_blank" rel="noopener noreferrer" style="display: inline-block;">
25
+ <img src="https://img.shields.io/badge/%F0%9F%93%84%20Read%20-Paper-AF3436" alt="arXiv">
26
+ </a>
27
+ <a title="Hugging Face" href="https://huggingface.co/spaces/prs-eth/PaGeR" target="_blank" rel="noopener noreferrer" style="display: inline-block;">
28
+ <img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-FFD21E" alt="Hugging Face Spaces">
29
+ </a>
30
+ <a title="PanoInfinigen dataset" href="https://huggingface.co/datasets/prs-eth/PanoInfinigen" target="_blank" rel="noopener noreferrer" style="display: inline-block;">
31
+ <img src="https://img.shields.io/badge/Dataset-PanoInfinigen-7e57c2" alt="PanoInfinigen dataset">
32
+ </a>
33
+ <a title="License" href="LICENSE" target="_blank" rel="noopener noreferrer" style="display: inline-block;">
34
+ <img src="https://img.shields.io/badge/License-Apache%202.0-green" alt="License">
35
+ </a>
36
+ </p>
37
+
38
+ `PaGeR-Normals` is the **normals-only** variant of PaGeR released with our paper:
39
+
40
+ - **Paper:** *Unified Panoramic Geometry Estimation via Multi-View Foundation Models* β€” [arXiv (TBD)](https://arxiv.org/abs/TBD)
41
+
42
+ From a single equirectangular (ERP) panorama, it produces a **dense surface-normal map** (unit vectors in the panorama's world frame) in a single forward pass. If you want depth, metric scale, and sky masking from the same model, use the unified [`prs-eth/PaGeR`](https://huggingface.co/prs-eth/PaGeR) checkpoint instead.
43
+
44
+ You can also browse the rest of our [PaGeR HF collection](https://huggingface.co/collections/prs-eth/pager) or try the [interactive demo](https://huggingface.co/spaces/prs-eth/PaGeR).
45
+
46
+ ## Model Details
47
+
48
+ - **Developed by:** [Vukasin Bozic](https://vulus98.github.io/), [Isidora Slavkovic](https://linkedin.com/in/isidora-slavkovic), [Dominik Narnhofer](https://scholar.google.com/citations?user=tFx8AhkAAAAJ&hl=en), [Nando Metzger](https://nandometzger.github.io/), [Denis Rozumny](https://rozumden.github.io/), [Konrad Schindler](https://scholar.google.com/citations?user=FZuNgqIAAAAJ), [Nikolai Kalischek](https://scholar.google.com/citations?user=XwzlnZoAAAAJ&hl=de).
49
+ - **Model type:** Feed-forward, multi-view foundation-model adaptation for single-image panoramic surface-normal estimation.
50
+ - **Backbone:** [Depth Anything 3](https://github.com/ByteDance-Seed/Depth-Anything-3) (`da3-giant`, ViT-Giant), repurposed for cubemap-based multi-view processing of the panorama.
51
+ - **Inputs:** A single ERP panorama, internally projected onto a 6-face cubemap at 504 px per face.
52
+ - **Output:** Dense surface-normal map at panoramic resolution, returned as unit vectors in the panorama's world frame.
53
+ - **Resolution:** Designed for high-resolution ERP inputs, up to 3K.
54
+ - **License:** [Apache License 2.0](LICENSE). The DA3 backbone weights are released under their own license; please refer to the [Depth Anything 3 repository](https://github.com/ByteDance-Seed/Depth-Anything-3) for those terms.
55
+ - **Resources for more information:** [Project Website](https://prs-eth.github.io/PaGeR/), [Paper](https://arxiv.org/abs/TBD), [Code](https://github.com/prs-eth/PaGeR).
56
+
57
+ ### Other released checkpoints
58
+
59
+ | Checkpoint | Hugging Face id | Depth | Normals | Sky |
60
+ |---|---|---|---|---|
61
+ | PaGeR *(unified, recommended)* | [`prs-eth/PaGeR`](https://huggingface.co/prs-eth/PaGeR) | βœ… | βœ… | βœ… |
62
+ | PaGeR-Metric-Depth | [`prs-eth/PaGeR-metric-depth`](https://huggingface.co/prs-eth/PaGeR-metric-depth) | βœ… (metric) | | |
63
+ | **PaGeR-Normals** *(this card)* | [`prs-eth/PaGeR-normals`](https://huggingface.co/prs-eth/PaGeR-normals) | | βœ… | |
64
+
65
+ ## Usage
66
+
67
+ ```python
68
+ import torch
69
+ from huggingface_hub import hf_hub_download
70
+ from omegaconf import OmegaConf
71
+
72
+ from src.pager import Pager
73
+
74
+ checkpoint = "prs-eth/PaGeR-normals"
75
+ device = torch.device("cuda")
76
+
77
+ config_path = hf_hub_download(repo_id=checkpoint, filename="config.yaml")
78
+ cfg = OmegaConf.load(config_path)
79
+
80
+ pager = Pager(checkpoint, cfg=cfg, device=device)
81
+ pager.get_intrinsics_extrinsics(image_size=cfg.face_size, fov=getattr(cfg, "cube_fov", 90.0))
82
+ pager.model.to(device).eval()
83
+ ```
84
+
85
+ See the [GitHub repository](https://github.com/prs-eth/PaGeR) for the full inference / evaluation pipeline (ERP β†’ cubemap projection, batch inference via `inference.py`, the Gradio demo `app.py`, and the normals evaluation script).
config.yaml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Released PaGeR-Normals.
2
+ pretrained_model_name: da3-giant
3
+ modalities:
4
+ - normals
5
+ face_size: 504
6
+ log_depth: true
7
+ valid_conv_padding: true
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:295682261c88ae4a6301b68b2c38cdaf87cb6c4ac7fa3ebbc263f5f837388ab5
3
+ size 5221983184