Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)

Detalhes bibliográficos
Autor(a) principal: Fernandes, João Pedro Alves
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/79848
Resumo: Dissertação de mestrado em Computer Science
id RCAP_3bd5d2cf033f22c1079a78c8bc70a588
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/79848
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Computer ScienceMachine 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.Machine 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.Proença, Alberto JoséPereira, André MartinsFerreira, André LeiteUniversidade do MinhoFernandes, João Pedro Alves2018-12-122018-12-12T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/79848eng203009010info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-12-09T01:20:24Zoai:repositorium.sdum.uminho.pt:1822/79848Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:14:24.430659Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
title Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
spellingShingle Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
Fernandes, João Pedro Alves
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
title_full Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
title_fullStr Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
title_full_unstemmed Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
title_sort Deeploy: a neural network computer vision tool (for the NVidia Tegra TX2 Embedded System)
author Fernandes, João Pedro Alves
author_facet Fernandes, João Pedro Alves
author_role author
dc.contributor.none.fl_str_mv Proença, Alberto José
Pereira, André Martins
Ferreira, André Leite
Universidade do Minho
dc.contributor.author.fl_str_mv Fernandes, João Pedro Alves
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Computer Science
publishDate 2018
dc.date.none.fl_str_mv 2018-12-12
2018-12-12T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/79848
url https://hdl.handle.net/1822/79848
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203009010
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132586732158976