Lane Detection Design Document
Why I Did This Project?
While studying Machine Learning concepts, I grew interested in Computer Vision and how models could be trained to understand videos/images. Specifically, I became curious on how self-driving cars actually work and wanted to learn how to detect lanes through Image/Video processing.
Software Skills
-
Python
Programmed in Python
-
Image Processing
Computer Vision understanding
-
OpenCV
OpenCV library required
Project Description
This project is a standard introduction to Image processing via Python and OpenCV. It deals with simple image pre-processing and utilizes various processing techniques in order to extrapolate lane lines from a video.
Steps:
- 1. Pre-process image using grayscale and gaussian blur
- 2. Apply canny edge detection to the image
- 3. Apply masking region to the image
- 4. Apply Hough transform to the image
- 5. Extrapolate the lines found in the hough transform to construct the left and right lane lines
- 6. Add the extrapolated lines to the input image
Definitions
- Gaussian Blur: A type of image-blurring filter that uses a Gaussian function (normal distribution) for calculating the transformation to apply to each pixel in the image
- Edge Detection: A variety of mathematical methods that aim at identifying edges, defined as curves in a digital image at which the image brightness changes sharply or, more formally, has discontinuities
- Canny Edge Detection: Edge Detection operator that uses a multi-stage algorithm to detect a wide range of edges in images
- Image Masking: A technique used in photo editing to separate or isolate specific areas of an image from the rest, allowing for more precise editing and manipulation
- Hough Transform: A mathematical technique used in image processing and computer vision to detect simple geometric shapes, particularly lines and circles, within an image.