PERFORMANCE OF SPIKING NEURAL NETWORKS ON EVENT DATA FOR EMBEDDED AUTOMOTIVE APPLICATIONS
UNIVERSITE COTE D’AZURE
Loic Cordone
ABSTRACT
Today, cars are increasingly equipped with intelligent algorithms, known as advanced driver assistance systems (ADAS), which seek to avoid the occurrence of dangerous situations that could lead to accidents. These embedded algorithms have very high constraints in terms of latency, performance and energy consumption. Neural networks, loosely inspired by the functioning of biological neurons, are today the most powerful artificial intelligence algorithms. They are able to meet the latency and performance requirements of automotive embedded algorithms, but their implementation on conventional architectures (CPU/GPU) results in high energy consumption, accentuated by the fact that they need to run continuously.One solution to this problem may lie in the use of spiking neural networks (SNNs), a more biologically plausible type of neural network in which artificial neurons communicate with each other solely through asynchronous, binary electrical pulses called spikes. Because of this operation, SNNs promise lower power consumption on specialized hardware architectures, called neuromorphic architectures. These architectures are composed of parallelized and distributed memory and computing units, as is the case in our brain. Thus, they require less energy as they only have to process sparse binary values.A major obstacle to the use of SNNs to address computer vision problems is precisely this representation of information in the form of spikes, which is not the representation used for images. A promising way to represent visual information in the form of spikes is, once again, to draw inspiration from biology. A new type of camera, called an event camera, captures visual information using photoreceptor pixels that independently detect changes in brightness. The output of this type of camera therefore takes the form of events, where each change in brightness is represented by its position, time (to the microsecond precision) and a binary value indicating whether the change in brightness is positive or negative. In practice, the changes in brightness represent the movement of objects, so the camera only outputs events at the locations and times a movement has occurred.