Skip to content

๐Ÿ•ท๏ธ SpiderMatch: 3D Shape Matching with Global Optimality and Geometric Consistency

License

Notifications You must be signed in to change notification settings

paul0noah/spider-match

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ•ท๏ธ SpiderMatch: 3D Shape Matching with Global Optimality and Geometric Consistency

Official repository for the CVPR 2024 best paper award candidate paper: SpiderMatch: 3D Shape Matching with Global Optimality and Geometric Consistency by Paul Roetzer and Florian Bernard (University of Bonn). For more information, please visit our our project page.

โš™๏ธ Installation

Prerequesites

You need a working c++ compiler and cmake. Note: builds are only tested on unix machines.

Installation Step-by-Step

  1. Create python environment
conda create -n spidermatch python=3.8
conda activate spidermatch
conda install pytorch cudatoolkit -c pytorch # install pytorch
git clone [email protected]:paul0noah/spider-match.git
cd spider-match
pip install -r requirements.txt # install other necessary libraries via pip
  1. Install sm-3dcouple (code to create the SpiderMatch integer linear program)
git clone [email protected]:paul0noah/sm-3dcouple.git
cd sm-3dcouple
python setup.py install
cd ..
  1. Retrieve a gurobi license from the official webpage

๐Ÿ“ Dataset

Datasets are available from this link. Put all datasets under ./datasets/ such that the directory looks somehow like this Two example files for FAUST_r shapes are included in this repository.

โ”œโ”€โ”€ datasets
    โ”œโ”€โ”€ FAUST_r
    โ”œโ”€โ”€ 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 original authors.

๐Ÿง‘โ€๐Ÿ’ป๏ธโ€ Usage

See spidermatch_example.py for example usage.

๐Ÿšง Troubleshooting

Shapes not readable

There are some issues with the .off file format. Use e.g. meshlab to convert them to .obj for example

Some libs for sm-3dcouple not found

  • opengl not found: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev

  • if libxrandr or libxinerama or other libs not found install them via

sudo apt-get install libxrandr-dev
sudo apt-get install libxinerama-dev
  • if libboost not found install all related packages via
sudo apt-get install libboost-all-dev

List of potential libs not found: libxrandr, libxinerama, libxcursor, libxi, libboost

๐Ÿ™ Acknowledgement

The implementation of DiffusionNet is based on the official implementation. The framework implementation is adapted from Unsupervised Deep Multi Shape Matching. This repository is adapted from Unsupervised-Learning-of-Robust-Spectral-Shape-Matching.

๐ŸŽ“Attribution

@inproceedings{roetzer2024spidermatch,
    author     = {Paul Roetzer and Florian Bernard},
    title     = { SpiderMatch: 3D Shape Matching with Global Optimality and Geometric Consistency },
    booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
    year     = 2024
}

License ๐Ÿš€

This repo is licensed under MIT licence.

About

๐Ÿ•ท๏ธ SpiderMatch: 3D Shape Matching with Global Optimality and Geometric Consistency

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages