This thesis presents a study on autonomous vehicles. One of the challenges in this topic is to achieve an accurate perception of the environment in which the vehicle is moving. This is necessary to locate the car itself on the map. I’ll first present the history and state of the art of neural networks structures, then the most important artificial intelligence technique for self-driving cars, namely Semantic Segmentation. The hardware used includes an embedded NVIDIA board that receives as input the video signals from the forward facing cameras mounted in front of the car. I’ll present some technical details about this board, as well as some tips and tricks to fix some bugs I encountered while working with it, such as automatically updating the time via the NTP server, automatically turning on the cooling fan at startup, and configuring the VNC server so I can work with the board remotely. I also describe the datasheet of the NileCAM cameras mounted in the car. Then I explain the methodology I used to solve the various problems. To achieve the goal of developing a neural network for semantic segmentation, I used a UNET structure that I trained with the Pytorch Lightning library on Google Colab Pro. I used a free and rich dataset called Cityscapes, which contains annotated images of urban traffic scenes. The code I used is also explained piece by piece. I’ll also explain how to test the algorithm directly from Google Colab and how to try it on the embedded system, describing the various complications. Finally, I’ll outline the final results, followed by some ideas for possible changes to the proposed system and some future work.

Questa tesi presenta uno studio sul campo dei veicoli autonomi. Una delle sfide di questo topic è quello di ottenere una percezione accurata dell’ambiente in cui il veicolo si muove. Ciò è necessario per localizzare l’auto sulla mappa. Presenterò prima la storia e lo stato dell’arte delle strutture delle reti neurali, poi la tecnica di intelligenza artificiale più importante per le auto a guida autonoma, ovvero la segmentazione semantica. L’hardware utilizzato comprende una scheda NVIDIA embedded che riceve in ingresso i segnali video dalle telecamere frontali montate sull’auto. Presenterò alcuni dettagli tecnici su questa scheda, nonché alcuni suggerimenti e trucchi per risolvere alcuni bug incontrati durante il progetto, come l’aggiornamento automatico dell’ora tramite il server NTP, l’accensione automatica della ventola di raffreddamento all’avvio e la configurazione del server VNC in modo da poter lavorare con la scheda da remoto. Descriverò anche il datasheet delle telecamere NileCAM montate sull’auto. Poi spiego la metodologia che ho utilizzato per risolvere i vari problemi. Per raggiungere l’obiettivo di sviluppare una rete neurale per la segmentazione semantica, ho utilizzato una struttura UNET che ho addestrato con la libreria Pytorch Lightning su Google Colab Pro. Ho utilizzato un dataset gratuito chiamato Cityscapes, che contiene immagini annotate di scene di traffico urbano. Il codice che ho utilizzato è spiegato pezzo per pezzo. Spiegherò anche come testare l’algoritmo direttamente da Google Colab e come provarlo sul sistema embedded, descrivendo anche le varie complicazioni incontrate. Infine, illustrerò i risultati finali, seguiti da alcune idee per possibili modifiche al sistema proposto e da alcuni lavori futuri.

Studio e sviluppo di algoritmi di intelligenza artificiale su processore embedded per veicoli a guida autonoma.

ROSETTANI, PAOLO
2021/2022

Abstract

This thesis presents a study on autonomous vehicles. One of the challenges in this topic is to achieve an accurate perception of the environment in which the vehicle is moving. This is necessary to locate the car itself on the map. I’ll first present the history and state of the art of neural networks structures, then the most important artificial intelligence technique for self-driving cars, namely Semantic Segmentation. The hardware used includes an embedded NVIDIA board that receives as input the video signals from the forward facing cameras mounted in front of the car. I’ll present some technical details about this board, as well as some tips and tricks to fix some bugs I encountered while working with it, such as automatically updating the time via the NTP server, automatically turning on the cooling fan at startup, and configuring the VNC server so I can work with the board remotely. I also describe the datasheet of the NileCAM cameras mounted in the car. Then I explain the methodology I used to solve the various problems. To achieve the goal of developing a neural network for semantic segmentation, I used a UNET structure that I trained with the Pytorch Lightning library on Google Colab Pro. I used a free and rich dataset called Cityscapes, which contains annotated images of urban traffic scenes. The code I used is also explained piece by piece. I’ll also explain how to test the algorithm directly from Google Colab and how to try it on the embedded system, describing the various complications. Finally, I’ll outline the final results, followed by some ideas for possible changes to the proposed system and some future work.
2021
2023-02-17
Study and development of artificial intelligence algorithms on embedded processors for self-driving vehicles.
Questa tesi presenta uno studio sul campo dei veicoli autonomi. Una delle sfide di questo topic è quello di ottenere una percezione accurata dell’ambiente in cui il veicolo si muove. Ciò è necessario per localizzare l’auto sulla mappa. Presenterò prima la storia e lo stato dell’arte delle strutture delle reti neurali, poi la tecnica di intelligenza artificiale più importante per le auto a guida autonoma, ovvero la segmentazione semantica. L’hardware utilizzato comprende una scheda NVIDIA embedded che riceve in ingresso i segnali video dalle telecamere frontali montate sull’auto. Presenterò alcuni dettagli tecnici su questa scheda, nonché alcuni suggerimenti e trucchi per risolvere alcuni bug incontrati durante il progetto, come l’aggiornamento automatico dell’ora tramite il server NTP, l’accensione automatica della ventola di raffreddamento all’avvio e la configurazione del server VNC in modo da poter lavorare con la scheda da remoto. Descriverò anche il datasheet delle telecamere NileCAM montate sull’auto. Poi spiego la metodologia che ho utilizzato per risolvere i vari problemi. Per raggiungere l’obiettivo di sviluppare una rete neurale per la segmentazione semantica, ho utilizzato una struttura UNET che ho addestrato con la libreria Pytorch Lightning su Google Colab Pro. Ho utilizzato un dataset gratuito chiamato Cityscapes, che contiene immagini annotate di scene di traffico urbano. Il codice che ho utilizzato è spiegato pezzo per pezzo. Spiegherò anche come testare l’algoritmo direttamente da Google Colab e come provarlo sul sistema embedded, descrivendo anche le varie complicazioni incontrate. Infine, illustrerò i risultati finali, seguiti da alcune idee per possibili modifiche al sistema proposto e da alcuni lavori futuri.
File in questo prodotto:
File Dimensione Formato  
TesiMagistrale_Rosettani.pdf

non disponibili

Descrizione: Tesi Magistrale Rosettani - 1097332
Dimensione 10.89 MB
Formato Adobe PDF
10.89 MB Adobe PDF

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/12024