This Deep Face Representation Experiment is based on Convolution Neural Network to learn a robust feature for face verification task. The popular deep learning framework caffe is used for training on CASIA-WebFace dataset and the feature extraction is realized by python code caffe_ftr.py.
code: data pre-processing and evaluation code.
model: caffemodel and solverstate.
proto: convolution network configuration.
results: LFW features.
Data Pre-processing
1). Download CASIA-WebFace dataset which contains 493456 face images of 10575 identities.
2). All face images are converted to gray-scale images and normalized to 144x144 according to landmarks.
3). According to the 5 facial points, we not only rotate two eye points horizontally but also set the distance between the midpoint of eyes and the midpoint of mouth(ec_mc_y), and the y axis of midpoint of eyes(ec_y) .
Dataset | size | ec_mc_y | ec_y |
---|---|---|---|
CASIA-WebFace | 144x144 | 48 | 48 |
lfw | 128x128 | 48 | 40 |
Training
1). The model is trained by open source deep learning framework caffe.
2). The network configuration is showed in "proto" file and the trained model is showed in "model" file.
Evaluation
1). The model is evaluated on LFW data set which is a popular data set for face verification task.
2). The feature extraction is used by python program caffe_ftr.py. The extracted features and lfw testing pairs are located in "results" file.
3). To evaluate the model, the matlab code or other ROC evaluation code can be used.
Results
The single convolution net testing is evaluated on unsupervised setting only computing cosine similarity for lfw pairs.
Dataset | EER | TPR@0.01 | TPR@0.001 | TPR@0 |
---|---|---|---|---|
lfw | 97.77% | 94.80% | 84.37% | 43.17% |