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.
-
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
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:
see mtcnn_detector.py
for the details about the parameters. this function use dlib's align strategy, which works well on profile images :)
MIT LICENSE
/
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