GithubHelp home page GithubHelp logo

xieyizheng / hybridfmaps Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 49.06 MB

CVPR 2024, Hybrid Functional Maps for Crease-Aware Non-Isometric Shape Matching

Home Page: https://hybridfmaps.github.io

License: MIT License

Python 100.00%
correspondence geometry-processing matching shape fmaps

hybridfmaps's Introduction

PDF ArXiv

img

Installation

Our code relies on PyTorch, along with several other common libraries. They can often be installed manually easily. However, for convenience, we provide a conda environment file for easy setup:

# create new virtual environment
conda env create --name hybridfmaps -f environment.yml

conda activate hybridfmaps

In addition, this code uses python bindings for an implementation of the Discrete Shell Energy.

Please follow the installation instructions from: Thin shell energy

Dataset

For 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

We thank the original dataset providers for their contributions to the shape analysis community, and that all credits should go to the the respective authors and contributors.

Data preparation

For data preprocessing, we provide preprocess.py to compute all things we need. Here is an example for SMAL_r.

python preprocess.py --data_root ../data/SMAL_r/ --no_normalize --n_eig 200

Train

To train a specific model on a specified dataset.

python train.py --opt options/hybrid_ulrssm/train/smal.yaml

You can visualize the training process in tensorboard or via wandb.

tensorboard --logdir experiments/

Test

To test a specific model on a specified dataset.

python test.py --opt options/hybrid_ulrssm/test/smal.yaml

The qualitative and quantitative results will be saved in results folder.

Pretrained models

You can find all pre-trained models in checkpoints for reproducibility.

Acknowledgement

The framework implementation is adapted from Unsupervised Learning of Robust Spectral Shape Matching.

The implementation of Elastic Basis is adapted from An Elastic Basis for Spectral Shape Correspondence.

The implementation of DiffusionNet is based on the official implementation.

The GeomFmaps implementation follows GeomFmaps-pytorch: A minimalist pytorch implementation of: "Deep Geometric Functional Maps: Robust Feature Learning for Shape Correspondence".

We additionally include adaptation for ZoomOut: Spectral Upsampling for Efficient Shape Correspondence

We thank the original authors for their contributions to this code base.

Attribution

Please cite our paper when using the code. You can use the following bibtex

@inproceedings{bastianxie2024hybrid,
  title={Hybrid Functional Maps for Crease-Aware Non-Isometric Shape Matching},
  author={Bastian, Lennart and Xie, Yizheng and Navab, Nassir and L{\"a}hner, Zorah},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2024},
  note={Accepted for publication}
}

hybridfmaps's People

Contributors

xieyizheng avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.