Politecnico di Torino (logo)

Image Processing for Self-Driving Cars

Cristina Chicca

Image Processing for Self-Driving Cars.

Rel. Stefano Alberto Malan. Politecnico di Torino, Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica), 2022

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (9MB) | Preview

The thesis project is based on the application of basic features involved in the brand new autonomous driving context. The author, as a member of the team PoliTron, has participated to the Bosch Future Mobility Challenge 2022 (BFMC22), a contest in which students from all over the world are asked to program a 1:10 scaled vehicle in order to perform some of the most important tasks for autonomous driving: lane follow and keeping, road and traffic signs recognition, intersection detection, parking, overtake of static and moving cars, GPS-based path planning, object detection including pedestrians, cars both in lane and parking lot, traffic lights. Specifically, this work focuses on the part relative to Image Processing, meaning all the Python-developed algorithms involved in processing the data coming from the Raspberry Pi camera of the car kit. In fact, the work explains the logic and the main functions inside the algorithms of Lane Keeping, Traffic Sign Recognition, Traffic Light Detection, Pedestrian, Car and Semaphore Detection. Each topic presents several methods to accomplish the tasks, some that has been used during the BFMC22, and others studied and tested by the author additionally. In particular, Lane Keeping has been performed using two methods: Hough Transform and Perspective correction. They are explained and compared. Traffic Sign Recognition can be performed using a linear SVM or using a Tensorflow-based neural network: although both methods have been tested on the car, the neural network always results too heavy for the computational capability of the provided on-board computer and so the team opted for using the linear SVM one for the competition. Traffic Light Detection includes a deep analysis of processing different colors inside an image, since the semaphore can be detected identifying the colors masks (red, yellow and green) using mask definition and histograms calculation. However, this method is not so robust since it relies on the light condition of the environment and so cannot be equally applied to every situation. Object Detection is divided into two main parts: Pedestrian Detection and Semaphore and Car Detection. The former is performed using the Default Hog Featured Descriptor included in the Python library and works well in many situations only modifying a low number of parameters, whereas the latter is performed using a sort of Shape Detector, which detects three circles if the object is a semaphore and an ellipse if it is a car. All these algorithms have been proposed basing both on the hardware capability of the car kit and on real situations in which the algorithms are asked to be more efficient rather than computationally lighter. Finally, the conclusions will sum up the results obtained from comparison of these algorithms and will propose some solutions that can be adopted in the future, especially for those who are willing to continue the BFMC.

Relators: Stefano Alberto Malan
Academic year: 2021/22
Publication type: Electronic
Number of Pages: 81
Corso di laurea: Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica)
Classe di laurea: New organization > Master science > LM-25 - AUTOMATION ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/23514
Modify record (reserved for operators) Modify record (reserved for operators)