Code
This page provides old reference code from my publications.
I encourage anyone looking to get started in neuromorphic sensing/computation to build upon more recent software algorithms/frameworks rather than the code here.
SLAYER
SLAYER and its subsequent improvements evolved into Lava-DL, a component of Intel's open source Lava software framework for neuromorphic computing where you can find the latest. The links below are old code associated with the original papers.
Code (github link): Updated PyTorch code for training SNNs
Code (bitbucket link) Original (old) CUDA code for using backprop to train deep Spiking Neural Networks
The original code was released with a description of the algorithm in the paper below:
Spiking Motion Estimation
Code (github link) for implementing the delay-based spiking neural network model for visual motion estimation described in the papers:
Orchard, G.; and Etienne-Cummings, R. “Bioinspired Visual Motion Estimation” Proceedings of the IEEE, vol. 102, no. 10, pp. 1520–1536, Oct. 2014. open access arXiv link
Orchard, G.; Benosman, R.; Etienne-Cummings, R.; and Thakor, N. "A Spiking Neural Network Architecture for Visual Motion Estimation,” IEEE Biomedical Circuits and Systems, Rotterdam, Holland, Nov 2013.
FPGA code (github link) for implementing the model in FPGA. Described in the paper:
Tun Aung, M.; Teo, R.; and Orchard, G.; “Event-based Plane-fitting Optical Flow for Dynamic Vision Sensors in FPGA” IEEE Int. Symp. Circuits Syst., 2018
HFIRST
Code (github link) for a simple spiking neural network for recognition based on the canonical frame-based HMAX model described in the paper:
Orchard, G.; Meyer, C.; Etienne-Cummings, R.; Posch, C.; Thakor, N.; and Benosman, R., "HFIRST: A Temporal Approach to Object Recognition," Pattern Analysis and Machine Intelligence, IEEE Transactions on vol.37, no.10, pp.2028-2040, Oct. 2015 (open access arXiv link)
Matlab AER functions
Some basic functions for filtering and displaying AER vision data, as well as making videos (github link).
Python event-based vision code
Some VERY preliminary Python code (github link) for reading, manipulating, and visualizing AER data, including the N-MNIST and N-Caltech101 datasets
DVS calibration
Matlab code (github link) to help with calibrating a DVS sensor. Relies heavily on the free Caltech Camera Calibration toolbox