/Advanced_Lane_Finding

Primary LanguageJupyter NotebookMIT LicenseMIT

Advanced Lane Finding

Udacity - Self-Driving Car NanoDegree

Objective:

	To mark the lane lines from an image using advanced computer vision techniques.

The Project

The goals / steps of this project are the following:

  • Compute the camera calibration matrix and distortion coefficients given a set of chessboard images.
  • Apply a distortion correction to raw images.
  • Use color transforms, gradients, etc., to create a thresholded binary image.
  • Apply a perspective transform to rectify binary image ("birds-eye view").
  • Detect lane pixels and fit to find the lane boundary.
  • Determine the curvature of the lane and vehicle position with respect to center.
  • Warp the detected lane boundaries back onto the original image.
  • Output visual display of the lane boundaries and numerical estimation of lane curvature and vehicle position.

The images for camera calibration are stored in the folder called camera_cal. The images in test_images are for testing your pipeline on single frames. If you want to extract more test images from the videos, you can simply use an image writing method like cv2.imwrite(), i.e., you can read the video in frame by frame as usual, and for frames you want to save for later you can write to an image file.

Improvements suggested:

  1. Source and Destination points to get better perspective transformation.
  2. Average measurements over 10 frames for smoothness.
  3. Use only yellow color to detect left side lane line and dynamic Region of Interest for right side lane line - for success in Challenge video.