Face Recognition can be used as a test framework for several face recognition methods including the Neural Networks with TensorFlow and Caffe.
It includes following preprocessing algorithms:
- Grayscale
- Crop
- Eye Alignment
- Gamma Correction
- Difference of Gaussians
- Canny-Filter
- Local Binary Pattern
- Histogramm Equalization (can only be used if grayscale is used too)
- Resize
You can choose from the following feature extraction and classification methods:
- Eigenfaces with Nearest Neighbour
- Image Reshaping with Support Vector Machine
- TensorFlow with SVM or KNN
- Caffe with SVM or KNN
The manual can be found here https://github.com/Qualeams/Android-Face-Recognition-with-Deep-Learning/blob/master/USER%20MANUAL.md
At the moment only armeabi-v7a devices and upwards are supported.
For best experience in recognition mode rotate the device to left.
For best performance use "Image Reshaping with Support Vector Machine" (0.5 s / image).
For best accuracy use the "VGG Face Descriptor" model (the performance is very bad though - 6.5 s/ image)
_______________________________________________________________
TensorFlow:
If you want to use the Tensorflow Inception5h model, download it from here:
https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip
Then copy the file "tensorflow_inception_graph.pb" to "/sdcard/Pictures/facerecognition/data/TensorFlow"
Use these default settings for a start:
Number of classes: 1001 (not relevant as we don't use the last layer)
Input Size: 224
Image mean: 128
Output size: 1024
Input layer: input
Output layer: avgpool0
Model file: tensorflow_inception_graph.pb
---------------------------------------------------------------------------------------------------------
If you want to use the VGG Face Descriptor model, download it from here:
https://www.dropbox.com/s/51wi2la5e034wfv/vgg_faces.pb?dl=0
Caution: This model runs only on devices with at least 3 GB or RAM.
Then copy the file "vgg_faces.pb" to "/sdcard/Pictures/facerecognition/data/TensorFlow"
Use these default settings for a start:
Number of classes: 1000 (not relevant as we don't use the last layer)
Input Size: 224
Image mean: 128
Output size: 4096
Input layer: Placeholder
Output layer: fc7/fc7
Model file: vgg_faces.pb
_______________________________________________________________
Caffe:
If you want to use the VGG Face Descriptor model, download it from here:
http://www.robots.ox.ac.uk/~vgg/software/vgg_face/src/vgg_face_caffe.tar.gz
Caution: This model runs only on devices with at least 3 GB or RAM.
Then copy the files "VGG_FACE_deploy.prototxt" and "VGG_FACE.caffemodel" to "/sdcard/Pictures/facerecognition/data/caffe"
Use these default settings for a start:
Mean values: 104, 117, 123
Output layer: fc7
Model file: VGG_FACE_deploy.prototxt
Weights file: VGG_FACE.caffemodel
_______________________________________________________________
The license files can be found here https://github.com/Qualeams/Android-Face-Recognition-with-Deep-Learning/blob/master/LICENSE.txt and here https://github.com/Qualeams/Android-Face-Recognition-with-Deep-Learning/blob/master/NOTICE.txt