You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.1 KiB
56 lines
2.1 KiB
# MobileFaceNet
|
|
|
|
## Introduction
|
|
* This repository is the pytorch implement of the paper: [MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices](https://arxiv.org/pdf/1804.07573.pdf) and I almost follow the implement details of the paper.
|
|
* I train the model on CASIA-WebFace dataset, and evaluate on LFW dataset.
|
|
|
|
## Requirements
|
|
|
|
* Python 3.5
|
|
* pytorch 0.4+
|
|
* GPU memory
|
|
|
|
## Usage
|
|
|
|
### Part 1: Preprocessing
|
|
|
|
* All images of dataset are preprocessed following the [SphereFace](https://github.com/wy1iu/sphereface) and you can download the aligned images at [Align-CASIA-WebFace@BaiduDrive](https://pan.baidu.com/s/1k3Cel2wSHQxHO9NkNi3rkg) and [Align-LFW@BaiduDrive](https://pan.baidu.com/s/1r6BQxzlFza8FM8Z8C_OCBg).
|
|
|
|
### Part 2: Train
|
|
|
|
1. Change the **CAISIA_DATA_DIR** and **LFW_DATA_DAR** in `config.py` to your data path.
|
|
|
|
2. Train the mobilefacenet model.
|
|
|
|
**Note:** The default settings set the batch size of 512, use 2 gpus and train the model on 70 epochs. You can change the settings in `config.py`
|
|
```
|
|
python3 train.py
|
|
```
|
|
|
|
### Part 3: Test
|
|
|
|
1. Test the model on LFW.
|
|
|
|
**Note:** I have tested `lfw_eval.py` on the caffe model at [SphereFace](https://github.com/wy1iu/sphereface), it gets the same result.
|
|
|
|
```
|
|
python3 lfw_eval.py --resume --feature_save_dir
|
|
```
|
|
* `--resume:` path of saved model
|
|
* `--feature_save_dir:` path to save the extracted features (must be .mat file)
|
|
|
|
## Results
|
|
|
|
* You can just run the `lfw_eval.py` to get the result, the accuracy on LFW like this:
|
|
|
|
| Fold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | AVE(ours) | Paper(112x96) |
|
|
| ------ |------|------|------|------|------|------|------|------|------|------| ------ | ------ |
|
|
| ACC | 99.00 | 99.00 | 99.00 | 98.67 | 99.33 | 99.67 | 99.17 | 99.50 | 100.00 | 99.67| **99.30** | 99.18 |
|
|
|
|
|
|
## Reference resources
|
|
|
|
* [arcface-pytorch](https://github.com/ronghuaiyang/arcface-pytorch)
|
|
* [SphereFace](https://github.com/wy1iu/sphereface)
|
|
* [Insightface](https://github.com/deepinsight/insightface)
|