This project explores how to find lane lines on a road using Computer Vision techniques. This is done using the OpenCV library in Python.
The processing pipeline uses the following methods:
-
Extract colour with HLS colour spaces combined with x sobel gradient.
-
Converting the image to grayscale.
-
Canny Edge Detection
-
Select a region of interest
-
Detecting lines using Hough Transform
Apply a Hough transform to detect the lines from the image. Analyse the slope of the lines and draw them out with their weighted average
-
Flawed lane detection in bends The approached used in this project will have reduced accuracy as the lanes get curved. The region of interest will capture less of the lanes on steep bends
-
The approach currently struggles under different road surfaces.
-
Analyse the curvature on the road and draw a polyline instead of one straight line
-
Explore other colour spaces to help identify lanes in various road and lighten conditions.
Step 1: Set up the environment from the environment.yml file provided using Conda.
Step 2: Open the code in a Jupyter Notebook If you are unfamiliar with Jupyter Notebooks, check out Cyrille Rossant's Basics of Jupyter Notebook and Python to get started.
> jupyter notebook
A browser window will appear showing the contents of the current directory. Click on the file called "P1.ipynb". Another browser window will appear displaying the notebook.
Step 3: Run the cells