Face Detection bad accuracy

I am trying to make a face detection app. I have followed the example of vision.CascadeObjectDetector as done in the example (<http://www.mathworks.com/help/vision/examples/face-detection-and-tracking-using-camshift.html)>. Unfortunatelly the accuracy is not good enough it detects some background or objrcts as faces. How can I improve it ?

 Accepted Answer

Dima Lisin
Dima Lisin on 30 Nov 2015
There are several options in the vision.CascadeObjectDetector that you can tweak. If you know how large you expect the faces to be in your images, you can set MinSize and MaxSize to eliminate the false detections that are too small or too big to be a face. You can also try increasing MergeThreshold, or set an ROI (region of interest) to exclude the parts of the image where you do not expect to see any faces at all.
Alternatively, you can also try using a different model: Frontal Face (LBP) instead of the default Frontal Face (CART). You can also try detecting the upper bodies, using the Upper Body model, and then detect the faces inside the resulting bounding boxes.

2 Comments

Thanks for your reply. I will try these silutions.
If I want to detect upper body first, I need to crop the bounding box for upper body then detect face in the cropped upper body image right?

Sign in to comment.

More Answers (1)

Justin Pinkney
Justin Pinkney on 31 Jan 2020
You can try this deep learning based face detector: https://github.com/matlab-deep-learning/mtcnn-face-detection
It has much better performance than the built in vision.CascadeObjectDetector

Asked:

on 27 Nov 2015

Commented:

L H
on 21 Dec 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!