MATLAB Answers

Face Detection bad accuracy

12 views (last 30 days)
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 ?

  0 Comments

Sign in to comment.

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

Mohammed Hagras
Mohammed Hagras on 30 Nov 2015
Thanks for your reply. I will try these silutions.
Aj_ti
Aj_ti on 23 Jun 2016
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

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by