Spherical CNNs (2018)
3 comments
·June 16, 2025rkp8000
A notable and interesting point of this article is that convolutions and correlations (convolutions without flipping the filter) are quite a bit more subtle on the sphere than on Cartesian spaces. For a convolution between a function and a filter on R^N you just "slide" the filter around, integrating at each shift, which produces another function on R^N. On a sphere, however, there is not a clear cut way to slide a filter around a sphere. For instance, there are multiple ways to slide a filter centered at the north pole to the south pole, which will result in different filter orientations.
More generally, the space of rotations, which is the argument of the convolution (analogous to the shift amount being the argument of a standard convolution), is 3D (3 Euler angles), whereas the space of points on the sphere is 2D (polar and azimuthal angles). Thus, whereas convolution over R^N returns a function over R^N, convolution over the sphere actually returns a function over the 3D rotation group SO(3). This has interesting consequences for e.g. the convolution theorem on the sphere, which is not as clear cut as simply rewriting the standard convolution theorem in spherical terms.
smath
also relevant to 3d modeling of molecules using in drug discovering modeling -- and a subset of these authors have published along those lines more recently -- for e.g. https://arxiv.org/abs/2104.13478
Great subject, thanks. I recently built SpinStep[0], a tool for visualizing and stepping through SCNN computations.
It lets you upload a model, then see—layer by layer—how inputs are transformed, which kernels activate, and how feature maps evolve. It's a hands-on exploration of what’s actually happening under the hood in Spherical CNNs.
For anyone who's been frustrated by the opaque "black‑box" nature of CNNs, SpinStep might be a fun way to poke around and build intuition.
[0] https://github.com/VoxleOne/SpinStep/blob/main/docs/index.md