whatisgithub

What is pager?

prs-eth/pager — explained in plain English

Analysis updated 2026-05-18

35PythonAudience · researcherComplexity · 4/5LicenseSetup · hard

In one sentence

A research model that estimates depth, surface normals, and sky regions from a single 360-degree panoramic photo.

Mindmap

mindmap
  root((PaGeR))
    What it does
      Estimates 3D geometry
      Predicts depth
      Predicts normals
    Tech stack
      Python
      PyTorch
      CUDA
      Gradio
    Use cases
      Panorama depth
      Benchmark comparison
    Audience
      Computer vision researchers
    License
      Code Apache 2.0
      Weights non-commercial

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Estimate metric depth and surface normals from a single 360-degree panorama photo.

USE CASE 2

Try the hosted Gradio demo on HuggingFace Spaces without installing anything locally.

USE CASE 3

Benchmark your own panoramic depth model against PaGeR's pretrained checkpoints.

What is it built with?

PythonPyTorchCUDAGradio

How does it compare?

prs-eth/pageralex-nlp/denoiserlbytedance-seed/cola-dlm
Stars353535
LanguagePythonPythonPython
Setup difficultyhardhardhard
Complexity4/55/54/5
Audienceresearcherresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Needs a GPU with at least 12GB of video memory and CUDA-enabled PyTorch.

The code is Apache 2.0, but the pretrained model weights are non-commercial use only.

So what is it?

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.

Copy-paste prompts

Prompt 1
Help me run PaGeR locally on a panorama image using the provided Gradio interface.
Prompt 2
Explain the difference between PaGeR's scale-invariant and metric depth outputs.
Prompt 3
Show me how to download PaGeR's pretrained checkpoints from HuggingFace and run inference.

Frequently asked questions

What is pager?

A research model that estimates depth, surface normals, and sky regions from a single 360-degree panoramic photo.

What language is pager written in?

Mainly Python. The stack also includes Python, PyTorch, CUDA.

What license does pager use?

The code is Apache 2.0, but the pretrained model weights are non-commercial use only.

How hard is pager to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is pager for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.