Git Product home page Git Product logo

deepfacialexpression's Introduction

deepfacialexpression

#Introduction This repository contains all information, data and source-code used in my Master Thesys.

#Pre-Requisites

  • CUDA

  • OpenCv

  • Caffe

CUDA INSTALLATION (for Linux Ubuntu 12.04 LTS)

  1. Check for CUDA device on the computer. If any, the description of the devices will be shown.

    • lspci | grep -i nvidia
  2. Check for the GCC installation

    • gcc --version
  3. Download the CUDA version for your Graphics Card architecture and Operational System.

  4. Add the downloaded file to the linux repository

    • sudo dpkg -i cuda-repo-.deb
  5. Update the repository

    • sudo apt-get update
  6. Install

    • sudo apt-get install cuda
  7. Update Environment Variables

    • export PATH=/usr/local/cuda-7.0/bin:$PATH
    • export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
  8. Test

    • nvcc -V
  9. (Optional) Install examples.

    • /usr/loca/cuda-7.0/cuda-install-samples-7.0.sh /home

CAFFE INSTALLATION

  1. General Dependences

    • sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
    • sudo apt-get install --no-install-recommends libboost-all-dev
  2. BLAS

    • sudo apt-get install libatlas-base-dev
  3. OpenCv

  4. Other Dependences (for Ubuntu 12.04 LTS)

#Get the Source

  1. Download the caffe and data directories from this repository. After the download, the directories showld be in the same parent directory.

  2. Go to caffe directory

  3. Compile

    • cmake .
    • make all
  4. Everything showld compile without errors.

#Get the Data

  1. Request your copy of the Cohn-Kanade database from

  2. The database needs to be separated in the eigth non-overlap groups, to perform the experiments in the right way. To separate the data, extract the Cohn-Kanade data to the folders G1 to G8, put the files in theses folders according to the file label.txt.

  3. To replicate the experiments described in the dissertation the sinthetic samples need to be generated. To perform this, use the generateData.cpp code, stored in the tools folder.

  4. To generate the synthetic data, from the caffe root directory, run:

    • make all
    • ./tools/generateData
  5. Open the file data/synthetic/solver.prototxt and change the firts line, the path to the file train.prototxt should contains the absolute path to the file (the file is in the same folder as the solver.prototxt).

#Run Training

  1. The training source-code is stored in the file trainDeepFace.cpp, inside the tools folder.

  2. From the caffe root directory, run:

    • make all
    • ./tools/trainDeepFace

#Run Testing

  1. Open the file trainDeepFace.cpp and change the method called in tha Main, to test(). Remember of commenting the line that calls the train() method.

  2. From the caffe root directory, run:

    • make all
    • ./tools/trainDeepFace
  3. Evaluate: The files with the patter summary_GTIT0. are the best results, selected with the validation group. The .txt files, contains the confusion matrixes and the accuracy for both classifiers, the n-class and the binary. The .net files are the networks weights that archieve the results shown in the text files.

deepfacialexpression's People

Contributors

andreteixeiralopes avatar

Stargazers

 avatar Rongzhi avatar Fernando Tinelli avatar

Watchers

 avatar Charles Prado avatar Ömer Faruk SÖYLEMEZ avatar

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.