All Projects → akshaybahadur21 → Faceencoder

akshaybahadur21 / Faceencoder

Licence: mit
A face autoencoder for humans

Programming Languages

python
139335 projects - #7 most used programming language

FaceEncoder

This code helps to undertand the concept of Autoencoders. The autoencoder is trained on my facial dataset and it learns encoding of 1024 units from an input of 7500 pixels. This is a two step procedure.

  1. Encoder - which learns embedding from the input dimensions.
  2. Decoder - which recreates the image from the embedding created by the encoder.

Sourcerer

Types of Autoencoders used

  1. Simple Network
  2. Deep Network
  3. Convolutional Network

Code Requirements

You can install Conda for python which resolves all the dependencies for machine learning.

pip install requirements.txt

Description

An autoencoder is a type of artificial neural network used to learn efficient data codings in an unsupervised manner. The aim of an autoencoder is to learn a representation (encoding) for a set of data, typically for the purpose of dimensionality reduction. Recently, the autoencoder concept has become more widely used for learning generative models of data.

Dataset

Creating our own dataset

Python Implementation

  1. Network Used- Simple Network, Deep Network, Convolutional Network
  2. Technique - Autoencoders

If you face any problem, kindly raise an issue

Procedure

  1. First run LoadData.py which will load the images from folder 1 (you can change the name) and store it into a pickle file.
  2. Now, run FaceCoder.py which will train a simple, deep and a convolutional autoencoder and store it in h5 file.
  3. Now you need to have the data, run FaceApp.py which will use dlib library to get your face, encodes it and then decodes it to display the image.
  4. For altering the model, check FaceCoder.py.
  5. For tensorboard visualization, go to the specific log directory and run this command tensorboard --logdir=. You can go to localhost:6006 for visualizing your loss function.

References:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].