Face-detection-with-mobilenet-ssd icon indicating copy to clipboard operation
Face-detection-with-mobilenet-ssd copied to clipboard

Face detection with mobilenet-ssd written by tf.keras.

Description

This is a implementation of mobilenet-ssd for face detection written by keras, which is the first step of my FaceID system. You can find another two repositories as follows:

  1. Face-detection-with-mobilenet-ssd
  2. Face-Alignment-with-simple-cnn
  3. Face-identification-with-cnn-triplet-loss

Prepare data

  1. You are advised to use CUDA-compatible GPUs to train the model.
  2. Download WIDER Face from Official Website , and put it into data_path folder in face_train.ipynb.
  3. wider_extract.py has been modified to show the method of exctracting faces from the datasets. It's easy to follow.

Requirements

  1. tensorflow >= 2.3
  2. python >= 3.5

Train

  1. Follow face_train.ipynb step by step. You can change the parameters for better performance.
  2. wider_train_small.npy and wider_val_small.npy are made to testing the network. If you don't have enough gpu resources, you can also use them for training.

Test

Here are some testing results. It seems good but improvement is still needed. For example, the Bbox is a little bit inaccurate.

To do

  1. Evaluation is on the way.
  2. MobileNetV2 version.

License

MIT LICENSE

References

  1. rykov8/ssd_keras
  2. rcmalli/keras-mobilenet