Giter VIP home page Giter VIP logo

eigenfaces's Introduction

AT&T Eigenfaces

A Python class that implements the Eigenfaces algorithm for face recognition, using eigen decomposition and principle component analysis.

We use the AT&T data set, with 60% of the images as train and the rest 40% as a test set, including 85% of the overall energy, in order to reduce the number of computations.

Additionally, we use a small set of celebrity images to find the best AT&T matches to them.

All images should have the same size, namely (92 width, 112 height).

Example Calls

Normal AT&T face data set training and recognition:

$> python2.7 eigenfaces.py att_faces

or if we want to include also the celebrity faces evaluation:

$> python2.7 eigenfaces.py att_faces celebrity_faces

Results

Under the results/ folder there will be a att_results.txt file containing detailed results from the evaluation over the test images (40% of all faces).

If a celebrity data set was specified, for each face in the celebrity data set, there will be a folder with results for it, including the Top 5 matches from the AT&T faces, as well as the similarity score between them.

Plotting

We can also plot (using gnuplot) the accuracy results, depending on how much energy we want to use to recognise the faces. Currently the different energy values to be tested are hard-coded to be multiples of 5, but this can easily be changed form energy.py.

$> python2.7 energy.py att_faces
$> gnuplot plot_energy.gpi

Algorithm Reference

Link to the description of the algorithm in the OpenCV documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.