#Face Verification on Android
Face verification with mxnet on android
##Face Detection
OpenCV has an in-built Viola-Jones face detector which is used here to detect faces.
##Face Verification
I use pre-trained LightenedCNN as feature extractor.
For more information please read the original paper
My notes about this paper: Lightened CNN
The similarity metric is cosine similarity. The threshold should be about 0.5 ,and it should be adjusted according to specific applications.
##Face Alignment
I use VanillaCNN to detect facial landmarks. This step is crucial for high accuracy.
The paper can be found below
http://www.openu.ac.il/home/hassner/projects/tcnn_landmarks/
My notes about this paper:VanillaCNN
The face is aligned by three landmarks including two inter-ocular points and one mid-mouth point. Affine transformation is applied with these three points.
##MXNet
MXNet is a great deep learning framework and can be used on Android efficiently and flexibly.
I have compiled mxnet for android with ndk-r13b. You can alse refer to my blog for more details.
You can also download compiled libmxnet_predict.so here
##Result
I test on my Xiaomi 4C (Snapdragon 808) and I get about 1.5s per image.