Bachelor Thesis

The idea of this project is to track the cars in one of the exits of the university and calculate automatically the average time that is required for a car to exit the University.

This project can be divided into four tasks:

Detect feature points

We used SIFT to detect the feature points in each image and the associated descriptors. The SIFT implementation used is one created by Pablo Aponte following the original paper of Lowe.

Group the points in clusters

A custom made K-Means algorithm was used to perform this task. It discards outliers and clusters with small quantity of points.

Find a match with previous images

After it is grouped, each of the points is tested to see if it matches any other point in clusters from previous images. If two clusters have a match of more than 3 points, then it considers a match and consequently it is considered that the car is still on the view of the camera.

Calculate exiting time of each car

A car is considered out of view if it is not possible to find a match after a couple frames have passed. Once it is out of view, the time it took it to exit the university is calculated.


Even though we got the expected results in several tests, we obtained a lot of false positives when detecting the cars. To get better results it is possible to track them using optical flow and discard more background feature points that can be considered a car. Also, it is good to get a better quality in the images and more continuously (the camera feed gives a frame every 5 seconds).

Examples of the detection and clustering