## Using CSNNs to Perform Event-based Data Processing &amp; Classification on ASL-DVS

Ria Patel, Sujit Tripathy, Zachary Sublett, Seoyoung An and Riya Patel Department of Electrical Engineering &amp; Computer Science, University of Tennessee, Knoxville, TN 37916, USA

Abstract -

Recent advancements in bio-inspired visual sensing and neuromorphic computing have led to the development of various highly efficient bio-inspired solutions with real-world applications. One notable application integrates event-based cameras with spiking neural networks (SNNs) to process event-based sequences that are asynchronous and sparse, making them difficult to handle. In this project, we develop a convolutional spiking neural network (CSNN) architecture that leverages convolutional operations and recurrent properties of a spiking neuron to learn the spatial and temporal relations in the ASL-DVS gesture dataset. The ASLDVS gesture dataset is a neuromorphic dataset containing hand gestures when displaying 24 letters (A to Y, excluding J and Z due to the nature of their symbols) from the American Sign Language (ASL). We performed classification on a pre-processed subset of the full ASL-DVS dataset to identify letter signs and achieved 100% training accuracy. Specifically, this was achieved by training in the Google Cloud compute platform while using a learning rate of 0.0005, batch size of 25 (total of 20 batches), 200 iterations, and 10 epochs.

Conventional frame-based cameras capture information from all pixels within the frame, making the image densely rich in information and memory demanding. Event-based cameras mitigate this issue by reducing this pixel information to make them sparsely encoded. As a result, these DVS cameras consume low power enabling operation at a finer time resolution of a few milliseconds [8].

## I. INTRODUCTION

The application of deep learning has been instrumental in solving numerous computer vision problems, notably image classification [1], object detection and semantic segmentation [2], and gesture recognition [3]-[6], etc. For some specific applications such as static image recognition, Deep Neural Networks (DNNs) have been demonstrated to outperform human performance [1], [7]. Training state-of-the-art deep learning models is computationally expensive, leading to high energy usage. To reduce the energy cost of future AI systems, researchers are exploring the use of energy-efficient, braininspired spiking neural networks (SNNs) in various fields [8]. SNNs typically take inputs from neuromorphic sensors that generate spikes with changes in input signals. Next, SNNs interpret such spikes, which contain sparsely encoded spatial and temporal information. SNNs implemented on neuromorphic hardware allow the hardware to utilize sparse activations within the SNNs to gain significant power and latency improvements compared to conventional hardware performing the same tasks [8].

For data acquisition, dynamic vision sensors (DVS) are used to capture individual pixel changes within each frame of a recording, making them capable of capturing motion very similar to humans. Pixels that change are considered events whereas those that don't change are not considered events by the camera. Next, the event-based data is encoded into spikes such that the SNN can interpret the spatiotemporal features.

Recently, SNNs have been used for problems that involve data with strong spatiotemporal correlations such as hand gesture recognition, object tracking, action and object recognition etc. [9]-[11]. In this work, we contribute a CSNN that performs classification on event-based data from ASLDVS dataset [12]. The rest of the report is organized as follows: Section II includes a literature review that provides some background on CSNN architecture as well as discusses some prior work that utilized SNNs including CSNNs. Section III presents the proposed CSNN framework for ASL-DVS data processing and classification. Section IV discusses the characteristics of the ASL-DVS dataset and its preprocessing steps in detail. Next, we present the experimental set-up and results before concluding the report.

## II. LITERATURE REVIEW

In this section, we first present the SNN and CSNN model architecture. Next, we discuss some prior works that utilized SNNs including CSNNs for event-based data processing.

## A. SNNs

An SNN shares similarities with an artificial neural network (ANN). Both models calculate neuron outputs using the weighted sums of inputs. However, SNNs process single-bit spikes as input, which are sparse in both space and time. Also, SNNs employ different types of activations compared to ANNs. The weights contribute to the membrane potential, and when this potential reaches a certain threshold, the neuron generates a spike. Spikes introduce a temporal component to the data processed by an SNN. In the ASL-DVS dataset, this temporal aspect is measured in µ s to capture subtle movements occurring within the images [8].

There are several different types of spiking neuron models, but one of the most commonly used is called the Leaky Integrate and Fire (LIF) neuron. This neuron is closely modeled after biological neurons, making it suitable for neural networks. It integrates the weights of its input over time until it reaches or exceeds a certain threshold and then, the

Fig. 1: LIF operation in SNN [8]

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-746260ae-22b2-43d7-b7ad-8f7fc73cfed5.jpg)

neuron will fire a spike. The membrane potential will decay towards a lower value at each step controlled by the decay rate β , enforcing the 'leaky' aspect of the neuron. Figure 1 demonstrates this feature, which is taken from [8].

The LIF membrane is modeled with:

$$\tau \frac { d U ( t ) } { d t } = - U ( t ) + R I _ { i n } t \quad \quad ( 1 ) \quad \text{ner} \quad \text{recog}$$

This equation models how the membrane potential changes over time. Where I in represents the input-weight matrix, R represents the membrane resistance, and the membrane potential at a given time t is represented by U t ( ) = βU t ( -1)+(1 -β I ) in ( ) t , where β is the decay rate of the membrane potential.

## B. CSNNs

A convolutional spiking neural network typically comprises spiking convolution operations and spiking encoding. Assume an input sequence of S n ( ) , for n = 0 1 2 , , , ..., S ( n ) is a tensor at every time step that has shape u, v , where u and v are the width and height of each frame. Output from event cameras can be processed using a variable batch window to achieve the desired temporal resolution. For example, a 3 s 240 × 180 resolution events data stream with 100 ms temporal resolution will generate S n , n ( ) = 0 1 2 , , , ..., 30 . For each segment, the tensor shape is (240,180). Next, the input tensor is convolved with a 2-D convolutional kernel to generate a spiking feature map [13]-[15]. The convolution operation can be described using the following equations [15]:

$$y [ i, j ] = \sum _ { j = - \infty } ^ { \infty } \sum _ { i = - \infty } ^ { \infty } = x ( i + m, j + n ). K ( m, n ) \quad ( 2 ) \quad \text{enable} \quad \text{and Ca}$$

Where, y i, j [ ] represents the spiking feature map, x is the input tensor, K is the kernel, ( i, j ) are coordinates on the feature map and ( m,n ) are the coordinates in the kernel. Neurons in the feature map receive spikes, which are aggregated to generate membrane potential.

The convolutional layers extract features. The LIF neurons at the output of each layer then gather all the input spikes and output a spike when the membrane potential crosses the set threshold. Lastly, similar to the traditional convolutional neural networks (CNNs), the last layer of CSNNs is a fully connected (FC) layer with LIF neurons and has an output shape equal to the number of classes for classification.

## C. Prior Technical Work

In this subsection, we review prior works discussing applications of SNNs and CSNNs for event-based data processing.

Amir et al. implemented a gesture recognition system that utilized a TrueNorth neurosynaptic processor alongside a DVS for real-time hand gesture recognition with minimal power consumption. They achieved an out-of-sample accuracy of approximately 96.5% on a diverse dataset, demonstrating the robustness of the approach for various hand gestures under different lighting conditions [9].

Weijie et. al used CSNN for EMG (Electromyogram)based hand gesture recognition. They utilized the Strathclyde and CapgMyo open-source datasets for model development. The average recognition accuracy was observed to be around 98.76% based on the Strathclyde dataset and 98.21% based on the CapgMyo open source dataset [14].

Xing et al. introduced a spiking convolutional recurrent neural network (SCRNN) model for event-based hand gesture recognition, using the DVS gesture dataset. They achieved an accuracy of 96.59% for 10-class gesture recognition and 90.28% for 11-class gesture recognition [13].

Samadzade et al. investigated the spatiotemporal feature extraction capabilities of CSNNs for event-based data processing. They observed superior performance of CSNNs methods on N-MNIST (97.6%), DVS-CIFAR10 (69.2%), and DVSGesture (96.7%) datasets. Additionally, the model achieved results comparable to ANN methods on UCF-101 (42.1%) and HMDB-51 (21.5%) datasets [16].

The availability of comprehensive neuromorphic datasets plays a crucial role in the increased implementation of SNN-based architecture. Yin et. al [12] and Orchard et. al [17] created neuromorphic ASL-DVS and MNIST datasets. Eshraghian et al. compiled a comprehensive list of neuromorphic vision and audio benchmark datasets, widely accessed for SNN-based model development [8]. Moreover, efforts have been made to convert traditional computer vision datasets to neuromorphic vision datasets. A method for converting static image datasets into spiking neuromorphic datasets using an actuated pan-tilt camera platform was presented. By simulating motion updates through sensor movement, this approach enabled the utilization of popular image datasets like MNIST and Caltech101 for spike-based recognition algorithms [17].

Lastly, to bridge the gap between deep learning and SNNs, Eshraghian et al. presented principles from deep learning, gradient descent, backpropagation, and neuroscience to develop SNNs. By elucidating the relationship between encoding data as spikes and the learning process, this work helps to advance the understanding and application of SNNs in NN research and development [8].

## III. TECHNICAL APPROACH

In this section, we present the overall deep learning pipeline for ASL-DVS data processing and classification. Then, we briefly discuss data selection and processing, the architecture of the CSNN model trained for ASL-DVS classification, and the CSNN learning method.

## A. Deep Learning Pipeline

Figure 2 shows the overall deep-learning pipeline. We start with acquiring neuromorphic ASL-DVS datasets. Subsequently, we pre-process the data to bring it to a format so that it can be imported into the CSNN model. Next, we have an iterative process of model training and tuning to improve the CSNN model performance. Then, we validate our model that performs ASL-DVS gesture classification.

## B. Data Selection and Pre-Processing

For this project, we have used the ASL-DVS dataset to perform event-based data processing and classification. ASL-DVS dataset was acquired in AEDAT format and then, IniVation DV Processing software was used to pre-process it before the data could be imported into a CSNN model for training and validation. In the next section, we discuss the characteristics of the ASL-DVS dataset and its preprocessing steps in detail.

## C. Network Architecture

The CSNN model used to process the neuromorphic ASLDVS dataset is built upon a similar CSNN implemented for N-MNIST data processing and classification [8]. However, we updated the network architecture to accommodate the ASL-DVS dataset. The model architecture comprises of three convolutional layers and a FC layer with 24 outputs for the 24 classes of the ASL-DVS dataset. Figure 3 is a diagram showing the model's architecture. Each convolutional layer includes 5x5 filters with layers 1, 2, and 3 containing 12, 32, and 45 filters respectively. Each convolutional layer outputs to a 2x2 max pool layer and then to a LIF (leaky integrate and fire) neuron. The model then feeds into a FC layer with 24 output LIF neurons, that will determine the class or letter in the ASL-DVS dataset that the input belongs to. Figure 4 shows the details involved in calculating the size of CSNN layers.

## D. CSNN Learning Method

For model training, the Adam optimizer is utilized. The loss function employed is the Mean Square Error (MSE) of the spike count, calculating the MSE between the correct and incorrect spike count estimates. These estimates are typically expressed as proportions of spikes over the total number of time steps. The target proportions for the loss function can vary, but a common choice is an 80% correct rate and a 20% incorrect rate [8], which is used in this model.

To perform backpropagation using spikes, a specific method known as BackPropagation Through Time (BPTT) is utilized. This algorithm computes gradients by determining the loss of all descendants in the computational graph and aggregating them. Consequently, the derivative of the loss with respect to the weights ∂ L ∂W is computed for each time step. The equation below illustrates how backpropagation computes this derivative [8]:

$$\frac { \partial \mathcal { L } } { \partial W } = \sum _ { t } \frac { \partial \mathcal { L } ( t ) } { \partial W } = \sum _ { t } \sum _ { t \leq s } \frac { \partial \mathcal { L } ( t ) } { \partial W ( s ) } \frac { \partial \mathcal { W } ( s ) } { \partial W } \quad ( 3 )$$

Fig. 2: Pipeline of our approach

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-003a22e6-6b89-4bd1-9bee-05b7e2342b51.jpg)

Fig. 3: Model of CSNN Network Architecture

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-9ed5b99a-fc4a-48cb-a724-eabcbb748d06.jpg)

This allows for the model to learn the parameters, but there is still the problem of calculating the gradients when spikes themselves are non-differentiable (also, called 'dead neuron problem'). The adopted solution to this is known as the surrogate gradient method. Essentially, this swaps the nondifferentiable function for one that is differentiable during the calculation of gradients.

## IV. DATASET &amp; IMPLEMENTATION

## A. Dataset Characteristics

The ASL-DVS dataset was created using the IniVation DAVIS240C NVS event-based camera under constant lighting conditions, which captures at a 240 × 180 resolution and has

## CSNN Layer Size Calculation

- Input: Tensors of size [29, 25,2, 180, 240]
- 29 - Number of 100 msec duration segments
- 2 - Number of Channels
- 180 \_ Height
- 240 - Width
- layer (CSNN (2 -input channel, 12 - output channel, 5 -filter) , Max pool (2)) Ist
- 236/2 = 118 (width) , 176/2 = 88 (height) , 12 (channel) - output from Max pool
- 240-5+1 = 236 (width) , 180-4 = 176 (height) , 12 (channel) output from CSNN
- 2nd layer (CSNN (12 -input channel, 32 output channel, 5 -filter) , Max pool (2))
- 118-4 = 114 (width), 88-4 = 84 (height) , 32 (channel) output from CSNN
- 114/2 = 57 (width), 84/2 = 42 (height) , 32 (channel) output from pool Max
- 3rd layer (CSNN (32 input channel, 48 output channel, 5 -filter) , Max pool (2))
- 57-4 = 53 (width), 42-4 = 38 (height), 48 (channel) output from CSNN
- 53/2 = 26 (width), 38/2 = 19 (height) , 48 output from Max pool
- FC layer - 26*19*48, 24 outputs (24 labels)

Fig. 4: Calculation of Size of CSNN Layers

Fig. 5: ASL-DVS dataset components

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-9f5877af-8d5f-4f41-bc44-4a45d44d2ef7.jpg)

Fig. 6: Dataset pre-process breakdown

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-5bb1b171-d111-4e25-bad9-57d6c7aec9ba.jpg)

a 12 µs latency [18]. The events are captured and stored in the AEDAT 2.0 format, but a conversion process is used to achieve AEDAT 4.0, the newest AEDAT format that allows for the usage of the IniVation DV Processing software framework. Using this software, the AEDAT files were converted to CSV files to better view the event-based information and perform data exploration.

This dataset contains recording data from five subjects who signed each letter of the alphabet, excluding J and Z. The ASL for J and Z are excluded from the dataset due to the nature of how those letters are signed (they include hand motion along with gesture). In this project, recording data from the first four subjects is used to train the CSNN.

Figure 5 illustrates the components of the ASL-DVS dataset. The dataset comprises 100,800 samples, also referred to as 'frames,' each lasting approximately 100 microseconds ( µ s). The number of samples varies for each letter in each subject, and each sample contains a varying number of events detected by the DVS camera. The terminology used in the data preprocessing section is explained in Figure 6.

Each event has four attributes: timestamp, x, y, and polarity.

Fig. 7: Subject 1 - Letter F

The timestamp denotes the exact µ s that this event took place in the specified pixel via x and y coordinates. Lastly, polarity denotes whether there is an increase or decrease in the pixel brightness or intensity, eventually to be encoded as a spike.

## B. Dataset Exploration

To visualize the ASL-DVS dataset, we used the DVProcessing software to load each subject and each letter in the AEDAT4.0 format. The Python module library contains classes that load in each recording as a batch of events, which renders an image as shown in Figure 7. This image contains 1,515 events, creating the silhouette of Subject 1's hand signing the letter 'f' as they move it in an oscillating left-to-right motion. The DVS camera picks up all movements and stores them as the black pixels shown in Figure 7, however, in the AEDAT files, the polarity field denotes them as either 0 or 1. This signifies that at the specific pixel, either there was a decrease or increase in pixel brightness. For the sake of visualization and ease of use for the SNN model, we encode all events that occur as 1 (black pixels) while the rest are encoded as 0 (white space).

Figure 8 illustrates the overall sample distribution for each class across all subjects in the original ASL-DVS dataset. It is important to note that there are fewer samples for the letters Y and Z. This discrepancy is due to Subject 5 excluding recordings for the letters J and Y, while Subjects 1-4 exclude recordings for the letters J and Z.

Figure 9 presents the sample distribution for each subject concerning vowel letters. Vowels were chosen for visualization as they are the most frequently used letters in English. Notably, Subject 5 contributes significantly to the sample distribution, indicating that Subject 5's dataset contains the longest recordings.

Figure 10 provides a visualization of the number of events captured from Subject 1's recording of the letter F. The recording is divided into 3-second batches, each containing a varying number of events within the time window. This

Fig. 8: Original ASL-DVS sample distribution across all subjects

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-11810b55-9c07-4fee-bc4f-4447488b4273.jpg)

## Distribution of Vowel Occurrences Across Subjects

Fig. 9: Sample distribution per subject for vowel letters

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-8a2c941c-1afb-4e0d-b73f-236ec2a430a6.jpg)

figure illustrates the subject's hand movement patterns at the beginning, middle, and end of the recording, demonstrating how the oscillation path of the hand changes throughout the recording.

## C. Dataset Pre-processing

We have extracted a subset from the ASL-DVS dataset by randomly choosing batches of events from each subject's recordings for a letter. Each recording varies in duration (e.g. 3 minutes, 5 minutes). We divide each recording into 3-second event batches, each containing a different number of events in each sample. Figure 7 provides an example of an event batch, although it is not from the preprocessed dataset.

Following the event batch creation, we randomly select 3 event batches from each recording to include in our subset. For each subject and class, we save the randomly selected event batches into Numpy binary files. Subsequently, we combine

Fig. 10: Events captured per sample in batches from different parts of Subject 1's Letter F recording.

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-046bee4a-8577-4175-93de-a733f0e27c8c.jpg)

all event batches from each subject and organize them into 24 classes.

To create the train and validate datasets, we randomly shuffle the event batches for each class. We then allocate 70% of the event batches for training and reserve the remaining 30% for validation. Our training set contains 495 event batches and our validation set contains 214 event batches.

## V. EXPERIMENTS &amp; RESULTS

## A. Experimental Setup

As shown in 4, the input to the model is a tensor of dimension: [time steps, batch size, channels, height, width]. An input event batch of 3 sec duration has 30 time steps with bin window duration of 100 milliseconds. The batch size is set at 25 implementing mini-batch gradient descent (GD). Also, the frame height and width are 180 and 240 respectively with 2 number of channels. The training dataset that consists of 495 event batches is passed onto the CSNN model and the model is trained based on the learning method discussed in section III. For this work, the 'Adam' optimizer is utilized with a learning rate = 0.0005, Betas = (0.9, 0.999). The loss function used is 'MSE of the spike count' with the 80% correct rate and a 20% incorrect rate. With 495 training data points (event batches) and a mini-batch batch size of 25, we have 20 iterations in each epoch. For training, we have experimented with varying numbers of epochs. Similarly, for validation, we have a batch size of 214 with all 214 event batches being processed simultaneously to generate validation results.

## B. Hardware

Given the size of the dataset, we turned to Google Cloud Platform (GCP) for training our model using various hyperparameter combinations. When attempting to run the model locally on the dataset, we encountered issues with insufficient memory.

In terms of hardware, we employed the N2 machine series, featuring 8 Intel Cascade Lake and Ice Lake virtual CPUs (referred to as threads by GCP) and 32GB RAM. This series utilizes x86 architecture and the SCSI and NVMe disk interface type. We selected the N2 machine series due to its suitability for general-purpose workloads and batch processing, aligning perfectly with our requirements.

On GCP, we leveraged the Vertex AI Machine Learning platform to conduct our model training within a Jupyter Notebook. Before training, we set up a Bucket, a storage solution in GCP, to house our dataset. Subsequently, within the Vertex AI-hosted Jupyter Notebook, we trained the model using the dataset stored in the Bucket, which already contained the separated training and testing data.

## C. Results

This subsection shows the results from our model for the best-performing hyper-parameters, in the form of loss and accuracy plots as well as a table.

Figures 11 and 12 show the model's training accuracy and loss plots for training cases with 1 epoch and 10 epochs each. This was the best training performance the model had achieved. It starts to stabilize around 90%-100% for the last several GD batches. Also, the loss is gradually decreasing across all batches.

Figure 13 shows the validation loss and accuracy across models trained for 1, 3, 5, 9, and 10 epochs. The models that had been trained for longer epochs generally got a higher accuracy and a lower loss indicating that longer training will result in the model learning better and in turn performing better.

Table I shows an overview of results from the different epochs. As supported by the graphs, the training loss gradually decreases while the training accuracy increases with the number of epochs. It even hits 100% accuracy for a single training batch (GD batch) as early as 5 epochs. Similarly, the validation loss also decreases while accuracy increases for each of the epochs. However, we also noted the mismatch between training and validation accuracy. This might indicate that the model was overfitting to the training dataset although it could otherwise be attributed to noise in event batches (some event batches captured background objects behind some subjects showing ASL gestures). This leads to the proposed future work, which may aim at exploring different regularization techniques to improve validation accuracy.

## VI. CONCLUSION

For this project, we aimed to develop a CSNN model capable of processing and classifying the ASL-DVS dataset. To begin, we obtained the ASL-DVS dataset and pre-processed it to prepare it for training the CSNN model. Using GCP, we successfully developed and implemented the CSNN, achieving a high training accuracy of 100% and a validation accuracy of 81%. Our findings indicate that as the number of training epochs increased, the losses decreased and the accuracies improved. However, we observed a disparity between training

Fig. 11: Training Accuracy and Loss plot for 1 Epoch

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-a2f6c798-828c-43f3-bc83-03cbe4f01e7d.jpg)

Fig. 12: Training Accuracy and Loss plot for 10 Epochs

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-2e27067c-70fd-4d17-a8bd-55a9a89c2ea8.jpg)

## Validation Loss and Accuracy for 1, 3, 5, 9, 10 Epochs

Fig. 13: Validation Accuracy and Loss on Several Models

![image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00611v1-figure-26eef55e-2ab7-4e00-9781-d12339f52db8.jpg)

TABLE I: Experiment data for various hyperparameter combinations

|   No. of Epochs |   No. of Batches |   Batch Size |   No. of Iterations |   Learning Rate |   Train Loss |   Train Acc(%) |   Val Loss |   Val Acc(%) |
|-----------------|------------------|--------------|---------------------|-----------------|--------------|----------------|------------|--------------|
|               1 |               20 |           25 |                  20 |          0.0005 |         0.85 |             26 |       1.12 |           20 |
|               3 |               20 |           25 |                  60 |          0.0005 |         0.62 |             63 |       0.68 |           38 |
|               5 |               20 |           25 |                 100 |          0.0005 |         0.35 |            100 |       0.53 |           55 |
|               9 |               20 |           25 |                 175 |          0.0005 |         0.21 |            100 |       0.38 |           75 |
|              10 |               20 |           25 |                 200 |          0.0005 |         0.19 |            100 |       0.34 |           81 |

and validation accuracies, suggesting the need for further research to explore different regularization techniques aimed at enhancing validation accuracies.

## ACKNOWLEDGMENT

- [9] A. Amir, B. Taba, D. Berg, et al. , 'A low power, fully event-based gesture recognition system,' in Proceedings of the IEEE conference on computer vision and pattern recognition , 2017, pp. 7243-7252.

We would like to express our gratitude to Dr. Charlie Rizzo from the TENNLab for his invaluable assistance in clarifying DVS datasets. Despite recently defending his Ph.D. thesis, he generously devoted his time to aid us in understanding the intricacies of neuromorphic dataset processing.

## REFERENCES

- [1] A. Krizhevsky, I. Sutskever, and G. E. Hinton, 'Imagenet classification with deep convolutional neural networks,' Advances in neural information processing systems , vol. 25, 2012.
- [2] R. Girshick, J. Donahue, T. Darrell, and J. Malik, 'Rich feature hierarchies for accurate object detection and semantic segmentation,' in Proceedings of the IEEE conference on computer vision and pattern recognition , 2014, pp. 580-587.
- [3] F. Zhan, 'Hand gesture recognition with convolution neural networks,' in 2019 IEEE 20th international conference on information reuse and integration for data science (IRI) , IEEE, 2019, pp. 295-298.
- [4] L. Pigou, S. Dieleman, P.-J. Kindermans, and B. Schrauwen, 'Sign language recognition using convolutional neural networks,' in Computer Vision-ECCV 2014 Workshops: Zurich, Switzerland, September 6-7 and 12, 2014, Proceedings, Part I 13 , Springer, 2015, pp. 572-578.
- [5] M. Al-Hammadi, G. Muhammad, W. Abdul, et al. , 'Deep learning-based approach for sign language gesture recognition with efficient hand gesture representation,' Ieee Access , vol. 8, pp. 192 527-192 542, 2020.
- [6] B. Hu and J. Wang, 'Deep learning based hand gesture recognition and uav flight controls,' International Journal of Automation and Computing , vol. 17, no. 1, pp. 17-29, 2020.
- [7] S. M. McKinney, M. Sieniek, V. Godbole, et al. , 'International evaluation of an ai system for breast cancer screening,' Nature , vol. 577, no. 7788, pp. 89-94, 2020.
- [8] J. K. Eshraghian, M. Ward, E. O. Neftci, et al. , 'Training spiking neural networks using lessons from deep learning,' Proceedings of the IEEE , 2023.
- [10] I. J. Tsang, F. Corradi, M. Sifalakis, W. Van Leekwijck, and S. Latr´ e, 'Radar-based hand gesture recognition using spiking neural networks,' Electronics , vol. 10, no. 12, p. 1405, 2021.
- [11] Y. Hu, H. Liu, M. Pfeiffer, and T. Delbruck, 'Dvs benchmark datasets for object tracking, action recognition, and object recognition,' Frontiers in neuroscience , vol. 10, p. 210 251, 2016.
- [12] Y. Bi, A. Chadha, A. Abbas, E. Bourtsoulatze, and Y. Andreopoulos, 'Graph-based spatio-temporal feature learning for neuromorphic vision sensing,' IEEE Transactions on Image Processing , vol. 29, pp. 9084-9098, 2020.
- [13] Y. Xing, G. Di Caterina, and J. Soraghan, 'A new spiking convolutional recurrent neural network (scrnn) with applications to event-based hand gesture recognition,' Frontiers in neuroscience , vol. 14, p. 590 164, 2020.
- [14] W. Ke, Y. Xing, G. Di Caterina, L. Petropoulakis, and J. Soraghan, 'Deep convolutional spiking neural network based hand gesture recognition,' in 2020 international joint conference on neural networks (ijcnn) , IEEE, 2020, pp. 1-7.
- [15] C. Leo, The math behind convolutional neural networks , Apr. 2024. [Online]. Available: https : / / towardsdatascience . com / the -math -behind -convolutional-neural-networks-6aed775df076.
- [16] A. Samadzadeh, F. S. T. Far, A. Javadi, A. Nickabadi, and M. H. Chehreghani, 'Convolutional spiking neural networks for spatio-temporal feature extraction,' Neural Processing Letters , vol. 55, no. 6, pp. 6979-6995, 2023.
- [17] G. Orchard, A. Jayawant, G. K. Cohen, and N. Thakor, 'Converting static image datasets to spiking neuromorphic datasets using saccades,' Frontiers in neuroscience , vol. 9, p. 159 859, 2015.
- [18] IniVation, Davis 240 . [Online]. Available: https : / / inivation.com/wp-content/uploads/2019/08/DAVIS240. pdf.
- [19] R. Patel, S. Tripathy, Z. Sublett, S. An, and R. Patel, CSNN4ASLDVS . [Online]. Available: https : / / github . com/patelria007/COSC525 ASL SNN.git.

[20] G. Lenz and J. K. Eshraghian, Tutorial 7 - neuromorphic datasets with tonic + snntorch , 2021. [Online]. Available: https://snntorch.readthedocs.io/en/latest/tutorials/ tutorial 7.html.

## VII. APPENDICES

## A. Coding

Our code repository [19] is organized into three main directories. The animations/ directory contains visualization GIFs showcasing the event-based data. The src/ directory houses our model code and dataloader scripts. The utils/ directory contains code for data preprocessing, analysis, and visualization.

For our implementation, we utilize the PyTorch framework along with the snnTorch framework, which serves as a PyTorch extension for spiking neural networks. Additionally, we incorporate Tonic, a library that streamlines the loading of neuromorphic datasets into the PyTorch framework. Tonic enables the application of transforms specifically designed for spatiotemporal datasets, while also being compatible with native PyTorch transforms.

## B. Code Design

1) Data Pre-processing: Our data pre-processing code utilizes the DV-Processing library mostly. In the 'utils/' directory of our repository, we created a 'helper funcs.py' that contains utility functions to perform batching of the recording data. These functions are used in the Jupyter notebooks 'data explore.ipynb' and 'data preprocess.ipynb', which are to be run in the respective order. The 'generate letter datasets.py' script, which must be run before the 'data preprocess.ipynb' code, utilizes the other two scripts in the directory 'export aedat4 to csv.py' and 'process aedat files.py' to create the training and validation datasets.

2) Model: The model design code was influenced by a snnTorch tutorial demonstrating the use of Convolutional Spiking Neural Networks (CSNNs) on the Neuromorphic MNIST (N-MNIST) dataset [8], [20]. This tutorial provided insights into importing the DVS dataset into Tonic.

To adapt the CSNN architecture for the ASL-DVS dataset, which has larger and non-square input dimensions compared to the 34 × 34 dimensions of the N-MNIST dataset, we made significant changes to the network structure. These changes included modifying the layers, adjusting the number of neurons in each layer, and refining the convolutional filters.
Ria Patel Sujit Tripathy Zachary Sublett Seoyoung An Riya Patel
Using CSNNs to Perform Event-based Data Processing & Classification on ASL-DVS
Recent advancements in bio-inspired visual sensing and neuromorphic computing
have led to the development of various highly efficient bio-inspired solutions
with real-world applications. One notable application integrates event-based
cameras with spiking neural networks (SNNs) to process event-based sequences
that are asynchronous and sparse, making them difficult to handle. In this
project, we develop a convolutional spiking neural network (CSNN) architecture
that leverages convolutional operations and recurrent properties of a spiking
neuron to learn the spatial and temporal relations in the ASL-DVS gesture
dataset. The ASL-DVS gesture dataset is a neuromorphic dataset containing hand
gestures when displaying 24 letters (A to Y, excluding J and Z due to the
nature of their symbols) from the American Sign Language (ASL). We performed
classification on a pre-processed subset of the full ASL-DVS dataset to
identify letter signs and achieved 100\% training accuracy. Specifically, this
was achieved by training in the Google Cloud compute platform while using a
learning rate of 0.0005, batch size of 25 (total of 20 batches), 200
iterations, and 10 epochs.