Machine Vision

Simple lane marking detection pipeline (Udacity nanodegree exercise - 2020)

Python, jupyter notebooks opencv, edge detection

  1. Loading the image
  2. Conversion to gray scale (for intensity filtering)
  3. Filtering pixels with high values (separating white lane markings from Background)
  4. Selecting a region of interest (cut out only area where our lane markings should be)
  5. Edge detection with canny edge algorithm
  6. Add Gaussian blur to smoothen and connect detected edges
  7. Using hough transform to generate lines out of our detected edges
  8. Extrapolate lines to solid lane boundarys that extend to the size of the ROI
  9. Annotating detected lines as lane markings on input image
Video: Simple lane detection pipeline
How did I implement it?

For the lane detection pipeline I used jupyter-notebooks to develop and visualize each step of the processing. It is programmed in python 3 and makes use of the image processing algorithms of the opencv library. If you are interested how each of the mentioned steps of this pipeline is implemented check out the project on my github. The project includes a writeup with more details about each processing step and the jupyter-notebook.

Advanced lane detection pipeline (Udacity nanodegree exercise - 2020)​

Python, opencv, calibration, warp, polygon fitting

  1. Undistortion of the camera image: Compute the camera calibration matrix and distortion coefficients given a set of chessboard images. Then use these coefficients to apply the distortion correction to the raw images.
  2. Use color transforms, gradients or other techniques, to create a thresholded binary image.
  3. Apply a perspective transform to rectify the binary image. This results in a “birds-eye view” of the input image, which can be used for the detection of the lane markings.
  4. Detect pixels of left and right lane markings and fit polynomial lines to represent the lane boundaries. The lane marking detection can be done either from scratch (4.1) or in a region based on prior found polylines (4.2).
  5. Calculate the curvature of the lane and the vehicle position with respect to the lane center.
  6. Warp the detected lane boundaries back onto the original image.
  7. Output visual display of the lane boundaries and numerical estimation of lane curvature and vehicle position.

Video: Advanced lane detection pipeline

How did I implement it?

For the advanced lane detection pipeline I used python 3. The implementation again uses image processing algorithms of the opencv library to realize some of the steps mentioned in the summary. 
If you are interested how each of the steps of this pipeline is implemented in detail check out the project on my github. The project includes a writeup with more details about each processing step according with images of each step.

Machine vision in matlab (Practical lab - 2016)

Matlab, machine vision basics

  • Machine vision lecture & practical exercises in matlab
  • Basic image manipulation: Filtering, dilation, erosion, color conversion, scaling etc.