Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/79848

Registo completo
Campo DCValorIdioma
dc.contributor.advisorProença, Alberto Josépor
dc.contributor.advisorPereira, André Martinspor
dc.contributor.advisorFerreira, André Leitepor
dc.contributor.authorFernandes, João Pedro Alvespor
dc.date.accessioned2022-09-30T16:45:41Z-
dc.date.available2022-09-30T16:45:41Z-
dc.date.issued2018-12-12-
dc.date.submitted2018-10-
dc.identifier.urihttps://hdl.handle.net/1822/79848-
dc.descriptionDissertação de mestrado em Computer Sciencepor
dc.description.abstractMachine Learning (ML) gives a computer system the ability to perform a certain task without being explicitly programmed to do it. Although ML is not a new topic in the field of computer science, these techniques have been gaining increasing popularity due to advances in hardware (especially GPUs). More powerful hardware supports more efficient training and a more responsive end-system, once deployed. These algorithms have proven to be particularly effective in image processing and feature detection, namely with deep neural networks. In the context of a vehicle, autonomous or not, perceiving its external and internal environment enables the ability to detect and identify left behind objects, its misuse or other potentially dangerous situations. This captured data is relevant to trigger vehicle intelligent responses. Bosch is currently developing a system that has these capabilities and plans to leverage deep learning approaches to implement it. This work aimed to test and evaluate the suitability of a given embedded device for the project. It also determined the best strategy to implement deep learning solutions in the device. The supplied test bed was a NVidia Software Development Kit (SDK) system for the embedded NVidia Jetson TX2 device with the System-on-Chip (SOC) Parker, an heterogeneous computing chip with 2 Denver-cores (a NVidia implementation of ARM-64 architecture), 4 CortexA57-cores (also ARM-64), 256 Pascal GPU-cores and support for up to 6 video cameras. The SDK includes several software library packages, including for image processing and ML. With the goal of fully exploiting the embedded device compute capabilities, this work studied several inference frameworks, going as far as implementing an inference engine from scratch (named Deeploy) that produces inferences based on two libraries provided by NVidia: cuDNN and TensorRT. Deeploy was evaluated against well known and established frameworks, namely Tensorflow, PyTorch and Darknet, in terms of efficiency, resource management and overall ease of use, maintainability and flexibility. This work also exploited key performance related features available on the device, such as power modes, half-precision floating point computation and the implemented shared memory architecture between the GPU-cores and the CPU-cores.por
dc.description.abstractMachine Learning dá a um sistema informático a capacidade de completar uma dada tarefa sem ser explicitamente programado para tal. Apesar de Machine Learning não ser um tópico novo no campo da engenharia informática, estas técnicas têm-se tornado cada vez mais comuns devido a avanços no hardware (especialmente nos GPUs). Hardware mais computa-cionalmente capaz dá origem a treinos mais eficientes e a sistemas em campo mais rápidos. Este tipo de técnicas, em especial redes neuronais, demonstraram-se eficazes no processa-mento de imagens e deteção de objetos. No contexto de um veículo, autónomo ou não, perceber o seu interior e o ambiente no qual este se insere é essencial para detetar objetos esquecidos, o uso indevido do mesmo ou outro tipo de situações perigosas. Esta informação é essencial para desencadear respostas inteligentes por parte do veículo. A Bosch está atualmente a desenvolver um sistema com estas capacidades e para o implementar pretende utilizar soluções baseadas em redes neu-ronais. Com o projeto pretendeu-se testar e avaliar a aptidão de um dado dispositivo embe-bido para este projeto. Serviu também para determinar a melhor estratégia para se fazer a implementação de redes neuronais neste dispositivo. Os testes foram feitos num kit de desenvolvimento da NVidia que consiste num NVidia Jetson TX2 que contém um chip de computação heterogéneo composto por 2 cores Denver (implementação da NVidia da ar-quitetura ARM-64), 4 cores CortexA57 (também ARM-64), 256 cores GPU Pascal e capacidade de se conectar até 6 camaras de vídeo. O kit de desenvolvimento inclui várias bibliotecas de software para processamento de imagem e até para ML. Com o objectivo de tirar total partido das capacidades computacionais do sistema em-bebido, este trabalho explorou várias plataformas de inferência, implementando mesmo um motor de raiz capaz de fazer inferência recorrendo a duas bibliotecas desenvolvi-das pela NVidia: cuDNN e tensorRT. Foi também feita uma comparação entre as duas implementações desenvolvidas e frameworks tradicionais como Tensorflow, PyTorch e Dark-net no que toca a eficiência, facilidade de manutenção e flexibilidade. Este trabalho ex-plorou também as features chave que estão relacionadas com performance disponibilizadas pelo dispositivo embebido, como modos de consumo de energia, computação numérica de virgula flutuante de meia precisão e a arquitetura de memória partilhada implementada entre os múltiplos cores ARM-64 e os CUDA-cores do GPU.por
dc.language.isoengpor
dc.rightsopenAccesspor
dc.titleDeeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)por
dc.typemasterThesiseng
dc.identifier.tid203009010por
thesis.degree.grantorUniversidade do Minhopor
sdum.degree.grade18 valorespor
sdum.uoeiEscola de Engenhariapor
dc.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Joao Pedro Alves Fernandes.pdfDissertação de Mestrado6,97 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID