Abstract
Autonomous driving is a field that is taking on increasing importance in recent years. Many car brands are investing large amounts of money in developing models that will be completely autonomous. It is a non-stop race in which the winner will get a better position in the market than his competition.
In this Master's Thesis, a presentation will be made of the fundamentals of autonomous driving, how it works, and which sensors are used to obtain the necessary information for safe driving. Afterwards, a study of the art of the databases used to develop autonomous driving solutions and the object detection algorithms that can be used to work with these databases will be carried out.
After carrying out this study it will be attempted to implement, develop and evaluate an autonomous driving environment capable of detecting various types of objects that are usually found while driving and also in the case of traffic signs to be able to identify what type of traffic sign belongs to the one detected.
For this purpose, a robotic car will be built with a Raspberry Pi as a processing unit, which will be provided with an assistance for the processing of the information by means of a GPU connection through a USB port called Movidius Neural Compute Stick.
Subsequently, two different algorithms will be used for object detection, the YOLOv3 and its Tiny version, to compare the results in terms of both accuracy and processing time. With these algorithms we obtain the "Bounding Box" that delimits the place where the detected object is located and to which class this object belongs. For this task, the BDD100K database has been used, which contains many images labelled.
After the detection, if the object detected is a traffic sign, it will be identified. For this purpose, a convolutional neural network will be implemented, capable of classifying the "Bounding Box" that delimits the traffic sign. For this task, the German Traffic Sign Recognition Benchmark database has been used, which contains images of different types of traffic signs, although not all of them will be used for this project.
Finally, both models will be introduced in the robotic car built in order to process the information it receives and, depending on the traffic sign identified in this process, be able to perform the driving action that corresponds to that traffic sign.