YOLOFace

Deep learning based Face detection using the YOLOv3 algorithm

Getting started

The YOLOv3 (You Only Look Once) is a state-of-the-art, real-time object detection algorithm. The published model recognizes 80 different objects in images and videos. For more details, you can refer to this paper.

YOLOv3's architecture

Imgur

Credit: Ayoosh Kathuria

OpenCV Deep Neural Networks (dnn module)

OpenCV dnn module supports running inference on pre-trained deep learning models from popular frameworks such as TensorFlow, Torch, Darknet and Caffe.

Prerequisites

Development for this project will be isolated in Python virtual environment. This allows us to experiment with different versions of dependencies.

There are many ways to install virtual environment (virtualenv), see the Python Virtual Environments: A Primer guide for different platforms, but here are a couple:

Create a Python 3.6 virtual environment for this project and activate the virtualenv:

$ virtualenv -p python3.6 yoloface
$ source ./yoloface/bin/activate

Next, install the dependencies for the this project:

$ pip install -r requirements.txt

Usage

image input

$ python yoloface.py --image samples/outside_000001.jpg --output-dir outputs/

video input

$ python yoloface.py --video samples/subway.mp4 --output-dir outputs/

webcam

$ python yoloface.py --src 1 --output-dir outputs/

Sample outputs

Imgur

License

This project is licensed under the MIT License - see the LICENSE.md file for more details.

References