A mobilenet SSD(single shot multibox detector) based face detector with pretrained model provided, powered by tensorflow object detection api, trained by WIDERFACE dataset.
Speed, run 60fps on a nvidia GTX1080 GPU.
Memory, requires less than 364Mb GPU memory for single inference.
Robust, adapt to different poses, this feature is credit to WIDERFACE dataset, I manually cleaned the dataset to balance the precision and recall trade off.
Parallel, multiple process video processing, can inference multiple input simultaneously, I tested to process 4 videos on a single GPU card at the same time, the speed is still competitive, and there's still room to accommodate more processes.
Tensorflow > 1.2
Tensorflow object detection api (Please follow the official installation instruction, otherwise, I cannot guarantee that you can run the code)
OpenCV python
Click Youtube to view the effect or Youku.
Click here to download the pre-trained model from google drive. Put the model under the model folder.
Put your test video (mp4 format) under the media folder, rename it as test.mp4.
At the source root
python inference_video_face.py
After finished the processing, find the output video at media folder.
Usage of the code and model by yeephycho is under the license of Apache 2.0.
The code is based on GOOGLE tensorflow object detection api. Please refer to the license of tensorflow.
Dataset is based on WIDERFACE dataset. Please refer to the license to the WIDERFACE license.