/s2cnn

Spherical CNNs

Primary LanguagePythonMIT LicenseMIT

Spherical CNNs

Equivariant CNNs for the sphere and SO(3) implemented in PyTorch

Overview

This library contains a PyTorch implementation of the rotation equivariant CNNs for spherical signals (e.g. omnidirectional images, signals on the globe) as presented in [1]. Equivariant networks for the plane are available here.

Dependencies

Installation

To install, run

$ python setup.py install

Structure

  • nn: PyTorch nn.Modules for the S^2 and SO(3) conv layers
  • ops: Low-level operations used for computing the G-FFT
  • examples: Example code for using the library within a PyTorch project

Usage

Please have a look at the examples.

Please cite [1] in your work when using this library in your experiments.

Feedback

For questions and comments, feel free to contact us: taco.cohen (gmail), geiger.mario (gmail), jonas (argmin.xyz).

License

MIT

References

[1] Taco S. Cohen, Mario Geiger, Jonas Köhler, Max Welling, Spherical CNNs. International Conference on Learning Representations (ICLR), 2018.

[2] Taco S. Cohen, Mario Geiger, Jonas Köhler, Max Welling, Convolutional Networks for Spherical Signals. ICML Workshop on Principled Approaches to Deep Learning, 2017.

[3] Taco S. Cohen, Mario Geiger, Maurice Weiler, Intertwiners between Induced Representations (with applications to the theory of equivariant neural networks), ArXiv preprint 1803.10743, 2018.