A PyTorch implementation of A Light CNN for Deep Face Representation with Noisy Labels from the paper by Xiang Wu, Ran He, Zhenan Sun and Tieniu Tan. The official and original Caffe code can be found here.
100% - EER
on LFW achieves 99.43%.100% - EER
on LFW achieves 99.40%.100% - EER
on LFW obtains 98.70%. The aligned LFW images are uploaded on Baidu Yun.
Dataset | size | ec_mc_y | ec_y |
---|---|---|---|
Training set | 144x144 | 48 | 48 |
Testing set | 128x128 | 48 | 40 |
To train Light CNN using the train script simply specify the parameters listed in train.py
as a flag or manually change them.
python train.py --root_path=/path/to/your/datasets/ \
--train_list=/path/to/your/train/list.txt \
--val_list=/path/to/your/val/list.txt \
--save_path=/path/to/your/save/path/ \
--model="LightCNN-9/LightCNN-29" --num_classes=n
Tips:
load_imglist.py
. Or you can use torchvision.datasets.ImageFolder
to load your datasets.num_classes
denotes the number of identities in your training dataset.num_classes
is 80013. python extract_features.py --resume=/path/to/your/model \
--root_path=/path/to/your/datasets/ \
--img_list=/path/to/your/list.txt \
--save_path=/path/to/your/save/path/ \
--model="LightCNN-9/LightCNN-29/LightCNN-29v2"\
--num_classes=n (79077 for LightCNN-9/LightCNN-29, 80013 for LightCNN-29v2)
vlfeat
or sklearn
to evaluate the features on ROC and obtain EER
and TPR@FPR
for your testing datasets. train.py
. The Light CNN performance on lfw 6,000 pairs.
Model | 100% - EER | TPR@FAR=1% | TPR@FAR=0.1% | TPR@FAR=0 |
---|---|---|---|---|
LightCNN-9 | 98.70% | 98.47% | 95.13% | 89.53% |
LightCNN-29 | 99.40% | 99.43% | 98.67% | 95.70% |
LightCNN-29v2 | 99.43% | 99.53% | 99.30% | 96.77% |
LightCNN v4 | 99.67% | 99.67% | 99.57% | 99.27% |
The Light CNN performance on lfw BLUFR protocols
Model | VR@FAR=0.1% | DIR@FAR=1% |
---|---|---|
LightCNN-9 | 96.80% | 83.06% |
LightCNN-29 | 98.95% | 91.33% |
LightCNN-29v2 | 99.41% | 94.43% |
The Light CNN performance on MegaFace
Model | Rank-1 | TPR@FAR=1e-6 |
---|---|---|
LightCNN-9 | 65.782% | 76.288% |
LightCNN-29 | 72.704% | 85.891% |
LightCNN-29v2 | 76.021% | 89.740% |
If you use our models, please cite the following paper:
@article{wu2018light,
title={A light CNN for deep face representation with noisy labels},
author={Wu, Xiang and He, Ran and Sun, Zhenan and Tan, Tieniu},
journal={IEEE Transactions on Information Forensics and Security},
volume={13},
number={11},
pages={2884--2896},
year={2018},
publisher={IEEE}
}