This is the Pytorch implementation of our TPAMI 2021 paper
End2End Occluded Face Recognition by Masking Corrupted Features.
Haibo Qiu, Dihong Gong, Zhifeng Li, Wei Liu and Dacheng Tao
Main packages:
Or directly create a conda env with
conda env create -f environment.yml
Training data (data/datasets
) and pretrained models (pretrained/
) can be found here (Google drive, BaiduYun:76n5). CASIA-112x96-LMDB.lmdb
is for training, lfws.zip
and ar_face_data.tar.gz
are for testing.
(Optional) Please refer to data/generate_lmdb.py
in case you want to know the lmdb file generation of training data.
(Optional) Please refer to data/generate_occ_lfw.py
in case you want to know the occluded testing images generation.
Simply run the following script:
bash start.sh
To reproduce the results in our paper, please download the pretrained models and put them in pretrained/
, then run:
bash eval.sh
For megaface testing, the related commonds are included in eval.sh
. Current lib/core/megaface_mp.py
generates npy file for each sample, which can be evaluated with FaceX-Zoo. Or you can switch the generated function in lib/core/megaface_mp.py
to produce bin file and use official devkit for evaluation.
The AR Face dataset evaluation scripts are also included in eval.sh
.
The code is partially developed from PDSN. The occluders images are also from PDSN.
If you use our code or models in your research, please cite with:
@article{qiu2021end2end,
title={End2End occluded face recognition by masking corrupted features},
author={Qiu, Haibo and Gong, Dihong and Li, Zhifeng and Liu, Wei and Tao, Dacheng},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
year={2021},
publisher={IEEE}
}