FFT accelerated sobel edge detection on Cyclone V SoC - Nguyen, Peter (My University, 2024)
With the increase of processing power in parallel computing, there has been a massive amount of research being done on implementing machine learning and artificial intelligence in real systems. This implementation has led to the development of computer vision systems. Computer vision systems are systems that utilize machine learning and neural networks to help computers understand the visual world. Neural networks are a subset of machine learning that aims to mimic the human brain in computers. Computer vision systems typically use Graphics Processing Units to accomplish this task. In computer vision systems, the most typical neural networks used are Convolutional Neural Networks (CNNs). CNNs utilize convolution in two-dimensional space to help computers identify important characteristics in images and videos, such as humans, objects, edges, etc. This thesis focuses on two main aspects of computer vision systems. The first focus is on proving that convolutions done in CNNs can be replaced with a frequency transformation for a potential decrease in computation time. The second focus is on creating a fully portable System on Chip-Field Programmable Gate Array (SoC–FPGA) design that will implement the frequency transformation-based CNNs. This thesis accomplishes these two goals through a SoC-FPGA design that applies frequency transformation-based convolution, resulting in images identical to traditional two-dimensional convolution with performance similar to current generation CPUs.
Keywords: CNN; FFT; Convolutional neural network