Optimization of deep learning algorithms for an autonomous RC vehicle

Bibliographic Details
Main Author: Pereira, André Filipe Amorim
Publication Date: 2021
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/1822/81354
Summary: Dissertação de mestrado em Engenharia Informática
id RCAP_894f66fcaa56b9ce7553fb92038f752c
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/81354
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Optimization of deep learning algorithms for an autonomous RC vehicleComputer visionParallel computingDeep learningInferenceHomogeneous programmingHeterogeneous programmingOptimizationAutonomous drivingVisão por computadorComputação paralelaAprendizagem profundaInferênciaProgramação homogéneaProgramação heterogéneaOtimizaçãoCondução autónomaEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia InformáticaThis dissertation aims to evaluate and improve the performance of deep learning (DL) algorithms to autonomously drive a vehicle, using a Remo Car (an RC vehicle) as testbed. The RC vehicle was built with a 1:10 scaled remote controlled car and fitted with an embedded system and a video camera to capture and process real-time image data. Two different embedded systems were comparatively evaluated: an homogeneous system, a Raspberry Pi 4, and an heterogeneous system, a NVidia Jetson Nano. The Raspberry Pi 4 with an advanced 4-core ARM device supports multiprocessing, while the Jetson Nano, also with a 4-core ARM device, has an integrated accelerator, a 128 CUDA-core NVidia GPU. The captured video is processed with convolutional neural networks (CNNs), which interpret image data of the vehicle’s surroundings and predict critical data, such as lane view and steering angle, to provide mechanisms to drive on its own, following a predefined path. To improve the driving performance of the RC vehicle, this work analysed the programmed DL algorithms, namely different computer vision approaches for object detection and image classification, aiming to explore DL techniques and improve their performance at the inference phase. The work also analysed the computational efficiency of the control software, while running intense and complex deep learning tasks in the embedded devices, and fully explored the advanced characteristics and instructions provided by the two embedded systems in the vehicle. Different machine learning (ML) libraries and frameworks were analysed and evaluated: TensorFlow, TensorFlow Lite, Arm NN, PyArmNN and TensorRT. They play a key role to deploy the relevant algorithms and to fully engage the hardware capabilities. The original algorithm was successfully optimized and both embedded systems could perfectly handle this workload. To understand the computational limits of both devices, an additional and heavy DL algorithm was developed that aimed to detect traffic signs. The homogeneous system, the Raspberry Pi 4, could not deliver feasible low-latency values, hence the detection of traffic signs was not possible in real-time. However, a great performance improvement was achieved using the heterogeneous system, Jetson Nano, enabling their CUDA-cores to process the additional workload.Esta dissertação tem como objetivo avaliar e melhorar o desempenho de algoritmos de deep learning (DL) orientados à condução autónoma de veículos, usando um carro controlado remotamente como ambiente de teste. O carro foi construído usando um modelo de um veículo de controlo remoto de escala 1:10, onde foi colocado um sistema embebido e uma câmera de vídeo para capturar e processar imagem em tempo real. Dois sistemas embebidos foram comparativamente avaliados: um sistema homogéneo, um Raspberry Pi 4, e um sistema heterogéneo, uma NVidia Jetson Nano. O Raspberry Pi 4 possui um processador ARM com 4 núcleos, suportando multiprocessamento. A Jetson Nano, também com um processador ARM de 4 núcleos, possui uma unidade adicional de processamento com 128 núcleos do tipo CUDA-core. O vídeo capturado e processado usando redes neuronais convolucionais (CNN), interpretando o meio envolvente do veículo e prevendo dados cruciais, como a visibilidade da linha da estrada e o angulo de direção, de forma a que o veículo consiga conduzir de forma autónoma num determinado ambiente. De forma a melhorar o desempenho da condução autónoma do veículo, diferentes algoritmos de deep learning foram analisados, nomeadamente diferentes abordagens de visão por computador para detecção e classificação de imagens, com o objetivo de explorar técnicas de CNN e melhorar o seu desempenho na fase de inferência. A dissertação também analisou a eficiência computacional do software usado para a execução de tarefas de aprendizagem profunda intensas e complexas nos dispositivos embebidos, e explorou completamente as características avançadas e as instruções fornecidas pelos dois sistemas embebidos no veículo. Diferentes bibliotecas e frameworks de machine learning foram analisadas e avaliadas: TensorFlow, TensorFlow Lite, Arm NN, PyArmNN e TensorRT. Estes desempenham um papel fulcral no provisionamento dos algoritmos de deep learning para tirar máximo partido das capacidades do hardware usado. O algoritmo original foi otimizado com sucesso e ambos os sistemas embebidos conseguiram executar os algoritmos com pouco esforço. Assim, para entender os limites computacionais de ambos os dispositivos, um algoritmo adicional mais complexo de deep learning foi desenvolvido com o objetivo de detectar sinais de transito. O sistema homogéneo, o Raspberry Pi 4, não conseguiu entregar valores viáveis de baixa latência, portanto, a detecção de sinais de trânsito não foi possível em tempo real, usando este sistema. No entanto, foi alcançada uma grande melhoria de desempenho usando o sistema heterogeneo, Jetson Nano, que usaram os seus núcleos CUDA adicionais para processar a carga computacional mais intensa.Proença, Alberto JoséPereira, André MartinsFerreira, André LeiteUniversidade do MinhoPereira, André Filipe Amorim2021-10-212021-10-21T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/81354eng203056370info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T05:21:35Zoai:repositorium.sdum.uminho.pt:1822/81354Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:15:52.569491Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Optimization of deep learning algorithms for an autonomous RC vehicle
title Optimization of deep learning algorithms for an autonomous RC vehicle
spellingShingle Optimization of deep learning algorithms for an autonomous RC vehicle
Pereira, André Filipe Amorim
Computer vision
Parallel computing
Deep learning
Inference
Homogeneous programming
Heterogeneous programming
Optimization
Autonomous driving
Visão por computador
Computação paralela
Aprendizagem profunda
Inferência
Programação homogénea
Programação heterogénea
Otimização
Condução autónoma
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Optimization of deep learning algorithms for an autonomous RC vehicle
title_full Optimization of deep learning algorithms for an autonomous RC vehicle
title_fullStr Optimization of deep learning algorithms for an autonomous RC vehicle
title_full_unstemmed Optimization of deep learning algorithms for an autonomous RC vehicle
title_sort Optimization of deep learning algorithms for an autonomous RC vehicle
author Pereira, André Filipe Amorim
author_facet Pereira, André Filipe Amorim
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 Pereira, André Filipe Amorim
dc.subject.por.fl_str_mv Computer vision
Parallel computing
Deep learning
Inference
Homogeneous programming
Heterogeneous programming
Optimization
Autonomous driving
Visão por computador
Computação paralela
Aprendizagem profunda
Inferência
Programação homogénea
Programação heterogénea
Otimização
Condução autónoma
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Computer vision
Parallel computing
Deep learning
Inference
Homogeneous programming
Heterogeneous programming
Optimization
Autonomous driving
Visão por computador
Computação paralela
Aprendizagem profunda
Inferência
Programação homogénea
Programação heterogénea
Otimização
Condução autónoma
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Informática
publishDate 2021
dc.date.none.fl_str_mv 2021-10-21
2021-10-21T00: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/81354
url https://hdl.handle.net/1822/81354
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203056370
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595206528663552