Skip to content
This repository has been archived by the owner on Feb 23, 2019. It is now read-only.

MargaretaKusan/project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a face recognition software compiled using:
 - Matconvnet library (http://www.vlfeat.org/matconvnet/#matconvnet-cnns-for-matlab) [2]
 - pretrained CNN from VGG project (http://www.vlfeat.org/matconvnet/training/) [1]
 - face detection: DPM implementation of http://markusmathias.bitbucket.org/2014_eccv_face_detection/ [3] using cascade detector [4]

--------------------------
Installation instructions: 
--------------------------

 1. Download Matconvnet library : http://www.vlfeat.org/matconvnet/#obtaining-matconvnet (I am using 1.0-beta17 version)
 2. Using Installation instructions compile and install the library (you can compile it for CPU and GPU support, depends on your machine): http://www.vlfeat.org/matconvnet/install/#compiling 
 3. Download VGG project : http://www.robots.ox.ac.uk/~vgg/software/vgg_face/src/vgg_face_matconvnet.tar.gz
 4. Unpack VGG project in desired repository
 5. Copy files vl_nnconv.mex* and vl_nnpool.mex* (from the library PATH/matconvnet-[version]/matlab/mex/) to PATH/vgg_face_matconvnet/+lib/+face_feats/@convNet directory. If using Cuda and CuDNN they need to be in the matlab path. Set useGPU and cudnn flags in convNet.m correctly depending upon whether the MatConvNet is compiled with or without GPU support and CuDNN respectively.
 6. Edit Makefile in PATH/vgg_face_matconvnet/+lib/+face_detector/@dpmCascadeDetector and specify correct path to mex by modifying variable mexCMD. Then use make to compile the source code.

 or 

 1. Download or clone this repository.
 2. Compile and install matconvnet library (matconvnet-1.0-beta17) using Installation instructions http://www.vlfeat.org/matconvnet/install/#compiling
 3. Compile face detector in /vgg_face_matconvnet/+lib/+face_detector/@dpmCascadeDetector using make
 4. Download the pretrained CNN from google drive repository: https://drive.google.com/file/d/0Bz32r86_Cd1TVVZ2OFowYmtqck0/view?usp=sharing and place it into PATH/vgg_face_matconvnet/data/ 

 At the moment of writing this, vgg_face_matconvnet implementation of face detection does not include mex files for Windows, only Mac and Linux. If you have to run it on Windows, you can use another face detector implementation that works on Windows. 


---------------
Running demo.m:
---------------
Open demo.m from PATH/vgg_face_matconvnet/ , it shows example for using the library.

If downlading VGG project from the provided website link, just download demo.m from this github repository, from folder /vgg_face_matconvnet/demo.m and replace/copy it next to default demo.m obtained from the download link. The difference between the two is that this demo.m provides class description output and shows the score while their demo.m only gives the class number.
Start the demo.m in matlab.



This code was run and tested on Lenovo Z560 - Intel Core i3, 4GB RAM, operating system is Linux Mint 17.3. Cinnamon 64-bit, 
graphics card is NVIDIA GeForce 310M with CUDA compute capability of 1.2 which is not enough to power the MATLAB code with GPU support, 
so all the code was compiled for CPU only. 



----------
References
----------

[1] O. M. Parkhi, A. Vedaldi, A. Zisserman
Deep Face Recognition  
British Machine Vision Conference, 2015.

[2] A. Vedaldi, K. Lenc
MatConvNet - Convolutional Neural Networks for MATLAB  
arXiv:1412.4564, 2014.

[3] M. Mathias, R. Benenson, M. Pedersoli, L. Van Gool
Face detection without bells and whistles
European Conference on Computer Vision, 2014.

[4] P. Felzenszwalb, R. Girshick, D. McAllester
Cascade Object Detection with Deformable Part Models
Computer Vision and Pattern Recognition 2010.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published