Face Detection & Classification
Research and implementation of a face detection and classification system.
  • 2017-04-27
  • Machine Learning
  • Data Science
  • Matlab
  • Computer Vision
  • Face Detection

    Face detection is the problem of identifying the locations of faces within an image. This coursework involved investigating techniques that allow the greatest number of faces to be detected, with the least number of false positives.

    The detections were performed using template matching. By incorporating edge detection through the use of Sobel operators, filtering of pixels to only those that match a 'skin colour-space' and limiting detection on a subset of the colour bands, maximum overlap with the famous Viola Jones detector was achieved. Various experiments were undertaken to find the optimal parameters to use when applying these techniques, ensuring that the effects of these techniques could be maximised.

    Red squares indicate regions likely to be faces

    Face Classification

    Classification is different to detection as it aims to identify the label of the detected instance. In this scenario, the classifier I built labels the faces with the respective names of the individuals in the scene. Existing literature surrounding face classification was leveraged - in particular, Eigenfaces are a concept that was very useful for this project. By incorporating several pre-processing steps such as histogram equalization, a successful classifier was built.

    A visualization of the "face-space" (a set of Eigenfaces) that was constructed