Indexed Convolution

The indexed convolution is a package offering convolution and pooling operators for indexed images. These operators can be used on images that do not provide Cartesian grids of pixels, as long as a list of neighbor’s indices can be provided for each pixel. They are foreseen to be useful for convolutional neural networks (CNN) applied to special sensors, especially in science, without requiring image pre-processing.

The present work explains the method and its implementation in the Pytorch framework and shows an application of the indexed kernels to the classification task of images with hexagonal lattices using CNN. The obtained results show that the method gives the same performances as the standard convolution kernels. Indexed convolution thus makes deep neural network frameworks more general and capable of addressing unconventional image lattices. The current implementation, as well as code to reproduce the experiments described in our paper are made available as open-source resources on the repository
The indexed convolution has been successfully applied to images from Imaging Atmospheric Cherenkov Telescopes (especially CTA with the GammaLearn project) that presents images with hexagonal pixels organized in hexagonal lattices.

This work has been published in Indexed Operations for Non-rectangular Lattices Applied to Convolutional Neural Networks, Mikael Jacquemont, Luca Antiga, Thomas Vuillaume, Giorgia Silvestri, Alexandre Benoit, Patrick Lambert and Gilles Maurin, Proceedings of the 14th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 5: VISAPP, 362-371, 2019, Prague, Czech Republic.