Self Driving Car Coursework

Part 1 - Lane Lines Detection

The goal of part-1 of the coursework is to piece together a pipeline to detect the line segments in the image, then average/extrapolate them and draw them onto the image for display.

Steps:

  1. Read in image
  2. Generate Canny image output from grayscale of image
  3. Define a Region of Interest and Mask out area outside of it
  4. Use cv2.HoughLinesP() to derive line segment coordinates from step 2
  5. Calculate the left and right line coordinates from step 3 via averaging weighted slopes and y-intercepts, filtering out too short segments and filtering out slope and y-intercept outliers
  6. Draw the two lane lines from step 4.
  1. Produce Output Details, discussion, and images and video output in the Lane lines Detection repo.

Part 2 - Traffic Sign Classifier

Goals for Part 2:

Additional Work to test the model:

Five additional images were used for further testing and analysis:

These images were found in Google Image search. Since the test images are already German traffic signs the training hasn't seen before, I decided to find US traffic sign images to see how the predictions will be like. The images have been chosen such that:

2 of the 5 (No Passing and Road Work) are in the training set's 43 classes. 1 of the 5 (Yield) is in the 43 classes, but is slightly different as stated above. 2 of the 5 (No Pedestrian, No Exit) are not in the training set.

Details, discussion, analysis and images in the Traffic Sign Classifier repo.

Part 3 - Behavioral Cloning

To train a computer to drive itself, images from a camera attached to the car and its corresponding steering and other outputs can be feed to a convolutional neural network to learn its own outputs when it encounters similar data. This technique is called behavioral cloning.

The goals / steps of this project are the following:

Details, discussion and analysis in the Behavioral Cloning repo.

Part 4 - Advanced Lane Lines Detection

The goals of this project are as follows:

Sample pipeline output image with lane lines identified:

Details, discussion, analysis, images and videos in the Advanced Lane Lines Detection repo.

Part 5 - Vehicle Detection

The goals of this project are as follows:

Sample pipeline output image with vehicles identified:

Details, discussion, analysis, images and videos in the Vehicle Detection repo.