Skip to content
maximecharriere edited this page Nov 4, 2020 · 19 revisions

Car picture

Abstract

Context and objectives

Nowadays, the theme of autonomous cars is becoming increasingly important in the automotive industry, so this work consists of designing a miniature of it with the following three objectives:

  1. Road tracking
  2. Traffic sign detection
  3. Obstacle detection

System and algorithms

A 1/10th scale electric car was used, with an on-board computer (Raspberry Pi 4), a neural network processor (Coral USB Accelerator), a camera, a distance sensor and a battery.

Car components

The road is tracked by an image processing which isolates the lines and determines the trajectory and curvature of the road.

Road tracking result

The traffic sign detection algorithm uses a camera and three artificial neural networks to locate and classify signs.

  1. In the first network, a convolutional neural network compute additional information from the image such as contrast, edges, shape, colour, etc.
  2. Then with this inforamtions, a second network predicts the probable position of traffic sign in the image.
  3. The last network will then classify the type of sign at each predicted position

Sign detection result

Obstacle detection is possible thanks to an ultrasound sensor on the front of the car.

Results

Obstacle detection uses a simple process and therefore has a very low latency. However, objects of a certain shape and small size are not detected systematically.
Traffic sign detection is fast and reliable thanks to the robustness of the algorithm and the use of a processor specially designed for processing neural networks.
Road tracking is currently not fast and reliable enough, as image processing is very resource-intensive for the processor.

More informations

My Bachelor thesis report

This work was done as part of my Bachhelor thesis. Find the final report here (only in french, sorry).

My inspirations

LET'S START !

First of all, we will build the car, the road and the signs.
Then we will install the raspberry.
Once everything is ready, the programming can begin.
I will start by explaining the structure of my program so that you can get off to a good start.
It will then be time to tackle the three main algorithms:

Good luck!