Downloads · 30 days
275
14% of all-time downloads
karimknaebel/surge-large
surge-large is a image-to-3d model from karimknaebel. Use it for the image-to-3d task on the model card, and read the license before you ship it in a product. The card lists the license as cc-by-nc-4.0.
SurGe is a feedforward 3D reconstruction method that predicts point maps and estimates global 3D geometry. It addresses inaccuracies in local surface geometry through a point gradient matching loss and a Neighborhood…
Downloads · 30 days
275
14% of all-time downloads
All-time downloads
1.9K
Public
Parameters
366M
1.5 GB on disk
Likes
3
Public
Click a slice to open those files.
.safetensors1.5 GB · 100%
From the Hugging Face model README
SurGe is a feedforward 3D reconstruction method that predicts point maps and estimates global 3D geometry. It addresses inaccuracies in local surface geometry through a point gradient matching loss and a Neighborhood Attention Decoder (NAD) that progressively upsamples features and uses Neighborhood Attention for local feature mixing.
[Paper] [Project Page] [GitHub] [Demo]
SurGe expects image tensors in BCHW format with unnormalized RGB values in [0, 1]. Do not apply ImageNet normalization or similar preprocessing.
import torch
from surge import SurGe
# Load model
model = SurGe.from_pretrained("karimknaebel/surge-large").eval().cuda()
# Prepare input
image = torch.rand(1, 3, 518, 518, device="cuda")
# Inference
result = model.infer(image, num_tokens="max")
points = result["points"] # (B, H, W, 3)
depth = result["depth"] # (B, H, W)
intrinsics = result["intrinsics"] # (B, 3, 3)
num_tokens controls the encoder token budget. Use "min", "max", or an integer value.
If you use SurGe in your research, please cite:
@article{knaebel2026surge,
title = {{SurGe}: Improved Surface Geometry in Point Maps},
author = {Knaebel, Karim and Martin Garcia, Gonzalo and Schmidt, Christian and Fradlin, Ilya and Nunes, Lucas and de Geus, Daan and Leibe, Bastian},
year = {2026},
journal = {arXiv preprint arXiv:2605.31577},
}