Paper link: https://arxiv.org/abs/1803.06524
by Wei Hu, Yangyu Huang, Fan Zhang, Ruirui Li, Wei Li, Guodong Yuan
2018.06.09
: 1.Our new ResNet-64 model achieved 99.87% accuracy on LFW, 98.16%(clean) and 83.58%(not clean) accuracy on Megaface challenge 1.
2018.05.04
: 1.Our new ResNet-64 model achieved 99.85% accuracy on LFW without 6 pairs correction.
2018.03.21
: 1.Release the code of LSRLoss and DSALoss layer; 2.Add example of Seqface.
2018.03.20
: 1.Publish our paper; 2.Release test dataset and test code.
2018.03.15
: 1.Create the repository; 2.Release our model.
-
Caffe
(see: Caffe installation instructions) -
MTCNN
(see: MTCNN - face detection & alignment)
All faces in our dataset are detected by MTCNN and aligned by util.py. The structure of trainning dataset and testing dataset is shown below. Please note that the testing dataset have already be processed by detection and alignment, So you can reproduce our result directly by running our evaluating script.
Training Dataset
MS-Celeb-1M
+ Celeb-Seq
Testing Dataset
LFW
@BaiduDrive, @GoogleDrive
YTF
@BaiduDrive, @GoogleDrive
Testing Features
You can also use the precomputed feature instead of the testing dataset to evaluate our method.
LFW
: @BaiduDrive, @GoogleDrive
YTF
: @BaiduDrive, @GoogleDrive
We released our ResNet-27 model, which can be downloaded by the link below. The model was trained in caffe, please refer to our paper for the detailed training process.
Caffe: ResNet-27
@BaiduDrive, @GoogleDrive (non-commercial use only)
Performance:
Dataset | Model | Dataset | LFW | YTF |
---|---|---|---|---|
SeqFace | 1 ResNet-27 | MS-Celeb-1M + Celeb-Seq | 99.80 | 98.00 |
SeqFace | 1 ResNet-64 | MS-Celeb-1M + Celeb-Seq | 99.83 | 98.12 |
Refer to run.sh, which contains two parameters, the first one("mode") means the running mode you use("feature" or "model"), the other one("dataset") means the dataset you choose("LFW" or "YTF").
step 1: git clone https://github.com/ydwen/caffe-face.git
step 2: compile caffe
step 3: download model and testing dataset, then unzip them
step 4: run evaluate.py in LFW or YTF directory
You can try the command below to verify seqface of LFW dataset in feature mode.
./run.sh feature LFW
The usage of LSR loss layer and DSA loss layer in train_val.prototxt:
layer {
name: "lsro_loss"
type: "LSROLoss"
bottom: "fc6"
bottom: "label000"
top: "lsro_loss"
loss_weight: @loss_weight
}
layer {
name: "dsa_loss"
type: "DSALoss"
bottom: "fc5"
bottom: "label000"
top: "dsa_loss"
param {
lr_mult: 1
decay_mult: 0
}
dsa_loss_param {
faceid_num: @faceid_num
seqid_num: @seqid_num
center_filler {
type: "xavier"
}
lambda: @lambda
dropout_ratio: @dropout_ratio
gamma: @gamma
alpha: @alpha
beta: @beta
use_normalize: @use_normalize
scale: @scale
}
loss_weight: @loss_weight
}
You can experience our algorithm on demo page
Waiting
SeqFace(not including the model) is released under the MIT License