  Current state-of-the-art methods of image classification using convolutional
neural networks are often constrained by both latency and power consumption.
This places a limit on the devices, particularly low-power edge devices, that
can employ these methods. Spiking neural networks (SNNs) are considered to be
the third generation of artificial neural networks which aim to address these
latency and power constraints by taking inspiration from biological neuronal
communication processes. Before data such as images can be input into an SNN,
however, they must be first encoded into spike trains. Herein, we propose a
method for encoding static images into temporal spike trains using edge
detection and an adaptive signal sampling method for use in SNNs. The edge
detection process consists of first performing Canny edge detection on the 2D
static images and then converting the edge detected images into two X and Y
signals using an image-to-signal conversion method. The adaptive signaling
approach consists of sampling the signals such that the signals maintain enough
detail and are sensitive to abrupt changes in the signal. Temporal encoding
mechanisms such as threshold-based representation (TBR) and step-forward (SF)
are then able to be used to convert the sampled signals into spike trains. We
use various error and indicator metrics to optimize and evaluate the efficiency
and precision of the proposed image encoding approach. Comparison results
between the original and reconstructed signals from spike trains generated
using edge-detection and adaptive temporal encoding mechanism exhibit 18x and
7x reduction in average root mean square error (RMSE) compared to the
conventional SF and TBR encoding, respectively, while used for encoding MNIST
dataset.
