Please use this identifier to cite or link to this item:
https://hdl.handle.net/1822/81354
Title: | Optimization of deep learning algorithms for an autonomous RC vehicle |
Author(s): | Pereira, André Filipe Amorim |
Advisor(s): | Proença, Alberto José Pereira, André Martins Ferreira, André Leite |
Keywords: | 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 |
Issue date: | 21-Oct-2021 |
Abstract(s): | This 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. |
Type: | Master thesis |
Description: | Dissertação de mestrado em Engenharia Informática |
URI: | https://hdl.handle.net/1822/81354 |
Access: | Open access |
Appears in Collections: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Andre Filipe Amorim Pereira.pdf | 21,53 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License