PRISM v2 β pretrained geodesic models
Pretrained weights for PRISM (ICML 2026), From Extrinsic to Intrinsic: Geodesic-Guided Representation Learning for 3D Geometric Data.
- Paper: arXiv:2606.02268
- Code: github.com/AidenZhao/PRISM
PRISM predicts geodesic distances between arbitrary pairs of points on the underlying surface from a point cloud (xyz + normals). PRISM v2 uses an anchor-attention transformer instead of the paper's Point Transformer V3 backbone: about half the parameters and lower error at every size.
Models
| File | Params | MRE (%) β | L1 (%) β |
|---|---|---|---|
prism_S.pt |
15.3M | 2.21 | 2.57 |
prism_B.pt |
61.2M | 1.60 | 1.87 |
prism_L.pt |
250.9M | 1.36 | 1.64 |
ShapeNetCore.v2 test split (2,000 shapes, 55 categories), exact MMP ground truth, shapes normalized to the unit sphere. For comparison, the paper's PTv3 models reach 6.5 / 4.4 / 3.9 % MRE with 31M / 124M / 494M parameters.
Usage
git clone https://github.com/AidenZhao/PRISM.git && cd PRISM && pip install -e .
from huggingface_hub import hf_hub_download
from prism.evaluate import load_model
ckpt = hf_hub_download("AidenZhaoy/PRISM", "prism_B.pt")
model, _ = load_model(ckpt, "cuda")
D = model.distance_matrix(points, normals) # (N, N); points (N,3) normalized to the unit sphere
Or from the command line, on a mesh or a point cloud (distances returned in input units):
python -m prism.predict --ckpt prism_B.pt --input shape.obj --n_points 4096 --out geodesic.npz
Each checkpoint stores model (state dict), args.model_cfg (architecture), epoch and val_mre.
Citation
@inproceedings{prism2026,
title = {From Extrinsic to Intrinsic: Geodesic-Guided Representation Learning for 3D Geometric Data},
author = {Zhao, Yuming and Hou, Junhui and Zhang, Qijian and Qin, Jia and He, Ying},
booktitle = {International Conference on Machine Learning (ICML)},
year = {2026}
}