Giter VIP home page Giter VIP logo

finding_lane_lines's Introduction

Finding Lane Lines on the Road

Udacity - Self-Driving Car NanoDegree

Combined Image

Overview

When we drive, we use our eyes to decide where to go. The lines on the road that show us where the lanes are act as our constant reference for where to steer the vehicle. Naturally, one of the first things we would like to do in developing a self-driving car is to automatically detect lane lines using an algorithm.


Process Pipeline

My pipeline consisted of 5 steps.

  1. I converted the images to grayscale.
  2. I applied Gaussian Smoothing to reduce the sharpness of the image.
  3. Canny edge detection was used to select the stong gradient no matter the color is.
  4. To focus only on the lane I had to apply region masking to remove any unwanted pixels and to be able to select the lane lines only.
  5. Hough transform is applied to select the lane lines joining the points/pixels and drawing a line overlayed on it.

In order to draw a single line on the left and right lanes, I modified the draw_lines() function by caluclating the gradient/slope and the y-intercept to be able to diffrentiate between the left lin and the right line, after that I had to average the position of each line and extrapolate them to the top and the bottom of the lane.

Below is the output of each step in the image pipeline.

Finding lane lines pipeline

2. Potential shortcomings with current pipeline

When I tried to apply the pipeline on the challenge video first without the draw line addition it seems that the shades and many other high gradient pixels other than the lane lines, appear in the canny edge detection and after adding the draw line function it no longer compiles giving error.

3. Possible improvements to your pipeline

Detecting the lane lines with more curvature and be able to detect the lines even if shades occur.

finding_lane_lines's People

Contributors

ryan-keenan avatar brok-bucholtz avatar andrewpaster avatar mvirgo avatar baumanab avatar moe-elsadig avatar ghareeb97 avatar dmlicht avatar mikaelcarpenter avatar citlaligm avatar rasphilco avatar rajatgoyal715 avatar norman-thomas avatar mhorga avatar kokosabu avatar jeremy-shannon avatar domluna avatar quadhd avatar bayne avatar austinjalexander avatar

Stargazers

Roman avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.