Views
No views yet
BCHW format with unnormalized RGB values in [0, 1]. Do not apply ImageNet normalization or similar preprocessing.1import torch
2from surge import SurGe
3
4# Load model
5model = SurGe.from_pretrained("karimknaebel/surge-large").eval().cuda()
6
7# Prepare input
8image = torch.rand(1, 3, 518, 518, device="cuda")
9
10# Inference
11result = model.infer(image, num_tokens="max")
12points = result["points"] # (B, H, W, 3)
13depth = result["depth"] # (B, H, W)
14intrinsics = result["intrinsics"] # (B, 3, 3)num_tokens controls the encoder token budget. Use "min", "max", or an integer value.1@article{knaebel2026surge,
2 title = {{SurGe}: Improved Surface Geometry in Point Maps},
3 author = {Knaebel, Karim and Martin Garcia, Gonzalo and Schmidt, Christian and Fradlin, Ilya and Nunes, Lucas and de Geus, Daan and Leibe, Bastian},
4 year = {2026},
5 journal = {arXiv preprint arXiv:2605.31577},
6}