Project 1 for Udacity's Self-Driving Car Engineer Nanodegree Program
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
Original | Original w/ lane lines |
---|---|
The pipeline went through a series of steps:
- OpenCV gray scale
- OpenCV Gaussian Blur
- OpenCV Canny function
- Create a masked area to focus on
- Hough lines and modify
draw_lines()
to draw one straight line
Modifying
draw_lines()
was done by finding which points belonged to which lane line through their slope.
Left lane: x increases, while y decreases
Right lane: x increases, while y increases
Once we separate the segment into either or, we can then find the average of their points to create an average lane line from all the segments. Arbitrary y1 and y2 for the final lines are given by the image's shape to look consistent.
- Apply the new averaged lines to original image
- Being dynamic. A road consists of much more than straight paths, so a curve will most definitely show this pipeline's weaknesses.
- Shadows. I tried my implementation with the
challenge.mp4
and the shadows would trip up the lines. - The values for kernel, rho, and etc. I feel like they're arbitrary. They only look good for a certain image quality. I feel like given another video or image of a different format, size, or quality would make me change values of the region of interest and other varibles.
Trying to find a way to curve with the lane lines and when an image changes with a shadow. The next lesson goes into HSV
and HSL
so I believe applying those effects might help.