Denoising Functional Maps: Diffusion Models for Shape Correspondence

Aleksei Zhuravlev, Zorah Lähner, Vladislav Golyanik
2/10/2026

No official code found. Best implementation: alekseizhuravlev/denoising-functional-maps (18 stars, MIT, last commit 2025-07-31).

Abstract

Estimating correspondences between pairs of deformable shapes remains a challenging problem. Despite substantial progress, existing methods lack broad generalization capabilities and require category-specific training data. To address these limitations, we propose a fundamentally new approach to shape correspondence based on denoising diffusion models. In our method, a diffusion model learns to directly predict the functional map, a low-dimensional representation of a point-wise map between shapes. We use a large dataset of synthetic human meshes for training and employ two steps to reduce the number of functional maps that need to be learned. First, the maps refer to a template rather than shape pairs. Second, the functional map is defined in a basis of eigenvectors of the Laplacian, which is not unique due to sign ambiguity. Therefore, we introduce an unsupervised approach to select a specific basis by correcting the signs of eigenvectors based on surface features. Our model achieves competitive performance on standard human datasets, meshes with anisotropic connectivity, non-isometric humanoid shapes, as well as animals compared to existing descriptor-based and large-scale shape deformation methods. See our project page 1 for the source code 2 and the datasets.

View on arXivView PDF

Code Implementations(1)

MIT

[CVPR'2025] Denoising Functional Maps: Diffusion Models for Shape Correspondence

182Shell, PythonNov 17, 20241 years agoMIT
diffusion-modelsfunctional-mapsshape-correspondenceshape-matching

Similar Papers

Cite this paper

@article{zhuravlev2026denoising,
  title  = {Denoising Functional Maps: Diffusion Models for Shape Correspondence},
  author = {Aleksei Zhuravlev and Zorah Lähner and Vladislav Golyanik},
  year   = {2026},
  eprint = {2503.01845},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2503.01845},
  journal = {CVPR 2025 2025}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2503.01845.svg)](https://codeofpaper.com/paper/2503.01845)

Discussion