Code for IQIYI-VID Challenge based on ESSH and Insightface
Recently www.iqiyi.com released a great video person dataset called IQIYI_VID and also launched a person search competition on it. It is a very large and real dataset worth trying to verify your face model accuracy precisely.
This repository contains the code for IQIYI-VID(IQIYI video person identification) Challenge. The methods are implemented in Python and MXNet. The Enhanced SSH (ESSH) from enhanced-ssh-mxnet is applied for face detection and alignment. Insightface scheme is used for face recognition.
Pre-trained models can be downloaded on BaiduCloud or GoogleDrive.
Environment
This repository has been tested under the following environment:
- Python 2.7
- Ubuntu 18.04
- Mxnet-cu90 (==1.3.0)
Installation
-
Prepare the environment.
-
Clone the repository.
-
Type
make
to build necessary cxx libs. -
Download the pre-trained model and place it in
./model/
-
Download the IQIYI-VID Datasets from IQIYI_VID and unzip them to your disk.
Usage
-
Use
python detect.py
to train+val dataset and test dataset respectively for face detection. -
Use
python feature.py
to detections of train+val and test dataset respectively for feature extraction. -
Use
python genfeat.py
to re-save the extracted face features for training the MLP network. -
Run
train_mlp.py
to train the MLP network for face ID recognition using train+val datasets. -
Run
python predict.py
to features of test dataset for predicting face ID using the trained MLP network. -
Run
python submit.py
to output the final submissions for IQIYI-VID Challenge.
License
MIT LICENSE
Reference
@article{deng2018arcface,
title={ArcFace: Additive Angular Margin Loss for Deep Face Recognition},
author={Deng, Jiankang and Guo, Jia and Niannan, Xue and Zafeiriou, Stefanos},
journal={arXiv:1801.07698},
year={2018}
}
@inproceedings{Najibi2017SSH,
title={SSH: Single Stage Headless Face Detector},
author={Najibi, Mahyar and Samangouei, Pouya and Chellappa, Rama and Davis, Larry S.},
booktitle={IEEE International Conference on Computer Vision},
year={2017},
}
Acknowledgment
The code is adapted based on an intial fork from the insightface repository.