conda create -n fmnet python=3.8 # create new virtual environment
conda activate fmnet\
pip install -r requirements.txt # cuda==11.8!
**or **
conda env create --name DeepFAFM -f environment.ymlFor training and testing datasets used in this paper, please refer to the ULRSSM repository from Dongliang Cao et al. Please follow the instructions there to download the necessary datasets and place them under ../data/:
├── data
├── FAUST_r
├── FAUST_a
├── SCAPE_r
├── SCAPE_a
├── SHREC19_r
├── TOPKIDS
├── SMAL_r
├── DT4D_r
├── SHREC20
├── SHREC16
├── SHREC16_testWe thank the original dataset providers for their contributions to the shape analysis community, and that all credits should go to the original authors.
python preprocess_dataset.py To train the model on a specified dataset.
python train.py --opt options/train/smal.yamlYou can visualize the training process in tensorboard.
tensorboard --logdir experiments/To test the model on a specified dataset.
python test.py --opt options/test/smal.yaml You can find partial pre-trained models in checkpoints_ours for reproducibility.
You can find all matching results in results_ours for reproducibility.
The framework implementation is adapted from Unsupervised Learning of Robust Spectral Shape Matching.
The feature learning network implementation is adapted from DiffusionNet
The filter learning network implementation is adapted from How Powerful are Spectral Graph Neural Networks.
Please cite our paper when using the code. You can use the following bibtex
@article{luo2025deep,
title={Deep Frequency Awareness Functional Maps for Robust Shape Matching},
author={Luo, Feifan and Li, Qinsong and Hu, Ling and Wang, Haibo and Xu, Haojun and Liu, Xinru and Liu, Shengjun and Chen, Hongyang},
journal={IEEE Transactions on Visualization and Computer Graphics},
year={2025},
publisher={IEEE}
}
