Portfolio

Computer Vision - Road Tracking

December 2017

PYTHON

This project explored the use of computer vision and image processing techniques to identify the roads and any pedestrians in a sequence of images taken from a video from a car driving around Durham. The motivation is to explore modern techniques for self-driving cars to figure out where they are allowed to drive.

Structure:

The basic outline of the algorithm is as follows:

  • Pre-filter the images to mask the sky and correct the colours by converting to different colour spaces
  • Identify the Region-Of-Interest (ROI) where the road is most likely to be
  • Use RANSAC to find the best estimate of the 3D plane on which the road lies
  • Use any technique to draw the 3D plane on the image
  • Optional: Use a feature detector (such as HOG) to identify pedestrians and draw a box around them

If you would like more detail, including intermediate stages, look at the report at the end of this page.

What I Learnt:
  • How to use the OpenCV python library to perform image processing/computer vision techniques on images and videos
  • How to use state-of-the-art computer vision algorihtms to solve a real-world problem
Examples:
A video showing the road-detection software running. Note: the solution is not always perfect but the road is found most of the time. The red line indicates an estimate of the road plane and the blue-outlined area represents a more refined estimate of where the road is.
A comparison of ground-truth data and my results are shown below for seven randomly chosen images from the data-set used
This report details the intermediate steps taken to get these results