top of page

Self-Driving Car

UBC Course Project

This competition was done in teams of two, and it involved driving a car around a simulated environment using only a first-person camera view on the front of the car. The car needs to avoid pedestrians and other vehicles, stay in the proper lane of the road, and identify license plates of parked cars on the side of the road.

 

To drive the car, we built a convolutional neural network (CNN) using TensorFlow, which we trained by manually driving the car around the track. Using OpenCV, we implemented motion detection to ensure that we didn't hit any other vehicles or pedestrians. To detect license plates, we used HSV filtering to isolate the plate from the camera image, and then another CNN to detect characters. Due to the camera image being blurry, we created a large augmented data set using Python libraries to ensure our CNN could handle low quality images.

Overall, the competition went very well, and we finished second place out of over 20 teams. Our car performed perfectly, identifying all the license plates without hitting any pedestrians or vehicles. Unfortunately, another team's car was able to complete a perfect score faster than us, which resulted in us taking second place. 

Project Gallery

bottom of page