Awesome
Recent Update
2018.07.04
: I achieved a better accuracy(99.2%,trained model) on LFW. I did some modification as bellow:
- Align webface and lfw dataset to
112x112
(casia-112x112,lfw-112x112) using insightface align method - Set a bigger margin parameter (
0.35
) and a higher feature embedding demension (1024
) - Use the clean dataset and the details can be seen this
CosFace
This project is aimmed at implementing the CosFace described by the paper CosFace: Large Margin Cosine Loss for Deep Face Recognition. The code can be trained on CASIA-Webface and the best accuracy LFW is 98.6%. The result is lower than reported by paper(99.33%), which may be caused by sphere network implemented in tensorflow. I train the sphere network implemented in tensorflow using the softmax loss and just obtain the accuracy 95.6%, which is more lower than caffe version(97.88%).
Preprocessing
I supply the preprocessed dataset in baidu pan:CASIA-WebFace-112X96,lfw-112X96. You can download and unzip them to dir dataset
.
If you want to preprocess the dataset by yourself, you can refer to sphereface.
Train
./train.sh
Test
Modify the MODEL_DIR
in test.sh
and run ./test.sh
.
If you do not want to train your model, you can download my trained model and unzip it to models
dir.