Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/103086
DC FieldValueLanguage
dc.contributor.advisorLobo, Jorge Nuno de Almeida e Sousa Almada-
dc.contributor.authorVieira, Rafael Alves-
dc.date.accessioned2022-10-17T22:04:10Z-
dc.date.available2022-10-17T22:04:10Z-
dc.date.issued2022-10-06-
dc.date.submitted2022-10-17-
dc.identifier.urihttps://hdl.handle.net/10316/103086-
dc.descriptionDissertação de Mestrado em Engenharia Eletrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia-
dc.description.abstractA detecção de objectos é uma tarefa importante e frequentemente aplicada nas áreas da medicina, segurança e transporte, onde as soluções fornecidas por machine learning alcançam grandes resultados, mas são frequentemente obtidas através de um elevado esforço computacional.Os oceanos do nosso planeta ainda permanecem, em larga escala, inexplorados. Explorar um ambiente tão vasto seria mais fácil e eficiente utilizando dispositivos remotos, ou robôs. A fim de utilizar pequenos dispositivos robóticos para detecção de objectos, um dos métodos é usar o dispositivo remoto para recolher dados, e depois processá-los dentro de um servidor de cloud computing. No entanto, em situações em que o processamento de dados em tempo real é importante, cloud computing não é a melhor solução a seguir, uma vez que iremos lidar com muita latência, falta de largura de banda, e consumo de energia ao enviar e receber dados. Para este tipo de situações a edge computing}é uma melhor opção, o que significa que, no mesmo instante, podemos obter dados e processá-los de imediato. Os algoritmos de detecção de objectos são tipicamente executados por Graphics Processing Units (GPUs), e a sua utilização de um num dispositivo com uma fonte de energia limitada pode encurtar a autonomia numa quantidade considerável.Nesta dissertação, utilizamos uma das arquitecturas CNN mais conhecidas, YOLO (You Only Look Once), (neste caso YOLO v3 Tiny) para detectar espécies marinhas, comparando ambas as abordagens (cloud e edge computing). Para representar o processamento de dados feito pela abordagem de cloud computing, executamos o algoritmo de detecção numa GPU. Quanto à abordagem de edge computing, usamos numa Field Programmable Logic Gate Array (FPGA), que nos permite explorar diferentes equilíbrios entre consumo energético, latência, frames por segundo, e métricas de classificação.A eficácia de um pré-processamento que melhore a visibilidade das imagens subaquáticas é também analisada e explorada: verificou-se que a filtragem contribui mais para as CNNs como técnica de data augmentation, em vez de melhorar a métrica de detecção utilizando-a como um algoritmo de pré-processamento. Também consome uma grande quantidade de energia, na maioria das vezes, muito mais do que a operação de detecção.Para executar o algoritmo de detecção na FPGA, utilizámos três frameworks diferentes: PYNQ, FINN e Vitis-AI. Apenas PYNQ e Vitis-AI foram implementadas com sucesso devido a limitiações da FINN. PYNQ representa uma implementação sem paralelização ou quantização, atingindo 1,88 FPS e gastando 3,83 Joule por frame. Enquanto Vitis-AI executa uma versão quantizada e paralelizada, atingindo 70,05 FPS e 0,31 Joule por frame.Com a GPU foram alcançados 246 FPS e 0,55 Joule por frame. No entanto, uma comparação precisa com uma abordagem de cloud computing exigiria a transferência de dados entre os dispositivos de edge e cloud computing. Também é nessecário de ter em consideração a potência nominal e a potência em períodos de inatividade.por
dc.description.abstractObject detection is an important and frequently applied task in the areas of medicine,security and transport, where the solutions provided by machine learning achieve greatresults, but are often obtained through heavy computational effort.To a large extent, the oceans of our planet still remain unexplored. Exploring such awide environment would be easier and more efficient using remotes devices, or robots. Inorder to use small robotic devices for object detection, one method is to rely on the remotedevice to gather data, and then process it inside a cloud computing server. However,in situations where real-time processing of data is required, cloud computing isn’t thebest path to take, since we will be dealing with a lot of latency, bandwidth shortage, andenergy consumption when sending and receiving data. For these kinds of situations edgecomputing is a better option, meaning that, in the same instant, it can obtain data andprocess right away. Object detection algorithms are typically run by Graphics ProcessingUnits (GPUs), and using one in a device with limited power can shorten the autonomy bya considerable amount.In this dissertation, we use one of the most well known CNN arquitectures, YOLO(You Only Look Once), (in this case YOLO v3 Tiny) to detect marine species, comparingboth approaches (cloud and edge computing). To represent data processing done by thecloud computing approach we run the detection algorithm on a GPU. As for the edgecomputing approach we rely on an Field Programmable Logic Gate Array (FPGA), whichallows us to explore trade-offs between power consumption, latency, frames per second,and classification metrics. The effectiveness of a pre-processing that improves the visibilityof underwater images is also analyzed and explored: it was found that filtering contributesthe most for CNNs as a data augmentation technique, rather than improving detectionmetrics by using it as a pre-processing algorithm. It also consumes a high amount ofenergy, most of the times, much more than the detection operation.To run the detection algorithm in the FPGA, we used three different frameworks:PYNQ, FINN and Vitis-AI. Only PYNQ and Vitis-AI were successfully implemented, dueto some limitations of FINN. PYNQ represents an implementation without parallelizationor quantization, achieving 1.88 FPS and spending 3.83 Joule per frame. While Vitis-AIruns a quantized and parallelized version, achieving 70.05 FPS and 0.31 Joule per frame.When comparing the results in edge computing with the cloud computing approach, byusing a GPU we achieved 246 FPS and 0.55 Joule per frame. Besides Joules per frame,the nominal power as well as the idle operational power needs to be taken in consideration.However, an accurate comparison with a cloud computing approach would require transferof data between the edge and cloud device.eng
dc.description.sponsorshipOutro - Instituto de Sistemas e Robótica-
dc.language.isoeng-
dc.rightsopenAccess-
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/-
dc.subjectFPGApor
dc.subjectYolopor
dc.subjectDetecção de objectospor
dc.subjectEdge Computingpor
dc.subjectFPGAeng
dc.subjectYoloeng
dc.subjectObject Detectioneng
dc.subjectUnderwater Imageeng
dc.subjectEdge Computingeng
dc.titleYolo v3 Tiny on Reconfigurable Logic for Underwater Enviromentseng
dc.title.alternativeYolo v3 Tiny em Lógica Reconfigurável para Ambientes Subaquáticospor
dc.typemasterThesis-
degois.publication.locationDEEC-
degois.publication.titleYolo v3 Tiny on Reconfigurable Logic for Underwater Enviromentseng
dc.peerreviewedyes-
dc.identifier.tid203077741-
thesis.degree.disciplineEngenharia Electrotécnica e de Computadores-
thesis.degree.grantorUniversidade de Coimbra-
thesis.degree.level1-
thesis.degree.nameMestrado em Engenharia Eletrotécnica e de Computadores-
uc.degree.grantorUnitFaculdade de Ciências e Tecnologia - Departamento de Eng. Electrotécnica e de Computadores-
uc.degree.grantorID0500-
uc.contributor.authorVieira, Rafael Alves::0000-0003-4475-9716-
uc.degree.classification18-
uc.degree.presidentejuriAraújo, Hélder de Jesus-
uc.degree.elementojuriLobo, Jorge Nuno de Almeida e Sousa Almada-
uc.degree.elementojuriMenezes, Paulo Jorge Carvalho-
uc.contributor.advisorLobo, Jorge Nuno de Almeida e Sousa Almada::0000-0001-6857-0737-
item.openairetypemasterThesis-
item.fulltextCom Texto completo-
item.languageiso639-1en-
item.grantfulltextopen-
item.cerifentitytypePublications-
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
Appears in Collections:UC - Dissertações de Mestrado
Files in This Item:
File Description SizeFormat
dissertacao_mestrado_Rafael_Vieira.pdf6.46 MBAdobe PDFView/Open
Show simple item record

Page view(s)

282
checked on Jul 16, 2024

Download(s)

178
checked on Jul 16, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons