All Projects → rubenwiersma → hsn

rubenwiersma / hsn

Licence: MIT License
Code for SIGGRAPH paper CNNs on Surfaces using Rotation-Equivariant Features

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to hsn

3DInfomax
Making self-supervised learning work on molecules by using their 3D geometry to pre-train GNNs. Implemented in DGL and Pytorch Geometric.
Stars: ✭ 107 (+50.7%)
Mutual labels:  pytorch-geometric
virtual sketching
General Virtual Sketching Framework for Vector Line Art (SIGGRAPH 2021)
Stars: ✭ 111 (+56.34%)
Mutual labels:  siggraph
gnn-lspe
Source code for GNN-LSPE (Graph Neural Networks with Learnable Structural and Positional Representations), ICLR 2022
Stars: ✭ 165 (+132.39%)
Mutual labels:  geometric-deep-learning
photo recoloring
Palette-based Photo Recoloring, implementation of the approach of Huiwen Chang et al.
Stars: ✭ 39 (-45.07%)
Mutual labels:  siggraph
glcic.pytorch
This is a implement of the Siggraph2017 paper: "Globally and Locally Consistent Image Completion"
Stars: ✭ 15 (-78.87%)
Mutual labels:  siggraph
Building-Dataset-Generator
Procedural 3D data generation pipeline for architecture
Stars: ✭ 47 (-33.8%)
Mutual labels:  geometric-deep-learning
MGCN
MGCN: Descriptor Learning using Multiscale GCNs (SIGGRAPH 2020)
Stars: ✭ 31 (-56.34%)
Mutual labels:  siggraph
GNNs-in-Network-Neuroscience
A review of papers proposing novel GNN methods with application to brain connectivity published in 2017-2020.
Stars: ✭ 92 (+29.58%)
Mutual labels:  geometric-deep-learning
pyg autoscale
Implementation of "GNNAutoScale: Scalable and Expressive Graph Neural Networks via Historical Embeddings" in PyTorch
Stars: ✭ 136 (+91.55%)
Mutual labels:  pytorch-geometric
graphchem
Graph-based machine learning for chemical property prediction
Stars: ✭ 21 (-70.42%)
Mutual labels:  pytorch-geometric
HOT
Hierarchical Optimization Time Integration (HOT) for efficient implicit timestepping of the material point method (MPM)
Stars: ✭ 83 (+16.9%)
Mutual labels:  siggraph
MultiGraphGAN
MultiGraphGAN for predicting multiple target graphs from a source graph using geometric deep learning.
Stars: ✭ 16 (-77.46%)
Mutual labels:  geometric-deep-learning
LPGNN
Locally Private Graph Neural Networks (ACM CCS 2021)
Stars: ✭ 30 (-57.75%)
Mutual labels:  pytorch-geometric
OpenISS
OpenISS -- a unified multimodal motion data delivery framework.
Stars: ✭ 22 (-69.01%)
Mutual labels:  siggraph
GeometricFlux.jl
Geometric Deep Learning for Flux
Stars: ✭ 288 (+305.63%)
Mutual labels:  geometric-deep-learning
bichon
Robust Coarse Curved TetMesh Generation
Stars: ✭ 29 (-59.15%)
Mutual labels:  siggraph
ALIGNet
code to train a neural network to align pairs of shapes without needing ground truth warps for supervision
Stars: ✭ 58 (-18.31%)
Mutual labels:  geometric-deep-learning
DOT
Decomposed Optimization Time Integration (DOT) is a domain-decomposed optimization method for fast, reliable simulation of deformation dynamics. DOT efficiently converges with frame-rate time-steps across a wide range of extreme conditions.
Stars: ✭ 37 (-47.89%)
Mutual labels:  siggraph
graph-convnet-tsp
Code for the paper 'An Efficient Graph Convolutional Network Technique for the Travelling Salesman Problem' (INFORMS Annual Meeting Session 2019)
Stars: ✭ 196 (+176.06%)
Mutual labels:  geometric-deep-learning
kglib
TypeDB-ML is the Machine Learning integrations library for TypeDB
Stars: ✭ 523 (+636.62%)
Mutual labels:  geometric-deep-learning

CNNs on Surfaces using Rotation-Equivariant Features

[Paper] [Project page]

Code for Harmonic Surface Networks, an approach for deep learning on surfaces operating on vector-valued, rotation-equivariant features. This is achieved by learning circular harmonic kernels and separating features in streams of different equivariance classes. The advantage of our approach is that the rotational degree of freedom, arising when a filter kernel is transported along a surface, has no effect on the network. The filters can be evaluated in arbitrarily chosen coordinate systems.

Contents

Dependencies

This project requires the following dependencies. The version numbers have been tested and shown to work, other versions are likely, but not guaranteed, to work.

Installation

Clone this repository and its submodules

$ git clone --recurse-submodules https://github.com/rubenwiersma/hsn.git

Install the vectorheat python module, explained in the following subsection.

The vectorheat extension

[Update April 2021] Nick Sharp has created his own bindings for the Geometry Central library, called Potpourri3d. This library includes computations of the vector heat method on meshes and point clouds. You can install it with pip:

$ pip install potpourri3d

The transforms used in this repository make use of our own binding, which can be installed as follows:

To perform computations on the mesh - e.g. Vector Heat Method, surface area computation, etc. - we use Geometry Central. We have created a small Python binding into a C++ function that computes these quantities globally for each vertex in a mesh. Run the following commands in your shell to install the extension:

$ pip install ./vectorheat

Having trouble building? First make sure that you have the latest version of CMake installed (> 3.10). Next, check that every dependency is present in this repo (pybind11, geometrycentral). If not, you might not have cloned submodules. To fix this:

$ git submodule update --recursive

Suitesparse? When processing shapes with the Vector Heat Method, you might run into a solver error. This is fixed when you build the vectorheat extension with suitesparse. Installation in Linux with:

$ apt-get install libsuitesparse-dev

Replicating experiments

We have compiled four Jupyter Notebooks to easily replicate the experiments from the paper:

  • Shape classification
  • Shape segmentation
  • Correspondence
  • Classification of MNIST mapped to a sphere

These notebooks can be accessed in the root of this repo.

Datasets

To use the datasets for these experiments, follow these steps:

[1] Haggai Maron, Meirav Galun, Noam Aigerman, Miri Trope, Nadav Dym, Ersin Yumer, Vladimir G Kim, and Yaron Lipman. 2017. Convolutional neural networks on surfaces via seamless toric covers. ACM Trans. Graph 36, 4 (2017).

[2] Zhouhui Lian et al. 2011. SHREC ’11 Track: Shape Retrieval on Non-rigid 3D Watertight Meshes. Eurographics Workshop on 3D Object Retrieval.

[3] Adrien Poulenard and Maks Ovsjanikov. 2018. Multi-directional geodesic neural net- works via equivariant convolution. ACM Trans. Graph. 37, 6 (2018).

[4] Federica Bogo, Javier Romero, Matthew Loper, and Michael J. Black. 2014. FAUST: Dataset and evaluation for 3D mesh registration. In CVPR. IEEE.

[5] Hugo Larochelle et al. 2007. An empirical evaluation of deep architectures on problems with many factors of variation. In ICML. ACM.


Author: Ruben Wiersma

Please cite our paper if this code contributes to an academic publication:

@Article{Wiersma2020,
  author    = {Ruben Wiersma, Elmar Eisemann, Klaus Hildebrandt},
  journal   = {Transactions on Graphics},
  title     = {CNNs on Surfaces using Rotation-Equivariant Features},
  year      = {2020},
  month     = jul,
  number    = {4},
  volume    = {39},
  doi       = {10.1145/3386569.3392437},
  publisher = {ACM},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].