# Face detection for different poses more robust than MTCNN?

I am using the MTCNN model described on machinelearningmastery here: MTCNN ipazc

But it won't detect certain orientations, ie. somebody lying on the ground so the top of the head points to the right of the frame and their chin to the left. Thus, I am going to cv2.flip on the y-axis and also rotate using the method described on pyimagesearch here: rotation of images to try the detect() method on at least 8 different orientations of the same frame and then output the one with the most detections.

This may or may not work very well on video when faces and objects need to be detected on every frame. Thus, I am looking for links to pretrained model zoos for MTCNN and other face detection, object detection and face recognition algorithms.

• @the flipping and rotating in addition to resizing is what demo.py for Tencent DFSD, described below, does so perhaps MTCNN can detect the side lying faces if these are performed when detecting with MTCNN. Aug 28 '19 at 8:23

## 1 Answer

If anyone is looking for something that is more robust than MTCNN, try this but you need GPU with Cuda I believe. It says Tesla P40 on requirements but that is for training only. I could infer on new images with the provided parameters on a GTX 1080 with Cuda. It's called DSFD from Tencent in China. Their results on some well known benchmark datasets surpass MTCNN. I can concur that it detected the above-mentioned side faces (not profile but lying sideways).
It is on Github: DSFD Tencent There is a demo.py where you can designate your own image as an arg on command line. If you figure out how to use this with CPU only, please let me know.