/mtcnn_python3

MTCNN face detection

Primary LanguagePython

MTCNN_face_detection_and_alignment using PYTHON3

About

This is a python3/mxnet implementation of Zhang's work . it's fast and accurate, see link.

It should have almost the same output with the original work, for mxnet fans and those can't afford matlab :)

This is a fork from (https://github.com/pangyupo/mxnet_mtcnn_face_detection) repository.

Requirement

  • opencv

    ​ I use cv2 for image io and resize(much faster than skimage), the input image's channel is acutally BGR

  • mxnet

    ​ If you want to use GPU, you have to install mxnet-cuxx - xx should be replaced by your cuda version (example mxnet-cu92 for Cuda 9.2)

Only tested on Linux in CPU mode

Test

run:

python3 main.py

you can change ctx to mx.gpu(0) for faster detection

--- update 20161028 ---

by setting num_worker=4 accurate_landmark=False we can reduce the detection time by 1/4-1/3, the bboxes are still the same, but we skip the last landmark fine-tune stage( mtcnn_v1 ).

--- update 20161207 ---

add function extract_face_chips, examples:

1 2 3 4

see mtcnn_detector.py for the details about the parameters. this function use dlib's align strategy, which works well on profile images :)

Results

big4

License

MIT LICENSE

/

Reference

K. Zhang and Z. Zhang and Z. Li and Y. Qiao Joint, Face Detection and Alignment Using Multitask Cascaded Convolutional Networks, IEEE Signal Processing Letters