GithubHelp home page GithubHelp logo

cedricxie / carnd-lanelines-p1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from udacity/carnd-lanelines-p1

0.0 2.0 0.0 51.78 MB

Lane Finding Project for Self-Driving Car ND

Jupyter Notebook 100.00%

carnd-lanelines-p1's Introduction

Finding Lane Lines on the Road

The goals / steps of this project are the following:

  • Make a pipeline that finds lane lines on the road
  • Reflect on your work in a written report

Reflection

1. Pipeline Description

My pipeline consisted of 5 steps.

  1. Grayscale: I converted the images to grayscale using "cv2.cvtColor". alt text
  2. Guassian smoothing: The "cv2.GaussianBlur" is applied on the image. alt text
  3. Edge detection: The "cv2.Canny" is applied to obtain gradient plot. alt text
  4. Hough transform: A mask with polygon region of interest is first created then together with "cv2.HoughLinesP" the lane lines are obtained.
    alt text
  5. Overlay plots: A final figure is created with "cv2.addWeighted". alt text

To draw a single line on the left and right lanes, I modified the function by:

  1. Instead of draw every lines, an average value is calculated for the slope, the x coordiate, and the y coordinate.

  2. A final line is drawn using the following function. \begin{equation} y-y_{ave}=k_{ave}*{x-x_{ave}} \end{equation}

2. Identify potential shortcomings with your current pipeline

One potential shortcoming would be the line drawn is not stable, it is shaking frequently.

Another shortcoming could be not able to deal with curved lane, as in the "Challenge" part.

3. Suggest possible improvements to your pipeline

A possible improvement would be to add a filter in the calculatio of the slope.(only allow slopes in a certain range to be considered.)

Another potential improvement could be that, instead of a single line, draw a curved line. (Or multiple small lines connected together? Not sure yet.)

carnd-lanelines-p1's People

Contributors

ryan-keenan avatar brok-bucholtz avatar andrewpaster avatar dmlicht avatar moe-elsadig avatar mikaelcarpenter avatar bayne avatar quadhd avatar domluna avatar jeremy-shannon avatar norman-thomas avatar rasphilco avatar

Watchers

James Cloos avatar Yuesong Xie 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.