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.
You need a working c++ compiler and cmake. Note: builds are only tested on unix machines.
- Create python environment
conda create -n spidermatch python=3.8
conda activate spidermatch
conda install pytorch cudatoolkit -c pytorch # install pytorch
git clone git@github.com:paul0noah/spider-match.git
cd spider-match
pip install -r requirements.txt # install other necessary libraries via pip- Install sm-3dcouple (code to create the SpiderMatch integer linear program)
git clone git@github.com:paul0noah/sm-3dcouple.git
cd sm-3dcouple
python setup.py install
cd ..- Retrieve a gurobi license from the official webpage
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_rWe thank the original dataset providers for their contributions to the shape analysis community, and that all credits should go to the original authors.
See spidermatch_example.py for example usage.
There are some issues with the .off file format. Use e.g. meshlab to convert them to .obj for example
-
opengl not found:
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev -
if
libxrandrorlibxineramaor other libs not found install them via
sudo apt-get install libxrandr-dev
sudo apt-get install libxinerama-dev- if
libboostnot found install all related packages via
sudo apt-get install libboost-all-devList of potential libs not found: libxrandr, libxinerama, libxcursor, libxi, libboost
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.
@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
}This repo is licensed under MIT licence.