## 4 Results and Discussion
### Edge Based Classification of Digits Using a Convolutional Neural Network (CNN)  
Object classification using deep learning from a series of 1 ms image frames captured with a camera is an interesting area of research for on-board signal processing and surveillance applications. In this context, we investigated the potential use of the SNN edge detector as a feature extraction layer in a CNN for object classification from low exposure image frames, each frame with an exposure time of 1 ms, simulated by the Non-linear Subtraction Range (NSR) algorithm [24]. The NSR algorithm is used to create low exposure frames with an assumed exposure time \(T\) of 40 ms for the Digits dataset, which is available in MATLAB [26]. The Digits dataset consists of 1000 images for single digit numbers, 0-9. Low exposure frames are created for all 10,000 images in the dataset. Such low exposure image versions of the Digits dataset are created with the following total exposure times; 1, 2, 3, 5, 10, 15, 20, 30 ms. We used the CNN architecture available in MATLAB [26] for digits classification with the introduction of an additional edge detection layer before the input neuron layer. We explored three cases of edge detection layers: the Canny edge detection layer, the Sobel edge detection layer and the SNN edge detection layer to compare the role and performance of the edge detection layer as a type of feature generation layer in classification. Then, each of these low exposure versions of the Digits dataset is used for both the training and the testing of the CNN for classification. Figure 7 shows the process flow diagram used for combining the 1 ms frame generation algorithm, SNN edge detection layer and a CNN for classification of digits in the Digits dataset. Therefore, our deep learning network combines concepts from both the artificial neural network and the SNN in a single network. Figure 8 illustrates the architecture of the CNN along with the details of the layers and their sizes. The CNN part of the network consists of the following layers in the order given: A 28 \(\times\) 28 \(\times\) 1 neuron image input layer, a convolutional layer (3 \(\times\) 3 \(\times\) 16 filter), a batch normalization layer, a Rectified Linear Units (ReLu) layer, a max pooling layer (pool size: 3) with a stride of 2, a convolutional layer (3 \(\times\) 3 \(\times\) 32 filter), a batch normalization layer, a ReLu layer, a max pooling layer (pool size of 2) with a stride of 2, a convolutional layer (3 \(\times\) 3 \(\times\) 64 filter), a batch normalization layer,  
Figure 6: Total number of edge pixels in the SNN edge map of the input image as a function of simulated exposure time t.  
a ReLu layer, a fully connected layer (10), a softmax layer and a classification layer. The first two numbers in the parenthesis correspond to the size of the filter in the layer and the third number defines the number of filters. Each convolution layer has a padding of 1. Figure 9 compares the example edge images for the low exposure frames after the edge layer in the network. The training and testing is performed for three epochs with a validation frequency of 30. The network is first trained with 75% of a random (but equal) number of each class of images from the low exposure dataset and tested with the remaining 25% of the low exposure dataset. The prediction accuracy of the SNN embedded CNN network as a function of the exposure time is displayed in Figure 10. The uncertainty in the prediction accuracy, displayed as error bars in the above figure, is determined from a 20-fold cross-validation experiment. We find that the network with the Canny and Sobel edge detection layers has a superior classification accuracy than the network with the SNN layer for \(t>T/2\). We speculate that higher spike rates at these exposure times suppress the gradients and makes the detector less sensitive to edge features. Surprisingly, for exposure times \(t<T/2\), the network with the SNN edge detection layer outperforms the networks with either the Sobel edge or Canny edge detection layer.