Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/happynear/faceverification
An Experimental Implementation of Face Verification, 96.8% on LFW.
https://github.com/happynear/faceverification
Last synced: 5 days ago
JSON representation
An Experimental Implementation of Face Verification, 96.8% on LFW.
- Host: GitHub
- URL: https://github.com/happynear/faceverification
- Owner: happynear
- Created: 2015-06-13T06:58:05.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-06-27T13:07:05.000Z (over 1 year ago)
- Last Synced: 2023-11-29T11:51:10.075Z (12 months ago)
- Language: Matlab
- Homepage:
- Size: 2.26 MB
- Stars: 442
- Watchers: 51
- Forks: 235
- Open Issues: 56
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FaceVerification
A messy code for developing a face verfication program.It includes a C++ face detection / alignment program, [joint bayesian](http://home.ustc.edu.cn/~chendong/JointBayesian/) and several supplementary codes. My Caffe model define file is also provided. Note that I use a fresh layer called Insanity to replace the ReLU activation. The Insanity layer can be found in [my Caffe repository](https://github.com/happynear/caffe-windows). Please feel free to use the codes if you need.
If you are also interested in face verification, please contact me via the issue.
The [CASIA-webface dataset](http://www.cbsr.ia.ac.cn/english/CASIA-WebFace-Database.html) is really very dirty, and I believe that if someone could wash it up, the accuracy would increase further. If you did so, please kindly contact me. I will pay for it.
**Good News:** [@潘泳苹果皮](http://weibo.com/maxpanyong) and his colleagues have washed the CASIA-webface database manually. After washing, 27703 wrong images are deleted. The washed list can be downloaded from http://pan.baidu.com/s/1hrKpbm8 . Great thanks to them!
Update
==========2017/04/21 The project page of my new paper, NormFace: L2 HyperSphere Embedding for Face Verification, is created on https://github.com/happynear/NormFace. Using the new loss functions to fine-tune a network, the accuracy will increase a little bit higher.
2017/02/18 I trained a [center-face](https://github.com/ydwen/caffe-face) model on [MS-Celeb-1M dataset](https://www.microsoft.com/en-us/research/project/ms-celeb-1m-challenge-recognizing-one-million-celebrities-real-world/) and get 99.3% on LFW. Here is the model (http://pan.baidu.com/s/1jIJT4Rc) and the aligned LFW images (http://pan.baidu.com/s/1bp7qzJh). To run the evaluation, you need to load LFW pairs by `getPairs.m` in `aligned_lfw.zip`, extract feature by `ReadFeatureLFW.m` and get the accuracy by `lfwPCA.m`. The function `pcaApply` used in `lfwPCA.m` is from [pdollar-toolbox](https://github.com/pdollar/toolbox).
**Recently I talked with Yandong Wen. He said that there were more than 1,000 identities' overlap between MS-Celeb-1M and LFW. So this accuracy, 99.3%, is not a reliable value, and the performance on other datasets may not be very good.**
2015/07/05 Added a matlab face alignment wrapper (MatAlignment.cpp). Now you can do the face alignment job in matlab. A demo (VerificationDemo.m) is also privided.
Progress
===========
1. Training DeepID (pure softmax network).create database. done.
iteration 360,000, lr=0.01,
lfw verification: L2 : 95.9%, jb :
iteration 500,000, lr=0.001,
lfw verification: L2 : 96.8%, jb : 93.3% (strongly overfit, it's >99% for lfw training set).
iteration 660,000, lr=0.0001,
lfw verification: L2 : 96.78% (converged)
Accuracy on training set is about 89.5%~91.5%. LFW result with L2 or cosine has reached what the paper claimed. Joint Bayesian seems to be strongly overfit. The main reason is that I only train Joint Bayesian on the lfw training set, not CASIA-WebFace. Joint Bayesian for over 10,000 classes is too costy for my PC.
This model is public available now: http://pan.baidu.com/s/1qXhNOZE . Mean file is in http://pan.baidu.com/s/1eQYEJU6 .
Another model with resolution of 64*64 is trained. By ensembling the two models, accuracy increases to 97.18%.
2. Training DeepID2 (siamese network)create database. done.
My GPU memory is only 2GB. It is too slow to train a siamese network. I need Titan X!!!