/VPRSNN

Code for our IEEE RAL + ICRA 2022 paper "Spiking Neural Networks for Visual Place Recognition via Weighted Neuronal Assignments", and our ICRA2023 paper "Ensembles of Compact, Region-specific & Regularized Spiking Neural Networks for Scalable Place Recognition"

Primary LanguagePythonMIT LicenseMIT

Spiking Neural Networks for Visual Place Recognition via Weighted Neuronal Assignments

License: MIT stars GitHub repo size QUT Centre for Robotics

This repository contains code for two papers:

License and Citation

This code is licensed under MIT License.

If you use our modular SNN code, please cite the following paper:

@article{hussaini2022ensembles,
  title={Ensembles of Compact, Region-specific \& Regularized Spiking Neural Networks for Scalable Place Recognition},
  author={Hussaini, Somayeh and Milford, Michael and Fischer, Tobias},
  journal={arXiv preprint arXiv:2209.08723},
  year={2022}
}

If you use our non-modular SNN code, please cite our paper below:

@article{hussaini2022spiking,
  title={Spiking Neural Networks for Visual Place Recognition via Weighted Neuronal Assignments},
  author={Hussaini, Somayeh and Milford, Michael J and Fischer, Tobias},
  journal={IEEE Robotics and Automation Letters},
  year={2022},
  publisher={IEEE}
}

Overview

Please refer to the readme files of the Modular SNN and Non-modular SNN folders for instructions to run the code for modular SNN and non-modular SNN works respectively.

Modular SNNs for scalable place recognition (Modular SNN)

Video: https://www.youtube.com/watch?v=TNDdfmPSe1U&t=137s

ModularSNN for scalable place recognition

SNNs for VPR (non-modular SNN)

Video: https://www.youtube.com/watch?v=VGfv4ZVOMkw

VPRSNN method diagram

This work is an adaptation of the spiking neural network model from "Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity", Diehl and Cook, (2015) for Visual Place Recognition (VPR). DOI: 10.3389/fncom.2015.00099. Visual Place Recognition is the problem of how a robot can identify whether it has previously visited a place given an image of the place despite challenges including changes in appearance and perceptual aliasing (where two different places look similar).

The code is based on the following reposities, that include the original code and the modified versions of the original code.

Original code (Peter U. Diehl): https://github.com/peter-u-diehl/stdp-mnist

Updated for Brian2: zxzhijia: https://github.com/zxzhijia/Brian2STDPMNIST

Updated for Python3: sdpenguin: https://github.com/sdpenguin/Brian2STDPMNIST

Please refer to the wiki tab for additional ablation studies.

Acknowledgements

These works were supported by the Australian Government, Intel Labs, and the Queensland University of Technology (QUT) through the Centre for Robotics.