Skip to content

Face detection and recognition software built as part the Computer Vision module at university.

Notifications You must be signed in to change notification settings

yosufali/face-recognition

Repository files navigation

Face Recognition

A piece of coursework for the Computer Vision module I took at university.

Aim

The goal of this project was, using supervised machine learning, to create 4 different classifiers that had the ability to classify a new unseen image. The classes were labeled from 1 to 37, one for each student on the module.

I chose to implement the following classifiers:

  • Support Vector Machine using Bag of Words features
  • Support Vector Machine using Histogram of Oriented Gradients features
  • Feedforward Neural Network using Bag of Words features
  • Feedforward Neural Network using Histogram of Oriented Gradients features

The classifiers were trained using images of students taking the module.

Running

The RecogniseFace.m file is the starting point of the program. The function called is P(I, featureType, classifierName) , where I is the path of the new image to be classified, featureType is the user's chosen feature type (HOG or BAG) and classifier name is the user's chosen classification method (SVM or FNN).

This function returns P, a Nx3 matrix, where N is the number of faces found in the provided image I, and the columns are id: the predicted identity (class) of the found face, x, and y, the central co-ordinates of the found face within the image.

The best performing classifier of those attempted was the SVM with BAG features with 98% accuracy.


This project only works with images of students who took the module, since those are the faces that it was was trained to classify.

About

Face detection and recognition software built as part the Computer Vision module at university.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages