Giter Site home page Giter Site logo

findinglanelines's Introduction

Reflection

1. My pipeline consisted of the following steps.

  1. Make use of the HSV color space to identify the lane lines based on color range threshold
    The yellow lines are in range [93,30,147] to [102,255,255] The with lines are in range [0,0,153] to [255,20,255]

solidYellowCurve2

  1. Calculated the edges with the canny edge detection (low_threshold = 50, high_threshold = 150)
  2. Mask the image in the area of the road ahead and calculated the probabilistic Hough Lines
Parameter Value Description
rho 2 distance resolution in pixels of the Hough grid
theta PI/180 angular resolution in radians of the Hough grid
threshold 15 minimum number of votes (intersections in Hough grid cell)
min_line_length 40 minimum number of pixels making up a line
max_line_gap 20 maximum gap in pixels between connectable line segments

solidWhiteCurve

  1. Sort the found line segments by angle.
    Left line segment angle range ( angle_lower_bound = -42°, angle_upper_bound = -35°) Right line segment angle range (lines,angle_lower_bound = 27°, angle_upper_bound = 32°)

  2. Fit the sorted line segments by a first order polynomial

  3. Draw the fitted polynomial line in range of the road ahead

solidWhiteCurve

2. Helper programs to select HSV color space border values

To find a appropriate HSV color space I wrote a helper program.

Helper program

3. Some of the potential shortcomings of my current pipeline are

  1. The mask used to identify the area of interest on the road ahead is not flexible enough for sharp curves
  2. Changing light conditions could lead to soft edges, which could be missed by the canny edge detection
  3. Changing light conditions could lead wrong segmentation by the HSV in range function
  4. Sharp curves will be missed by the hough line detection

4. Possible pipeline improvements could be

  1. To enlarge the area of interest on the road ahead and filter objects that are not lane lines a primitive shape and texture analysis could be used. Has the found lane line candidate a rectangular shape? Has the found lane line candidate a uniform texture and color?

5. Results

  1. solidWhiteRight.mp4

  2. solidYellowLeft_result.mp4

  3. Challenge.mp4

  4. Argumentation debug images

  5. Hough debug images

  6. hsv debug images

6. Aditional Help

  1. Lane line improving

findinglanelines's People

Contributors

christianmarzahl avatar

Watchers

 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.