Skip to content

Commit

Permalink
Updated Readme and writeup
Browse files Browse the repository at this point in the history
  • Loading branch information
alexramos committed May 30, 2017
1 parent a2ded42 commit e745a28
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 7 deletions.
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,7 @@

In this project, your goal is to write a software pipeline to identify the lane boundaries in a video, but the main output or product we want you to create is a detailed writeup of the project. Check out the [writeup template](https://github.com/udacity/CarND-Advanced-Lane-Lines/blob/master/writeup_template.md) for this project and use it as a starting point for creating your own writeup.

Creating a great writeup:
---
A great writeup should include the rubric points as well as your description of how you addressed each point. You should include a detailed description of the code used in each step (with line-number references and code snippets where necessary), and links to other supporting documents or external references. You should include images in your writeup to demonstrate how your code works with examples.

All that said, please be concise! We're not looking for you to write a book here, just a brief description of how you passed each rubric point, and references to the relevant code :).

You're not required to use markdown for your writeup. If you use another method please just submit a pdf of your writeup.

The Project
---
Expand All @@ -33,3 +27,16 @@ To help the reviewer examine your work, please save examples of the output from
The `challenge_video.mp4` video is an extra (and optional) challenge for you if you want to test your pipeline under somewhat trickier conditions. The `harder_challenge.mp4` video is another optional challenge and is brutal!

If you're feeling ambitious (again, totally optional though), don't stop there! We encourage you to go out and take video of your own, calibrate your camera and show us how you would implement this project from scratch!

Submission Files
---

File | Description
--- | ---
writeup.md | Project writeup
lane\_finding\_pipeline.ipynb | Notebook with pipeline implementation
lane\_finding\_dev.ipynb | Notebook with algorithm examples
utils.py | Algorithm functions used by lane\_finding\_pipeline.ipynb
camera_cal.pkl | Camera calibration and transform matrices
project\_video\_output.mp4 | Output video after running pipline on project\_video.mp4
output_images/ | Directory of example images showing pipline approach. See writeup.md for details.
14 changes: 13 additions & 1 deletion writeup_template.md → writeup.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,4 +175,16 @@ Here's a [link to my video result](./project_video_output.mp4)

#### 1. Briefly discuss any problems / issues you faced in your implementation of this project. Where will your pipeline likely fail? What could you do to make it more robust?

Here I'll talk about the approach I took, what techniques I used, what worked and why, where the pipeline might fail and how I might improve it if I were going to pursue this project further.
The approach I took is largely based off the examples provided in the this section's lessons. I first use calibration chessboard images to correct for image distortion introduced by the camera's lens. I then identify line pixels in the driving image using color and gradient thresholding. Theses pixels are perspective-transformed to a 'birds-eye' view and used to determine a 2nd order polynomial fit for each lane line. Finally, these fits are used to define the lane's position and overlaid over the original image.

My implementation works very well for the target project video but performs very poorly with the challenge videos. Specifically, my algorithm fails when it has to deal with muliple vertical lines in a image (as in "challenge\_video.mp4") or very sharp turns (as in "harder\_challenge\_video.mp4").

If I were going to persue this project further, I would make the pipeline more robust by tuning the pipeline to handle the challenge cases as well. This could entail:

- Tuning image binarization to better handle shadows
- Tune window-scanning to correctly track sharp curves
- Try convolution approach for finding best window centers (as described in lesson 34.)
- Use a deep-learning approach to find the lane.


---

0 comments on commit e745a28

Please sign in to comment.