Diseño de unidad de procesamiento configurable en FPGA para aceleración de convolución en aplicación de visión por computador - Castro-Villalobos, Samuel Daniel (Instituto Tecnológico de Costa Rica, 2024)
El presente documento contempla el informe del proyecto final de graduación para optar por el título de Ingeniería Mecatrónica en el Instituto Tecnológico de Costa Rica. El desarrollo del proyecto se centró en la implementación de una unidad de procesamiento para el algoritmo de convolución, con el propósito de utilizarlo en aplicaciones de visión por computadora para clasificación. El sistema diseñado se trata de un acelerador de hardware capaz de ejecutar la operación de convolución por medio de una técnica de convolución separable para su uso en funciones de aprendizaje profundo. El sistema fue diseñado por medio de Vivado HLS 2018.2 para su uso en FPGAs de bajo perfil. Se desarrolló con una arquitectura flexible al estar integrado a la estructura del framework de Flexible Accelerators Library del MHPC Luis León Vega y el ECASLab del Tecnológico de Costa Rica. Este se evaluó por medio de un estudio de Design Space Exploration que evaluó su consumo de recursos, de latencia y de calidad operativa en el procesamiento de imágenes en comparación con aproximaciones basadas enteramente en software. Además, este se integró a una red neuronal basada en el modelo de MobileNetV2 en donde se validó su aplicabilidad en escenarios de clasificación de imágenes propios de la visión por computador donde se obtuvieron resultados que demostraron su versatilidad y óptima aplicación en este contexto.

This document encompasses the final graduation project report to qualify for the title of Mechatronic Engineering at the Costa Rica Institute of Technology. The project's development focused on implementing a processing unit for the convolution algorithm, aiming to utilize it in computer vision applications for classification. The designed system is a hardware accelerator capable of performing the convolution operation using a separable convolution technique for deep learning functions. The system was designed using Vivado HLS 2018.2 for low-profile FPGAs. It was developed with a flexible architecture integrated into the structure of the Flexible Accelerators Library framework of MHPC Luis León Vega and the ECASLab of the Costa Rica Institute of Technology. It was evaluated through a Design Space Exploration study that assessed its resource consumption, latency, and operational quality in image processing compared to entirely software-based approaches. Furthermore, it was integrated into a neural network based on the MobileNetV2 model, where its applicability in computer vision image classification scenarios was validated. Results were obtained that demonstrated its versatility and optimal application in this context.
Proyecto de Graduación (Licenciatura en Ingeniería Mecatrónica) Instituto Tecnológico de Costa Rica, Área Académica de Ingeniería Mecatrónica, 2024
Keywords: Procesamiento configurable; Field Programable Gate Array (FPGA); Redes neuronales (Computadores); MobileNet; Visión por computador; Algoritmo de convolución; Aprendizaje profundo (Aprendizaje automático); Lógica -- Arquitectura; Configurable processing; Neural networks (Computers); Computer vision; Convolution algorithm; Deep learning (Machine Learning); Logic -- Architecture; Research Subject Categories::TECHNOLOGY