Utilize este identificador para referenciar este registo: https://hdl.handle.net/10316/102980
Título: YOLO Neural Networks On Reconfigurable Logic For Vehicle Traffic Controll
Outros títulos: Redes Neuronais YOLO Em Lógica Reconfigurável para Controlo de Trânsito de Veículos
Autor: Azevedo, José Pedro Araújo
Orientador: Lobo, Jorge Nuno de Almeida e Sousa Almada
Palavras-chave: FPGA; IoT; YOLO; Deteção de objetos; Edge Computing; FPGA; IoT; YOLO; Object Detection; Edge Computing
Data: 28-Set-2022
Título da revista, periódico, livro ou evento: YOLO Neural Networks On Reconfigurable Logic For Vehicle Traffic Controll
Local de edição ou do evento: DEEC
Resumo: A detecção de objetos é uma tarefa crucial que possui várias aplicações, incluindo veículos autônomos, segurança e inúmeras aplicações em fábricas e cidades inteligentes. A maioria destas aplicações usa dispositivos IoT, o problema com edge devices é seu possuirem baixo poder computacional e serem limitados pelo baixo consumo de energias. Como resultado, uma percentagem significativa de sua computação é realizada na cloud e, deste modo, há sempre um atraso nestas soluções, e a maioria delas utiliza grande poder computacional, promovendo alto consumo de energia. Para melhorar esse aspecto, é necessário realizar alguma computação localmente, fornecendo soluções rápidas, de baixo custo e energeticamente eficientes.A solução proposta envolve a implementação de Redes Neuronais NN YOLOv3,v4,v5 em GPUs e CPUs (simulando cloud computing) e em FPGAs (simulando edge computing ). As implementações foram testadas utilizando o dataset COCO, envolvendo um total de 14 modelos de redes neuronais. Nestas implementações, o consumo de energia foi medido, permitindo comparações precisas dos modelos mais eficientes em termos de energia nos diferentes tipos de hardware. Estas implementações visam alcançar um equilíbrio entre precisão e eficiência energética, levando em consideração soluções computacionalmente leves.Para realizar a inferência na FPGA, foram utilizadas duas frameworks, Pynq e Vitis-Ai. Devido à sua complexidade, a paralelização não foi realizada na framework Pynq, no entanto, foi possível atingir 1,23 FPS e atingir 0,09 frames/joule. A paralelização na framework Vitis-AI permitiu atingir 57,93 FPS e 2.25 frames/joule.Por fim, foram desenvolvidos modelos de detecção de objetos que operam em tempo real (mais de 30 FPS em GPU e FPGA), alcançando 2,25 frames/joule em implementações na FPGA e 1.31 frames/joule em implementações de GPU, respectivamente.Comparando as implementações mais eficientes em FPGA e GPU, a FPGA é 1.78 vezes mais eficiente.
Object detection is a crucial task that has multiple applications, including autonomous vehicles, security, agriculture and many applications in manufacturing and smart cities. The majority of these applications use IoT devices, the problem with these edge devices is their limited computing power and limited energy resources. As a result, a significant percentage of their computing is performed in the cloud, and as a result, there is always a delay in these solutions, and many of them consume a significant amount of computational power, resulting in high energy consumption. To improve this aspect, it is necessary to perform some computing locally, providing fast, low-cost and energy-efficient solutions.The proposed solution focuses on implementing YOLOv3,v4,v5 NN in GPUs and CPUs (simulating cloud computing) and on FPGAs (simulating edge computing). The implementations were tested using the COCO dataset, involving a total of 14 NN models. In these implementations, energy consumption was measured, allowing for precise comparisons of the most energy-efficient models across different types of hardware.These implementations aim to achieve a balance between accuracy and energy efficiency by taking into account computationally lightweight solutions.To perform inference on the FPGA, two frameworks, Pynq and Vitis-Ai, were used. Due to its complexity, parallelization was not performed in the Pynq framework, however, it was possible to achieve 1.23 FPS while achieving 0.09 frames/joule. Parallelization within the Vitis-AI framework allowed for the achievement of 57.93 FPS at 2.25 frames per joule.Finally, object detection models that operate in real time (more than 30 FPS on GPU and FPGA) have been developed, achieving 2.25 frames/joule on FPGA implementations and 1.31 frames/joule on GPU implementations, respectively. Comparing the most efficient FPGA implementation to the most efficient GPU implementation, the FPGA is 1.78 times more efficient.
Descrição: Dissertação de Licenciatura em Engenharia Eletrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/102980
Direitos: openAccess
Aparece nas coleções:UC - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato
Dissertation_José_Azevedo_15_09_22.pdf7.16 MBAdobe PDFVer/Abrir
Mostrar registo em formato completo

Visualizações de página

259
Visto em 16/jul/2024

Downloads

259
Visto em 16/jul/2024

Google ScholarTM

Verificar


Este registo está protegido por Licença Creative Commons Creative Commons