Skip to content
Identifying lane lines and the curvature of the road with computer vision techniques
Python Jupyter Notebook
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
adhoc
camera_cal
config
notebooks
output_images
src
test_images
videos
.gitattributes
.gitignore
README.md
advanced_lane_finding.md
environment.yml

README.md

Advanced Lane Finding

Identification of lane lines and curvature of the road.

Installation

conda env create -f environment.yml
source activate environment

Usage

 Usage:
  video_pipeline.py [-i <file>] [-o <file>]
  video_pipeline.py -h | --help

Options:
  -h --help
  -i <file> --input <file>   Input text file [default: ../videos/project_video.mp4]
  -o <file> --output <file>  Output generated file [default: ../videos/project_video_output.mp4]

NB: Input video needs to be a feed from centered onboard camera.

Example

# Quickly generate lines and curvature statistics for sample video
video_pipeline.py -i ../videos/project_video.mp4 -o ../videos/project_video_output.mp4

alt text

Detailed description

In this project, my main goal is to take a video feed from an onboard camera and identify the lane lines and the curvature of the road. To showcase this, we will use computer vision techniques such as gradient and color thresholding.

You will find the merged code for this project is in the IPython Notebook and a video displaying how my pipeline can allow to detect lanes and curvature on the road. A more detailed report of the project is available here.

The 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.
  • Work on robustness of detection algorithm
You can’t perform that action at this time.