Analysis updated 2026-05-18
Estimate metric depth and surface normals from a single 360-degree panorama photo.
Try the hosted Gradio demo on HuggingFace Spaces without installing anything locally.
Benchmark your own panoramic depth model against PaGeR's pretrained checkpoints.
| prs-eth/pager | alex-nlp/denoiserl | bytedance-seed/cola-dlm | |
|---|---|---|---|
| Stars | 35 | 35 | 35 |
| Language | Python | Python | Python |
| Setup difficulty | hard | hard | hard |
| Complexity | 4/5 | 5/5 | 4/5 |
| Audience | researcher | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Needs a GPU with at least 12GB of video memory and CUDA-enabled PyTorch.
PaGeR (Panoramic Geometry Reconstruction) is a research project from ETH Zurich that estimates the 3D geometry of a scene from a single 360-degree panoramic photograph. Given one equirectangular panorama as input, the model produces depth information, surface orientation (normals), and a mask that identifies sky regions where depth cannot be meaningfully measured. Depth comes in two forms. Scale-invariant depth gives the relative shape of the scene without committing to real-world units, which is useful for tasks that only care about relative distances. Metric depth gives an actual distance in meters, produced by applying a learned scale factor on top of the scale-invariant output. The model automatically distinguishes between indoor and outdoor scenes using a small classifier and routes each image through the appropriate scale estimation head for that category. The model works by reprojecting the panoramic image into a cubemap (six square faces) before processing, which means memory usage and speed do not change based on the original image resolution. Running the full model requires a graphics card with at least 12 GB of video memory. Lighter checkpoints for depth-only or normals-only tasks need slightly less. Three pretrained model checkpoints are available on HuggingFace, along with two training datasets released by the authors. There is also a hosted interactive demo on HuggingFace Spaces where you can upload a panorama and see the results without any local setup. For local use, the repository includes a Gradio interface and batch inference scripts for evaluating results against standard panoramic depth benchmarks. The code is released under the Apache 2.0 license. Model weights are available under the CC BY-NC 4.0 license, which allows non-commercial use. Installation requires Python 3.10 and a recent version of PyTorch with CUDA support.
A research model that estimates depth, surface normals, and sky regions from a single 360-degree panoramic photo.
Mainly Python. The stack also includes Python, PyTorch, CUDA.
The code is Apache 2.0, but the pretrained model weights are non-commercial use only.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.