This repository contains multiple projects for self driving car.
- Lane Lines Detector
- Traffic Light Classifier
- Behavioral Cloning
- Advanced Lane Finding
The goal of this first project was to create a simple pipeline to detect road lines in a frame taken from a roof-mounted camera. A short demo video can be found here.
This project does not include any machine learning, just old school computer vision techniques.
Image processing pipeline goes something like this:
- Convert images to grayscale.
- Darken the images with Gamma correction method.
- Convert the original image to HSL and isolate white and yellow mask.
- Combine masks using OR operation and then combine them with original image using AND operation.
- Apply Gaussian blur to an image with kernel size 5.
- Use Canny Edge Detection algorithm to detect edges.
- Define the area of interest on the image. (Lower part due to camera position)
- Apply Hough Transform technique to extract lines.
The goal of this project was to build a CNN in TensorFlow to classify traffic sign images from the German Traffic Sign Dataset.
For image preprocessing, I used standard methods such as grayscaling and normalization. I also used CLAHE (Contrast Limited Adaptive Histogram Equalization) because the distribution of sign images was not ideal.
As proposed in the lab I implemented two network architectures, LeNet5 and VGG16, and compared their results.
I trained LeNet architecture for 50 epochs, with batch size 128 and it gave 97% accuracy on validation set.