Since its first appearance, the automobile has become the most popular means of transport, so it is of utmost importance to make traveling by car as safe and comfortable as possible. The rapid evolution of embedded systems dawned a new era for this part of the automobile industry as well with the widespread of the advanced driving assistance systems.
Awareness of the vehicle’s surroundings and knowing its position on the road is an essential basis for several of these systems, so a lane detection system is included in many cars. The aim of my thesis is the development of a lane tracking algorithm which can analyse the surroundings of the vehicle in real time and detect the lanes and their position compared to the car’s using common hardware.
First of all, I reviewed the main tools and procedures in the field of lane detection and developed a fast lane tracking method using only a single camera’s output. This algorithm can be divided into three main parts. First, we prepare the image from the camera by applying a convenient steerable filter then we detect the lines resembling lane markings with a reduced Hough transform method. Finally, using the results of the transform, we locate the lanes on the road and the data required keeping the vehicle in the lane it is in.
In order to guarantee real time processing, I analysed the algorithm and picked the sections with the most potential for parallelization. I implemented these parts of the code in CUDA to be run on graphics processing units and I measured the improvement in performance.
In the end, I verified the correctness of the algorithm by testing with video recordings and I made proposals for the further development of this lane tracking method.